From 8b34b219fb6d46d35ffe179e8f9627f72fed4076 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:18:58 -0400 Subject: [PATCH 01/73] chore(repo): pin toolchain to node 22 + pnpm 8.15.9 - add .nvmrc (node 22) and packageManager field - fixes toolchain drift: global pnpm 11 needs node >=22.13 but active node was 20, and repo pinned nothing - pnpm 8.15.9 matches existing lockfileVersion 6.1; pre-9.0 lift keeps pnpm 8, full stack bump comes next step Co-Authored-By: Claude Opus 4.8 (1M context) --- .nvmrc | 1 + package.json | 1 + 2 files changed, 2 insertions(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..2bd5a0a98 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 diff --git a/package.json b/package.json index 7cbc27899..6777aa865 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "automapper", "version": "0.0.0", "license": "MIT", + "packageManager": "pnpm@8.15.9", "scripts": { "commit": "git-cz", "contributors:init": "all-contributors init", From c9237483ad12de3c8ceddaa856c0cacccaf9b117 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:36:20 -0400 Subject: [PATCH 02/73] chore(repo): migrate nx 15 -> 16 - @nrwl/* -> @nx/* package rename (devkit, jest, js, linter, nest, rollup, web, workspace); nx-cloud runner + package rename - nx 16 migration scripts: project.json executors, nx.json, eslint plugin - gate green: 8 packages build, 114 integration tests + unit suites pass Co-Authored-By: Claude Opus 4.8 (1M context) --- .eslintrc.json | 8 +- jest.config.ts | 2 +- jest.preset.js | 2 +- nx.json | 20 +- package.json | 34 +- packages/classes/mapped-types/project.json | 6 +- packages/classes/project.json | 6 +- .../classes/transformer-plugin/project.json | 6 +- .../classes/transformer-plugin/src/README.md | 2 +- packages/core/project.json | 6 +- .../docs/misc/transformer-plugin.mdx | 2 +- .../docs/misc/transformer-plugin.mdx | 2 +- packages/integration-test/project.json | 4 +- packages/mikro/project.json | 6 +- packages/nestjs/project.json | 6 +- packages/pojos/project.json | 6 +- packages/sequelize/project.json | 6 +- packages/zod/project.json | 6 +- pnpm-lock.yaml | 3133 ++++------------- tools/generators/.gitkeep | 0 tools/scripts/publish.mjs | 2 +- 21 files changed, 788 insertions(+), 2477 deletions(-) delete mode 100644 tools/generators/.gitkeep diff --git a/.eslintrc.json b/.eslintrc.json index 12f3a13b3..f21e2edfe 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,12 +1,12 @@ { "root": true, "ignorePatterns": ["**/*"], - "plugins": ["@nrwl/nx"], + "plugins": ["@nx"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], "rules": { - "@nrwl/nx/enforce-module-boundaries": [ + "@nx/enforce-module-boundaries": [ "error", { "enforceBuildableLibDependency": true, @@ -23,12 +23,12 @@ }, { "files": ["*.ts", "*.tsx"], - "extends": ["plugin:@nrwl/nx/typescript"], + "extends": ["plugin:@nx/typescript"], "rules": {} }, { "files": ["*.js", "*.jsx"], - "extends": ["plugin:@nrwl/nx/javascript"], + "extends": ["plugin:@nx/javascript"], "rules": {} } ] diff --git a/jest.config.ts b/jest.config.ts index 31b55d37a..b9717841d 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -1,4 +1,4 @@ -const { getJestProjects } = require('@nrwl/jest'); +const { getJestProjects } = require('@nx/jest'); export default { projects: getJestProjects(), diff --git a/jest.preset.js b/jest.preset.js index 4ed37a658..49b7102db 100644 --- a/jest.preset.js +++ b/jest.preset.js @@ -1,4 +1,4 @@ -const nxPreset = require('@nrwl/jest/preset').default; +const nxPreset = require('@nx/jest/preset').default; module.exports = { ...nxPreset, diff --git a/nx.json b/nx.json index 308b5dc7d..fa83767f9 100644 --- a/nx.json +++ b/nx.json @@ -1,15 +1,7 @@ { - "extends": "nx/presets/core.json", - "npmScope": "automapper", - "affected": { - "defaultBase": "main" - }, - "cli": { - "defaultCollection": "@nrwl/workspace" - }, "tasksRunnerOptions": { "default": { - "runner": "@nrwl/nx-cloud", + "runner": "nx-cloud", "options": { "cacheableOperations": [ "build", @@ -23,6 +15,14 @@ } } }, + "extends": "nx/presets/core.json", + "npmScope": "automapper", + "affected": { + "defaultBase": "main" + }, + "cli": { + "defaultCollection": "@nx/workspace" + }, "$schema": "./node_modules/nx/schemas/nx-schema.json", "namedInputs": { "default": ["{projectRoot}/**/*"], @@ -37,7 +37,7 @@ } }, "pluginsConfig": { - "@nrwl/js": { + "@nx/js": { "analyzeSourceFiles": true } } diff --git a/package.json b/package.json index 6777aa865..077a0322a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ }, "private": true, "dependencies": { - "@swc/helpers": "~0.4.11", + "@swc/helpers": "0.5.23", "tslib": "~2.5.0" }, "devDependencies": { @@ -25,26 +25,16 @@ "@nestjs/platform-express": "10.0.3", "@nestjs/schematics": "10.0.1", "@nestjs/testing": "10.0.3", - "@nrwl/devkit": "15.8.5", - "@nrwl/eslint-plugin-nx": "15.8.5", - "@nrwl/jest": "15.8.5", - "@nrwl/js": "15.8.5", - "@nrwl/linter": "15.8.5", - "@nrwl/nest": "15.8.5", - "@nrwl/nx-cloud": "15.2.0", - "@nrwl/rollup": "15.8.5", - "@nrwl/web": "15.8.5", - "@nrwl/workspace": "15.8.5", "@release-it/bumper": "4.0.2", "@release-it/conventional-changelog": "5.1.1", - "@swc/cli": "~0.1.55", + "@swc/cli": "0.1.65", "@swc/core": "^1.2.173", "@swc/jest": "0.2.20", "@types/jest": "29.4.0", "@types/node": "18.15.0", "@types/supertest": "2.0.12", - "@typescript-eslint/eslint-plugin": "5.54.1", - "@typescript-eslint/parser": "5.54.1", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", "all-contributors-cli": "6.24.0", "babel-preset-minify": "0.5.2", "commitizen": "4.3.0", @@ -55,16 +45,26 @@ "fs-extra": "^11.1.0", "jest": "29.5.0", "jest-environment-jsdom": "29.5.0", - "nx": "15.8.5", + "nx": "16.0.0", "prettier": "2.8.4", "reflect-metadata": "~0.1.13", "release-it": "15.8.0", "rxjs": "~7.8.0", "sequelize": "6.29.2", "supertest": "6.3.3", - "ts-jest": "29.0.5", + "ts-jest": "29.1.5", "ts-node": "10.9.1", - "typescript": "4.9.5" + "typescript": "4.9.5", + "nx-cloud": "19.1.3", + "@nx/devkit": "16.0.0", + "@nx/workspace": "16.0.0", + "@nx/js": "16.0.0", + "@nx/linter": "16.0.0", + "@nx/rollup": "16.0.0", + "@nx/jest": "16.0.0", + "@nx/eslint-plugin": "16.0.0", + "@nx/web": "16.0.0", + "@nx/nest": "16.0.0" }, "config": { "commitizen": { diff --git a/packages/classes/mapped-types/project.json b/packages/classes/mapped-types/project.json index 055b83210..3d0ed314b 100644 --- a/packages/classes/mapped-types/project.json +++ b/packages/classes/mapped-types/project.json @@ -7,7 +7,7 @@ "command": "NX_CLOUD=true nx package-lib classes-mapped-types" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/classes/mapped-types/package.json", @@ -27,14 +27,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/classes/mapped-types/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": [ "{workspaceRoot}/coverage/packages/classes/mapped-types" ], diff --git a/packages/classes/project.json b/packages/classes/project.json index 66dd4e970..520e0a440 100644 --- a/packages/classes/project.json +++ b/packages/classes/project.json @@ -15,7 +15,7 @@ } }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/classes/package.json", @@ -30,14 +30,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/classes/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/classes"], "options": { "jestConfig": "packages/classes/jest.config.cjs", diff --git a/packages/classes/transformer-plugin/project.json b/packages/classes/transformer-plugin/project.json index 9518aca62..45526509a 100644 --- a/packages/classes/transformer-plugin/project.json +++ b/packages/classes/transformer-plugin/project.json @@ -7,7 +7,7 @@ "command": "NX_CLOUD=true nx package-lib classes-transformer-plugin" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/classes/transformer-plugin/package.json", @@ -22,7 +22,7 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": [ @@ -31,7 +31,7 @@ } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": [ "{workspaceRoot}/coverage/packages/classes/transformer-plugin" ], diff --git a/packages/classes/transformer-plugin/src/README.md b/packages/classes/transformer-plugin/src/README.md index 576b351d4..02e8d72e4 100644 --- a/packages/classes/transformer-plugin/src/README.md +++ b/packages/classes/transformer-plugin/src/README.md @@ -278,7 +278,7 @@ In Nx workspaces, NestJS applications and buildable libraries are handled with ` "lib": { "targets": { "build": { - "executor": "@nrwl/js:tsc", + "executor": "@nx/js:tsc", "options": { "transformers": [ { diff --git a/packages/core/project.json b/packages/core/project.json index a89fb177f..62ee28369 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -8,7 +8,7 @@ "command": "NX_CLOUD=true nx package-lib core" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/core/package.json", @@ -39,14 +39,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/core/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/core"], "options": { "jestConfig": "packages/core/jest.config.cjs", diff --git a/packages/documentation/docs/misc/transformer-plugin.mdx b/packages/documentation/docs/misc/transformer-plugin.mdx index 39b9609f5..5112649ab 100644 --- a/packages/documentation/docs/misc/transformer-plugin.mdx +++ b/packages/documentation/docs/misc/transformer-plugin.mdx @@ -268,7 +268,7 @@ or with options ### NestJS with Nx -Nx v12.8 adds support for TypeScript Compiler plugins via an option called `tsPlugins` (now `transformers`) in their `@nrwl/node:webpack` executor, which is what `@nrwl/nest` is using for building the application. +Nx v12.8 adds support for TypeScript Compiler plugins via an option called `tsPlugins` (now `transformers`) in their `@nrwl/node:webpack` executor, which is what `@nx/nest` is using for building the application. Read more about the usage here: [Nx 12.8 Blog post](https://blog.nrwl.io/micro-frontends-using-module-federation-presets-for-react-and-storybook-typescript-compiler-4120cf134816) diff --git a/packages/documentations/docs/misc/transformer-plugin.mdx b/packages/documentations/docs/misc/transformer-plugin.mdx index 39b9609f5..5112649ab 100644 --- a/packages/documentations/docs/misc/transformer-plugin.mdx +++ b/packages/documentations/docs/misc/transformer-plugin.mdx @@ -268,7 +268,7 @@ or with options ### NestJS with Nx -Nx v12.8 adds support for TypeScript Compiler plugins via an option called `tsPlugins` (now `transformers`) in their `@nrwl/node:webpack` executor, which is what `@nrwl/nest` is using for building the application. +Nx v12.8 adds support for TypeScript Compiler plugins via an option called `tsPlugins` (now `transformers`) in their `@nrwl/node:webpack` executor, which is what `@nx/nest` is using for building the application. Read more about the usage here: [Nx 12.8 Blog post](https://blog.nrwl.io/micro-frontends-using-module-federation-presets-for-react-and-storybook-typescript-compiler-4120cf134816) diff --git a/packages/integration-test/project.json b/packages/integration-test/project.json index ed1c65b51..a3b7b42c8 100644 --- a/packages/integration-test/project.json +++ b/packages/integration-test/project.json @@ -4,14 +4,14 @@ "sourceRoot": "packages/integration-test/src", "targets": { "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/integration-test/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/integration-test"], "options": { "jestConfig": "packages/integration-test/jest.config.ts", diff --git a/packages/mikro/project.json b/packages/mikro/project.json index cfb98af20..4646b428d 100644 --- a/packages/mikro/project.json +++ b/packages/mikro/project.json @@ -7,7 +7,7 @@ "command": "NX_CLOUD=true nx package-lib mikro" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/mikro/package.json", @@ -27,14 +27,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/mikro/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/mikro"], "options": { "jestConfig": "packages/mikro/jest.config.cjs", diff --git a/packages/nestjs/project.json b/packages/nestjs/project.json index c49e73357..5b77b965a 100644 --- a/packages/nestjs/project.json +++ b/packages/nestjs/project.json @@ -7,7 +7,7 @@ "command": "NX_CLOUD=true nx package-lib nestjs" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/nestjs/package.json", @@ -28,14 +28,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/nestjs/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/nestjs"], "options": { "jestConfig": "packages/nestjs/jest.config.cjs", diff --git a/packages/pojos/project.json b/packages/pojos/project.json index 270911bc6..6fa7d7b1f 100644 --- a/packages/pojos/project.json +++ b/packages/pojos/project.json @@ -7,7 +7,7 @@ "command": "NX_CLOUD=true nx package-lib pojos" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/pojos/package.json", @@ -22,14 +22,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/pojos/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/pojos"], "options": { "jestConfig": "packages/pojos/jest.config.cjs", diff --git a/packages/sequelize/project.json b/packages/sequelize/project.json index 449090aaa..a09c6c4bc 100644 --- a/packages/sequelize/project.json +++ b/packages/sequelize/project.json @@ -7,7 +7,7 @@ "command": "NX_CLOUD=true nx package-lib sequelize" }, "package-lib": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "project": "packages/sequelize/package.json", @@ -27,14 +27,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/sequelize/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/sequelize"], "options": { "jestConfig": "packages/sequelize/jest.config.cjs", diff --git a/packages/zod/project.json b/packages/zod/project.json index f72cee574..37d932135 100644 --- a/packages/zod/project.json +++ b/packages/zod/project.json @@ -5,7 +5,7 @@ "projectType": "library", "targets": { "build": { - "executor": "@nrwl/rollup:rollup", + "executor": "@nx/rollup:rollup", "outputs": ["{options.outputPath}"], "options": { "outputPath": "dist/packages/zod", @@ -16,14 +16,14 @@ } }, "lint": { - "executor": "@nrwl/linter:eslint", + "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": ["packages/zod/**/*.ts"] } }, "test": { - "executor": "@nrwl/jest:jest", + "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { "jestConfig": "packages/zod/jest.config.cjs", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 728f080db..6659a4a40 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -6,8 +6,8 @@ settings: dependencies: '@swc/helpers': - specifier: ~0.4.11 - version: 0.4.14 + specifier: 0.5.23 + version: 0.5.23 tslib: specifier: ~2.5.0 version: 2.5.0 @@ -31,36 +31,33 @@ devDependencies: '@nestjs/testing': specifier: 10.0.3 version: 10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3)(@nestjs/platform-express@10.0.3) - '@nrwl/devkit': - specifier: 15.8.5 - version: 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/eslint-plugin-nx': - specifier: 15.8.5 - version: 15.8.5(@typescript-eslint/parser@5.54.1)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@15.8.5)(typescript@4.9.5) - '@nrwl/jest': - specifier: 15.8.5 - version: 15.8.5(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/js': - specifier: 15.8.5 - version: 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/linter': - specifier: 15.8.5 - version: 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/nest': - specifier: 15.8.5 - version: 15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/nx-cloud': - specifier: 15.2.0 - version: 15.2.0 - '@nrwl/rollup': - specifier: 15.8.5 - version: 15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/web': - specifier: 15.8.5 - version: 15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/workspace': - specifier: 15.8.5 - version: 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) + '@nx/devkit': + specifier: 16.0.0 + version: 16.0.0(nx@16.0.0) + '@nx/eslint-plugin': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/jest': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/js': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/linter': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/nest': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/rollup': + specifier: 16.0.0 + version: 16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/web': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/workspace': + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39) '@release-it/bumper': specifier: 4.0.2 version: 4.0.2(release-it@15.8.0) @@ -68,8 +65,8 @@ devDependencies: specifier: 5.1.1 version: 5.1.1(release-it@15.8.0) '@swc/cli': - specifier: ~0.1.55 - version: 0.1.62(@swc/core@1.3.39) + specifier: 0.1.65 + version: 0.1.65(@swc/core@1.3.39) '@swc/core': specifier: ^1.2.173 version: 1.3.39 @@ -86,11 +83,11 @@ devDependencies: specifier: 2.0.12 version: 2.0.12 '@typescript-eslint/eslint-plugin': - specifier: 5.54.1 - version: 5.54.1(@typescript-eslint/parser@5.54.1)(eslint@8.35.0)(typescript@4.9.5) + specifier: 5.62.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.35.0)(typescript@4.9.5) '@typescript-eslint/parser': - specifier: 5.54.1 - version: 5.54.1(eslint@8.35.0)(typescript@4.9.5) + specifier: 5.62.0 + version: 5.62.0(eslint@8.35.0)(typescript@4.9.5) all-contributors-cli: specifier: 6.24.0 version: 6.24.0 @@ -122,8 +119,11 @@ devDependencies: specifier: 29.5.0 version: 29.5.0 nx: - specifier: 15.8.5 - version: 15.8.5(@swc/core@1.3.39) + specifier: 16.0.0 + version: 16.0.0(@swc/core@1.3.39) + nx-cloud: + specifier: 19.1.3 + version: 19.1.3 prettier: specifier: 2.8.4 version: 2.8.4 @@ -143,8 +143,8 @@ devDependencies: specifier: 6.3.3 version: 6.3.3 ts-jest: - specifier: 29.0.5 - version: 29.0.5(@babel/core@7.21.0)(jest@29.5.0)(typescript@4.9.5) + specifier: 29.1.5 + version: 29.1.5(@babel/core@7.21.0)(jest@29.5.0)(typescript@4.9.5) ts-node: specifier: 10.9.1 version: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) @@ -539,6 +539,7 @@ packages: /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.0): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} 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-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -554,6 +555,7 @@ packages: /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.0): 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: @@ -567,6 +569,7 @@ packages: /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.0): resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} 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-static-block instead. peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -597,6 +600,7 @@ packages: /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} 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-dynamic-import instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -608,6 +612,7 @@ packages: /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.0): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} 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-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -619,6 +624,7 @@ packages: /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} 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-json-strings instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -630,6 +636,7 @@ packages: /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.0): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} 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-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -641,6 +648,7 @@ packages: /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} 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-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -652,6 +660,7 @@ packages: /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} 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-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -663,6 +672,7 @@ packages: /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.0): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} 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-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -677,6 +687,7 @@ packages: /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} 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-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -688,6 +699,7 @@ packages: /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.0): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} 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-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -700,6 +712,7 @@ packages: /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} 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-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -713,6 +726,7 @@ packages: /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.0): resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} 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-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -728,6 +742,7 @@ packages: /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1482,6 +1497,7 @@ packages: /@commitlint/config-validator@17.4.4: resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} engines: {node: '>=v14'} + requiresBuild: true dependencies: '@commitlint/types': 17.4.4 ajv: 8.12.0 @@ -1491,6 +1507,7 @@ packages: /@commitlint/execute-rule@17.4.0: resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} engines: {node: '>=v14'} + requiresBuild: true dev: true optional: true @@ -1522,6 +1539,7 @@ packages: /@commitlint/resolve-extends@17.4.4: resolution: {integrity: sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==} engines: {node: '>=v14'} + requiresBuild: true dependencies: '@commitlint/config-validator': 17.4.4 '@commitlint/types': 17.4.4 @@ -1535,6 +1553,7 @@ packages: /@commitlint/types@17.4.4: resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} engines: {node: '>=v14'} + requiresBuild: true dependencies: chalk: 4.1.2 dev: true @@ -1547,6 +1566,21 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true + /@eslint-community/eslint-utils@4.9.1(eslint@8.35.0): + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + 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.35.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.12.2: + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint/eslintrc@2.0.0: resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1614,18 +1648,6 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@28.1.3: - resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - chalk: 4.1.2 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - slash: 3.0.0 - dev: true - /@jest/console@29.5.0: resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1687,16 +1709,6 @@ packages: '@jest/types': 27.5.1 dev: true - /@jest/environment@28.1.3: - resolution: {integrity: sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - jest-mock: 28.1.3 - dev: true - /@jest/environment@29.5.0: resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1707,13 +1719,6 @@ packages: jest-mock: 29.5.0 dev: true - /@jest/expect-utils@28.1.3: - resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - jest-get-type: 28.0.2 - dev: true - /@jest/expect-utils@29.5.0: resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1721,16 +1726,6 @@ packages: jest-get-type: 29.4.3 dev: true - /@jest/expect@28.1.3: - resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - expect: 28.1.3 - jest-snapshot: 28.1.3 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/expect@29.5.0: resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1741,18 +1736,6 @@ packages: - supports-color dev: true - /@jest/fake-timers@28.1.3: - resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.15.0 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-util: 28.1.3 - dev: true - /@jest/fake-timers@29.5.0: resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1765,17 +1748,6 @@ packages: jest-util: 29.5.0 dev: true - /@jest/globals@28.1.3: - resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/types': 28.1.3 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/globals@29.5.0: resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1788,44 +1760,6 @@ packages: - supports-color dev: true - /@jest/reporters@28.1.1: - resolution: {integrity: sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 28.1.3 - '@jest/test-result': 28.1.1 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.17 - '@types/node': 18.15.0 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - jest-message-util: 28.1.3 - jest-util: 28.1.1 - jest-worker: 28.1.3 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - terminal-link: 2.1.1 - v8-to-istanbul: 9.1.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/reporters@29.5.0: resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1863,13 +1797,6 @@ packages: - supports-color dev: true - /@jest/schemas@28.1.3: - resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@sinclair/typebox': 0.24.51 - dev: true - /@jest/schemas@29.4.3: resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1877,15 +1804,6 @@ packages: '@sinclair/typebox': 0.25.24 dev: true - /@jest/source-map@28.1.2: - resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - callsites: 3.1.0 - graceful-fs: 4.2.10 - dev: true - /@jest/source-map@29.4.3: resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1895,26 +1813,6 @@ packages: graceful-fs: 4.2.10 dev: true - /@jest/test-result@28.1.1: - resolution: {integrity: sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/console': 28.1.3 - '@jest/types': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-result@28.1.3: - resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/console': 28.1.3 - '@jest/types': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - /@jest/test-result@29.5.0: resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1925,16 +1823,6 @@ packages: collect-v8-coverage: 1.0.1 dev: true - /@jest/test-sequencer@28.1.3: - resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/test-result': 28.1.3 - graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - slash: 3.0.0 - dev: true - /@jest/test-sequencer@29.5.0: resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1945,29 +1833,6 @@ packages: slash: 3.0.0 dev: true - /@jest/transform@28.1.3: - resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@babel/core': 7.21.0 - '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.17 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 - micromatch: 4.0.5 - pirates: 4.0.5 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/transform@29.5.0: resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2002,18 +1867,6 @@ packages: chalk: 4.1.2 dev: true - /@jest/types@28.1.3: - resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/schemas': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.15.0 - '@types/yargs': 17.0.22 - chalk: 4.1.2 - dev: true - /@jest/types@29.5.0: resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2053,13 +1906,6 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} - dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true @@ -2078,10 +1924,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@leichtgewicht/ip-codec@2.0.4: - resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} - dev: true - /@lukeed/csprng@1.0.1: resolution: {integrity: sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==} engines: {node: '>=8'} @@ -2285,31 +2127,66 @@ packages: fastq: 1.15.0 dev: true - /@nrwl/cli@15.8.5(@swc/core@1.3.39): - resolution: {integrity: sha512-voy16nUO1MxRMRqCpLlhDB9U4KyPfGHZABXtfMEIQk+W3alncatFMMSVvMQZmi8HXwubM8LxWSOnPtTtOCKBrQ==} + /@nrwl/devkit@16.0.0(nx@16.0.0): + resolution: {integrity: sha512-ycd4wD4v1N/ywjU1cwTVCPQJwxnGjEsWIll5z5cMtfHwJf+0OhMTqC3zeZibIwnjjoh721pyEzXODyUmjkGmVw==} + dependencies: + '@nx/devkit': 16.0.0(nx@16.0.0) + transitivePeerDependencies: + - nx + dev: true + + /@nrwl/eslint-plugin-nx@16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-HJLMP6/g00huvsr7ik4NStvXB/MWDkWo45nKtvuZIvmycYt4VUATzQt2CrUaKKqRM5eAW7Ho8aW63DOIsufOcg==} dependencies: - nx: 15.8.5(@swc/core@1.3.39) + '@nx/eslint-plugin': 16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) transitivePeerDependencies: + - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@typescript-eslint/parser' - debug + - eslint + - eslint-config-prettier + - nx + - supports-color + - typescript dev: true - /@nrwl/cypress@15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5): - resolution: {integrity: sha512-y9+mLL5Yw8RRaCBkdmFG8br39rYUPF03P3kx2AI7KbCs0e1kfPe6E7TaPOgdtEeSTvitjE9YeamFlWfOEHXp0A==} - peerDependencies: - cypress: '>= 3 < 13' - peerDependenciesMeta: - cypress: - optional: true + /@nrwl/jest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-3EOp1Sa9ZSKuqJIC9zYzwBuitvmXC9nn0BVCqv6NgfdXRzQgA7+RFObE+Zym/nejF0ZMGIvZnXZFMT/z6Cbczw==} dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/linter': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/workspace': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) - '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.5) - dotenv: 10.0.0 - semver: 7.3.4 + '@nx/jest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@types/node' + - debug + - node-notifier + - nx + - supports-color + - ts-node + - typescript + dev: true + + /@nrwl/js@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-RedHAlmQpbGIWdFOl0bbl4BND1OlZjEumQG0nNIg0pgDhPgJtfovP1UKBJErUJ/mNhINKh7VCmxPhYM9RARtWQ==} + dependencies: + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - debug + - nx + - supports-color + - typescript + dev: true + + /@nrwl/linter@16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-TPRRtmNZWVF/OaZMWWk4dB/f2MAmfw+Kyih7GVohOgut0qS4DB1HkFAWhGgEDOVFD0hRfj3vVayDkfEeONqJJg==} + dependencies: + '@nx/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2317,83 +2194,186 @@ packages: - debug - eslint - nx - - prettier - supports-color - typescript dev: true - /@nrwl/devkit@15.8.5(nx@15.8.5)(typescript@4.9.5): - resolution: {integrity: sha512-NgpD1I1BfFb6wRxB5i5PGP4hMyRhPsArCyENWWvY4gCn8tylAc7yjpQyiDiy2QnymL2PjWM8QeAeCOy1eF2xgw==} + /@nrwl/nest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-ImGOX5KREgSWrT8w43ooCizL7DAzBF2fLKD6jqzq3Jjv/N3L6d+9Erb6YdSiGfrncl4VwCKHpo8LmtUyPqfczA==} + dependencies: + '@nx/nest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@types/node' + - chokidar + - debug + - eslint + - node-notifier + - nx + - supports-color + - ts-node + - typescript + dev: true + + /@nrwl/node@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-UoDFlg50oJqrl56xJW0dWSutk41GiJEg1qCxASq12S9Tz7+hp7LlSxn178MW3Ozcsxp1v0hf+SAAo47lOPgIYA==} + dependencies: + '@nx/node': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@types/node' + - debug + - eslint + - node-notifier + - nx + - supports-color + - ts-node + - typescript + dev: true + + /@nrwl/rollup@16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-N15Wq0DDYooyLMBv0j4JXZxCE9nHpb8kXVslaDOndpRs6ngAvTRVrGSDpvGTwnOMHzOue3PrEHZ06cupAvSZug==} + dependencies: + '@nx/rollup': 16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + transitivePeerDependencies: + - '@babel/core' + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@types/babel__core' + - debug + - nx + - supports-color + - ts-node + - typescript + dev: true + + /@nrwl/tao@16.0.0(@swc/core@1.3.39): + resolution: {integrity: sha512-0A+e6jGmBBhpcaSlFr24uNvMRNZmlAWETj8K7gvYYjbWpVx3VP5hY+9R9vOxRwozWEHeEDFl1xue8ci0HWzORA==} + hasBin: true + dependencies: + nx: 16.0.0(@swc/core@1.3.39) + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nrwl/web@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-oFucYamUhgtESLh0oqeiFpHRXs2gJWDmFULH4zYMgO2Xfg8ekWdD/jYTZ5bih2FX1LhnHBYtc7jdkmu5Zw9jpQ==} + dependencies: + '@nx/web': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - debug + - nx + - supports-color + - typescript + dev: true + + /@nrwl/workspace@16.0.0(@swc/core@1.3.39): + resolution: {integrity: sha512-cZOiSYXQP69tgTtHOxuoT9PUY7lZ1DWbB40MRpGqZN1Xk8efr9jG23LrHSN5Fr9ShfMdXkKqK7NQT8HijXu/UA==} + dependencies: + '@nx/workspace': 16.0.0(@swc/core@1.3.39) + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nuxtjs/opencollective@0.3.2: + resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + consola: 2.15.3 + node-fetch: 2.6.9 + transitivePeerDependencies: + - encoding + dev: true + + /@nx/devkit@16.0.0(nx@16.0.0): + resolution: {integrity: sha512-ooIaAcheEUJ0pRdLv91btVssGL7TLOcvW8EF0yKYAdCNv3HRHtZX7Ompc6NPMauLuHYmp4eeRly3wADa7xBzAg==} peerDependencies: - nx: '>= 14.1 <= 16' + nx: '>= 15 <= 17' dependencies: - '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.5) + '@nrwl/devkit': 16.0.0(nx@16.0.0) ejs: 3.1.8 ignore: 5.2.4 - nx: 15.8.5(@swc/core@1.3.39) + nx: 16.0.0(@swc/core@1.3.39) semver: 7.3.4 tmp: 0.2.1 - tslib: 2.5.0 - transitivePeerDependencies: - - typescript + tslib: 2.5.3 dev: true - /@nrwl/eslint-plugin-nx@15.8.5(@typescript-eslint/parser@5.54.1)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@15.8.5)(typescript@4.9.5): - resolution: {integrity: sha512-gfUD++6LhGPr6QtcFant41geZGyC5d9i2NZX7+vk4AQEttMiLgMu9t7hb1RUE8CUXX3UxsL0xM45YnJdxCIGww==} + /@nx/eslint-plugin@16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-vBleTWAneUOAmmwZdJb2TisKi7A3fBuiWcdW7vpxgLF2dh8oMBB54AMjXKdibwMOIKTVLtECDNR84b2kkYElyA==} peerDependencies: - '@typescript-eslint/parser': ^5.29.0 + '@typescript-eslint/parser': ^5.58.0 eslint-config-prettier: ^8.1.0 peerDependenciesMeta: eslint-config-prettier: optional: true dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@typescript-eslint/parser': 5.54.1(eslint@8.35.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) + '@nrwl/eslint-plugin-nx': 16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) chalk: 4.1.2 confusing-browser-globals: 1.0.11 eslint-config-prettier: 8.7.0(eslint@8.35.0) semver: 7.3.4 transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - debug - eslint - nx - supports-color - typescript dev: true - /@nrwl/jest@15.8.5(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-19je0KLYqQnjGvjt8CN4jBnGquRnNnRUnH948atIRjW0AyV1INeHxqtrYUJKaOx3m8snQCa01FqJvJjVjl1oAg==} + /@nx/jest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-WbZ+msoi69kUkMR73nr+aLLTZnHy+XjkaBYCzu/9xdGF99ZYReBy2peHHxWVJSmZ8u7HgYZHuv4h3vEQuEiFdw==} dependencies: - '@jest/reporters': 28.1.1 - '@jest/test-result': 28.1.1 - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.5) + '@jest/reporters': 29.5.0 + '@jest/test-result': 29.5.0 + '@nrwl/jest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@phenomnomnominal/tsquery': 5.0.1(typescript@4.9.5) chalk: 4.1.2 dotenv: 10.0.0 identity-obj-proxy: 3.0.0 - jest-config: 28.1.1(@types/node@18.15.0)(ts-node@10.9.1) - jest-resolve: 28.1.1 - jest-util: 28.1.1 + jest-config: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + jest-resolve: 29.5.0 + jest-util: 29.5.0 resolve.exports: 1.1.0 - tslib: 2.5.0 + tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - '@types/node' - debug - - eslint - node-notifier - nx - - prettier - supports-color - ts-node - typescript dev: true - /@nrwl/js@15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5): - resolution: {integrity: sha512-G9CADL++MQCAgiPTUuWs2YIGrhDKU92dVb39e37p/2WH75vEnMoYykW7nCHItGCGVa726INYBPjStqL6GxH8XQ==} + /@nx/js@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-/GDbJhwnFzz24WOFmN95y0RD/iZTUWdrrrux9rUV/hsDvET5QJKx+Kw7nDUPqFnvojf/D9N5jB3uQAZFx2zLtQ==} dependencies: '@babel/core': 7.21.0 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.0) @@ -2402,156 +2382,108 @@ packages: '@babel/preset-env': 7.20.2(@babel/core@7.21.0) '@babel/preset-typescript': 7.21.0(@babel/core@7.21.0) '@babel/runtime': 7.21.0 - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/workspace': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) - '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.5) + '@nrwl/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/workspace': 16.0.0(@swc/core@1.3.39) + '@phenomnomnominal/tsquery': 5.0.1(typescript@4.9.5) babel-plugin-const-enum: 1.2.0(@babel/core@7.21.0) babel-plugin-macros: 2.8.0 babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.21.0) chalk: 4.1.2 fast-glob: 3.2.7 - fs-extra: 11.1.0 + fs-extra: 11.3.4 ignore: 5.2.4 js-tokens: 4.0.0 minimatch: 3.0.5 source-map-support: 0.5.19 tree-kill: 1.2.2 - tslib: 2.5.0 + tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - debug - - eslint - nx - - prettier - supports-color - typescript dev: true - /@nrwl/linter@15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5): - resolution: {integrity: sha512-EJxIAME87JaE1Iao9S9/yfWdoC3IvKsstjGVQssVZmAoWaDVhW3c/EYDRkrk2c9SFLD+tascvxDV5OpXXRVhSA==} + /@nx/linter@16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-814Si3lmETTWk4mMWRFEjPuKH9mdOq0jnb8+v9YXMkVhxYU7Zt7DasvLnguy5j8rDIWw5jPakcgaS48WK+Ro1A==} peerDependencies: eslint: ^8.0.0 peerDependenciesMeta: eslint: optional: true dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.5) + '@nrwl/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@phenomnomnominal/tsquery': 5.0.1(typescript@4.9.5) eslint: 8.35.0 tmp: 0.2.1 - tslib: 2.5.0 + tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - debug - nx - - prettier - supports-color - typescript dev: true - /@nrwl/nest@15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-xTN64T3Se7w39hLnyyDOaqxwpXUgDbJRk5VBAw1sIn+xGGopN5ajz0UNl2AthTb/1YUDItkewu82KQWOlL75Gw==} + /@nx/nest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-jiOLySjIr84+glEmFig91DBcbP1ZD7gavXLzFMcSURK52zePS/v7BwlbnPKrxP6k7/VPXGXYZUWcJQVtJFxvjg==} dependencies: '@nestjs/schematics': 9.0.4(typescript@4.9.5) - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/linter': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/node': 15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) + '@nrwl/nest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/node': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) enquirer: 2.3.6 transitivePeerDependencies: - - '@babel/core' - '@babel/traverse' - - '@parcel/css' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - '@types/node' - - bufferutil - chokidar - - clean-css - - csso - debug - - esbuild - eslint - - fibers - - html-webpack-plugin - node-notifier - - node-sass - nx - - prettier - - sass-embedded - supports-color - ts-node - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli dev: true - /@nrwl/node@15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-d3SsuplX3/GS6oXnwc1u9aR3n4A9CXglqHCtRVppYATVTHvYS6NODjjwXonu7m/rnyXpirqueWQ9BbGvEej6tw==} + /@nx/node@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-22X0SZtCnfxl+/TiJbjXE6js0yz0s8l6LOQwMHcnffr5Ci3HKI+JTsL3Qv/mCfg8ukBKJ07HVu36abH3cVVYBA==} dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/jest': 15.8.5(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/linter': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/webpack': 15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/workspace': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) + '@nrwl/node': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/jest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/workspace': 16.0.0(@swc/core@1.3.39) tslib: 2.5.3 transitivePeerDependencies: - - '@babel/core' - '@babel/traverse' - - '@parcel/css' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - '@types/node' - - bufferutil - - clean-css - - csso - debug - - esbuild - eslint - - fibers - - html-webpack-plugin - node-notifier - - node-sass - nx - - prettier - - sass-embedded - supports-color - ts-node - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli dev: true - /@nrwl/nx-cloud@15.2.0: - resolution: {integrity: sha512-Wzg4mX9Rb5pzP0yrVJzVTnHaqz59Glv740QTDux2QFErHU6nT+nvfoTCQ1B6a2lhkHxJodx+PoDy9UYRUz0IlQ==} - hasBin: true - dependencies: - axios: 0.21.4 - chalk: 4.1.0 - dotenv: 10.0.0 - fs-extra: 10.1.0 - node-machine-id: 1.1.12 - strip-json-comments: 3.1.1 - tar: 6.1.11 - yargs-parser: 21.1.1 - transitivePeerDependencies: - - debug - dev: true - - /@nrwl/nx-darwin-arm64@15.8.5: - resolution: {integrity: sha512-/8yXbh1J3k85MAW/A6cDiPeEnbt66SE9BPnM2IPlGoZrXakQvAXEn+gsjQlvnP3q2EaEyv7e5+GA+8d+p6mT5A==} + /@nx/nx-darwin-arm64@16.0.0: + resolution: {integrity: sha512-GtXS0NPENG+s5bsVdsaXTX1jKOw85jHSALhrXXiMXknjwnvyHUelxFDS4fHhIlcOSd56Y5sn1pdg/fi2WPoscw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -2559,8 +2491,8 @@ packages: dev: true optional: true - /@nrwl/nx-darwin-x64@15.8.5: - resolution: {integrity: sha512-zEVoi0d+YChLrQMypoGFwu73t3YiD8UkXSozMtUEa2mg/se4e7jh+15tB6Te+Oq5aL0JKwQpr027GE4YtAmpLw==} + /@nx/nx-darwin-x64@16.0.0: + resolution: {integrity: sha512-iZv59vEoHekLahBrENYFtyUxuMwIQG24weluc00N2Edp7AlxVf7wRw6gd/xp3ATQbx/N92UPg6X761uBp2gm+Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -2568,8 +2500,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-arm-gnueabihf@15.8.5: - resolution: {integrity: sha512-4C5wN0C7gQD6/lC9+UKUsB6mbHvowKhlaO529GIgtzrCLmfEh/LJ/CybnnKGpFEB/8Y5GpCa2uTWyA1XcPDzUw==} + /@nx/nx-linux-arm-gnueabihf@16.0.0: + resolution: {integrity: sha512-o+ds8HogpkIc+Q8j5KEdiuEvGo6iHSpKSaFxKPIKHgD7xa6Kll966hKiFigeY2FDT2nGQlKZ0n1wNWQ4x2rijw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -2577,8 +2509,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-arm64-gnu@15.8.5: - resolution: {integrity: sha512-SMQ+oIsyK75JiKeSMprmb8VXce6MLdfcS5GWWOihpoDWfUC9FoQHAu4X1OtxHbVTmJfoEOInJKAhPxXAi5obdw==} + /@nx/nx-linux-arm64-gnu@16.0.0: + resolution: {integrity: sha512-ue2ravlNusu5xojC37JjgLaUyqm0swL5egVSHBARxOsT7piyk0ac56/j+ZrBckrjLbIplTGpwFGGS9vbKiEeoQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2586,8 +2518,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-arm64-musl@15.8.5: - resolution: {integrity: sha512-GVENjltZ17aJ6KOCibdBtLXQcGY5lpBqKolB9+rIYJvTWuV1k/uHOkYJDG7Vl70Rj46rC8K0Jp6BCpJHCv1ksQ==} + /@nx/nx-linux-arm64-musl@16.0.0: + resolution: {integrity: sha512-dSqC3Tp8GfWqOH/jZBkdGtoDoi/A5+LA45nqXRAMawyFv3jODcBsPPuCT8FHk0Yb7X8+MNYx7gk7H14aRIjlQg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2595,8 +2527,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-x64-gnu@15.8.5: - resolution: {integrity: sha512-AW8YjhZv3c+LRUoLvHLx4BZaDakQbPCPx70+c/uQyDkQP/ckYJc0gRjoZukolcI6+AvNcBhkI559RL9W4qb9iw==} + /@nx/nx-linux-x64-gnu@16.0.0: + resolution: {integrity: sha512-xk35VXMp6LfopYFSHy4aEgn1xhFyxDl0xYVcg0nrp0ohppjkYIW2H/XVuuEdYZvRuTPkn3a6dQDoo0LLeY77Cg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2604,8 +2536,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-x64-musl@15.8.5: - resolution: {integrity: sha512-m4Iy/pbzH0LTsADq/X+74nfVzm2Tt0zorOXXy/uQN4ozL/JNGVpwvxdOFxZ7e3RBXDX4u6awUzSE52Z2d2f0uA==} + /@nx/nx-linux-x64-musl@16.0.0: + resolution: {integrity: sha512-yIdIlggK3WyDGoB7zS2UaiX2Q7ew0De62cNDudHgdg8dzHxa6IzKeFJjVEoNEt5Z+BG8ILaSn/lYxQs8YtV4FA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2613,8 +2545,8 @@ packages: dev: true optional: true - /@nrwl/nx-win32-arm64-msvc@15.8.5: - resolution: {integrity: sha512-4AT1PHo5At8AXvgE5XlQbimE0THeSji6J3XZ1UTqq7n3L26QicNdnZcaHGyL1ukMtXRIwT/yed+xu1PFkXF4QA==} + /@nx/nx-win32-arm64-msvc@16.0.0: + resolution: {integrity: sha512-YgnkVewQgA/RhXcGDbyhIi+WqAdIzjKGF1JPsA8q+6di3hRksvN+Ud4TVM9R8NFCrRclIxt04v+fqM24PmMIUQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -2622,8 +2554,8 @@ packages: dev: true optional: true - /@nrwl/nx-win32-x64-msvc@15.8.5: - resolution: {integrity: sha512-53vzsQErvN4OeF/qBgfPg6OZ3smX4V8Lza59bwql9aAjjlMe1Ff9Su0BgAqlhVfSiYGxAirfHljgA6aWFqpCHQ==} + /@nx/nx-win32-x64-msvc@16.0.0: + resolution: {integrity: sha512-6UXuO3v5rD3ae5jyYZ0cvlLMJ1NzmdLIIQHio/sWno3KJ0+NR/gpkQBl6F4CdZmoXTXZ+ZsDGUNzQtXWkCdSLg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2631,12 +2563,12 @@ packages: dev: true optional: true - /@nrwl/rollup@15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-eDcRorjCFwyFTzVil2RptoOa1peo3m/+LAA1BL8U7awWTdDrmtpQ5pcPBu8IQO9ZYOk4kaUQP63lIptg1cqX+g==} + /@nx/rollup@16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-bPY4ravpaOYlryq1FsZ5ySaoXjjhR5Jiqv/2TO38/pg/yKv24ZxnQQLTnXWfCru5HuQUeO8IX9WLXvinXsR6tw==} dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/workspace': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) + '@nrwl/rollup': 16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.0)(rollup@2.79.1) '@rollup/plugin-commonjs': 20.0.0(rollup@2.79.1) '@rollup/plugin-image': 2.1.1(rollup@2.79.1) @@ -2653,7 +2585,7 @@ packages: rollup-plugin-postcss: 4.0.2(postcss@8.4.21)(ts-node@10.9.1) rollup-plugin-typescript2: 0.34.1(rollup@2.79.1)(typescript@4.9.5) rxjs: 6.6.7 - tslib: 2.5.0 + tslib: 2.5.3 transitivePeerDependencies: - '@babel/core' - '@babel/traverse' @@ -2661,139 +2593,38 @@ packages: - '@swc/core' - '@types/babel__core' - debug - - eslint - nx - - prettier - supports-color - ts-node - typescript dev: true - /@nrwl/tao@15.8.5(@swc/core@1.3.39): - resolution: {integrity: sha512-pb/hUprOOv2vgvbevGz9hiu8LLOtK7KKuBe4JLSXrFxfHEQjMFsK/2aymnts0ZQrA83QlIG2Mr0tuSKj6/iWvg==} - hasBin: true - dependencies: - nx: 15.8.5(@swc/core@1.3.39) - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - - /@nrwl/web@15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-bhmxVeQNELr2oNZ3A76sGUR+QM+4OVk/nd2vRavOMLqBnNRPa6CNdfyo5cfhn1/bGbZZipR4tneHL/F/HI3RPg==} + /@nx/web@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): + resolution: {integrity: sha512-QC0r+XGVqfzpREhKAayElY3q9EAX8r1RRcilViKFlL7k3Yq/UhFWvNV2+Ll9fKeaGretvFX2KSNtAbyjoO+lCg==} dependencies: - '@nrwl/cypress': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/jest': 15.8.5(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/linter': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/rollup': 15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@4.9.5) - '@nrwl/workspace': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) + '@nrwl/web': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) chalk: 4.1.2 chokidar: 3.5.3 http-server: 14.1.1 ignore: 5.2.4 - tslib: 2.5.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@types/babel__core' - - '@types/node' - - cypress - - debug - - eslint - - node-notifier - - nx - - prettier - - supports-color - - ts-node - - typescript - dev: true - - /@nrwl/webpack@15.8.5(@babel/core@7.21.0)(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5): - resolution: {integrity: sha512-oN0ZCK6Bak8w5YOpyBxQRNxGwNbq31XneRvKPb9gSs71eJZtqLr5wwANfOOHe4m43CgDayp+nVOCQMNhsdxNFg==} - dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/js': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) - '@nrwl/workspace': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5) - autoprefixer: 10.4.14(postcss@8.4.21) - babel-loader: 9.1.2(@babel/core@7.21.0)(webpack@5.76.0) - chalk: 4.1.2 - chokidar: 3.5.3 - copy-webpack-plugin: 10.2.4(webpack@5.76.0) - css-loader: 6.7.3(webpack@5.76.0) - css-minimizer-webpack-plugin: 3.4.1(webpack@5.76.0) - dotenv: 10.0.0 - file-loader: 6.2.0(webpack@5.76.0) - fork-ts-checker-webpack-plugin: 7.2.13(typescript@4.9.5)(webpack@5.76.0) - ignore: 5.2.4 - less: 4.1.3 - less-loader: 11.1.0(less@4.1.3)(webpack@5.76.0) - license-webpack-plugin: 4.0.2(webpack@5.76.0) - loader-utils: 2.0.4 - mini-css-extract-plugin: 2.4.7(webpack@5.76.0) - parse5: 4.0.0 - postcss: 8.4.21 - postcss-import: 14.1.0(postcss@8.4.21) - postcss-loader: 6.2.1(postcss@8.4.21)(webpack@5.76.0) - rxjs: 6.6.7 - sass: 1.58.3 - sass-loader: 12.6.0(sass@1.58.3)(webpack@5.76.0) - source-map-loader: 3.0.2(webpack@5.76.0) - style-loader: 3.3.1(webpack@5.76.0) - stylus: 0.55.0 - stylus-loader: 7.1.0(stylus@0.55.0)(webpack@5.76.0) - terser-webpack-plugin: 5.3.7(@swc/core@1.3.39)(webpack@5.76.0) - ts-loader: 9.4.2(typescript@4.9.5)(webpack@5.76.0) - ts-node: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) - tsconfig-paths: 4.1.2 - tsconfig-paths-webpack-plugin: 4.0.0 tslib: 2.5.3 - webpack: 5.76.0(@swc/core@1.3.39) - webpack-dev-server: 4.11.1(webpack@5.76.0) - webpack-node-externals: 3.0.0 - webpack-subresource-integrity: 5.1.0(webpack@5.76.0) transitivePeerDependencies: - - '@babel/core' - '@babel/traverse' - - '@parcel/css' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - clean-css - - csso - debug - - esbuild - - eslint - - fibers - - html-webpack-plugin - - node-sass - nx - - prettier - - sass-embedded - supports-color - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli dev: true - /@nrwl/workspace@15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(prettier@2.8.4)(typescript@4.9.5): - resolution: {integrity: sha512-+BGJDbATbwpk+3FkdBzdIziN/XKku55SEGg3uyH+JnK0sjmHvvS7mvPiYLRy91tOyF4QXnnWL6PuT+Z9KK8POQ==} - peerDependencies: - prettier: ^2.6.2 - peerDependenciesMeta: - prettier: - optional: true + /@nx/workspace@16.0.0(@swc/core@1.3.39): + resolution: {integrity: sha512-+yjcuFJ0r1MBokL5KqpnSwRJz8zNZMwAJRAcDNbauo5OeEDVGb4TXFuwGWWnkxQI2WTFSaTyuEE8Ga50s/nNyw==} dependencies: - '@nrwl/devkit': 15.8.5(nx@15.8.5)(typescript@4.9.5) - '@nrwl/linter': 15.8.5(@swc/core@1.3.39)(eslint@8.35.0)(nx@15.8.5)(prettier@2.8.4)(typescript@4.9.5) + '@nrwl/workspace': 16.0.0(@swc/core@1.3.39) + '@nx/devkit': 16.0.0(nx@16.0.0) '@parcel/watcher': 2.0.4 chalk: 4.1.2 chokidar: 3.5.3 @@ -2802,39 +2633,20 @@ packages: dotenv: 10.0.0 figures: 3.2.0 flat: 5.0.2 - glob: 7.1.4 ignore: 5.2.4 minimatch: 3.0.5 npm-run-path: 4.0.1 - nx: 15.8.5(@swc/core@1.3.39) + nx: 16.0.0(@swc/core@1.3.39) open: 8.4.2 - prettier: 2.8.4 rxjs: 6.6.7 - semver: 7.3.4 tmp: 0.2.1 - tslib: 2.5.0 + tslib: 2.5.3 yargs: 17.7.1 yargs-parser: 21.1.1 transitivePeerDependencies: - - '@babel/traverse' - '@swc-node/register' - '@swc/core' - debug - - eslint - - supports-color - - typescript - dev: true - - /@nuxtjs/opencollective@0.3.2: - resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} - hasBin: true - dependencies: - chalk: 4.1.2 - consola: 2.15.3 - node-fetch: 2.6.9 - transitivePeerDependencies: - - encoding dev: true /@octokit/auth-token@3.0.3: @@ -2962,10 +2774,10 @@ packages: node-gyp-build: 4.6.0 dev: true - /@phenomnomnominal/tsquery@4.1.1(typescript@4.9.5): - resolution: {integrity: sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==} + /@phenomnomnominal/tsquery@5.0.1(typescript@4.9.5): + resolution: {integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==} peerDependencies: - typescript: ^3 || ^4 + typescript: ^3 || ^4 || ^5 dependencies: esquery: 1.5.0 typescript: 4.9.5 @@ -3111,10 +2923,6 @@ packages: picomatch: 2.3.1 dev: true - /@sinclair/typebox@0.24.51: - resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} - dev: true - /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: true @@ -3129,12 +2937,6 @@ packages: engines: {node: '>=14.16'} dev: true - /@sinonjs/commons@1.8.6: - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} - dependencies: - type-detect: 4.0.8 - dev: true - /@sinonjs/commons@2.0.0: resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} dependencies: @@ -3147,14 +2949,8 @@ packages: '@sinonjs/commons': 2.0.0 dev: true - /@sinonjs/fake-timers@9.1.2: - resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} - dependencies: - '@sinonjs/commons': 1.8.6 - dev: true - - /@swc/cli@0.1.62(@swc/core@1.3.39): - resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==} + /@swc/cli@0.1.65(@swc/core@1.3.39): + resolution: {integrity: sha512-4NcgsvJVHhA7trDnMmkGLLvWMHu2kSy+qHx6QwRhhJhdiYdNUrhdp+ERxen73sYtaeEOYeLJcWrQ60nzKi6rpg==} engines: {node: '>= 12.13'} hasBin: true peerDependencies: @@ -3168,6 +2964,7 @@ packages: '@swc/core': 1.3.39 commander: 7.2.0 fast-glob: 3.2.12 + minimatch: 9.0.9 semver: 7.3.8 slash: 3.0.0 source-map: 0.7.4 @@ -3280,10 +3077,10 @@ packages: '@swc/core-win32-x64-msvc': 1.3.39 dev: true - /@swc/helpers@0.4.14: - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + /@swc/helpers@0.5.23: + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} dependencies: - tslib: 2.5.0 + tslib: 2.8.1 dev: false /@swc/jest@0.2.20(@swc/core@1.3.39): @@ -3374,19 +3171,6 @@ packages: '@babel/types': 7.21.2 dev: true - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} - dependencies: - '@types/connect': 3.4.35 - '@types/node': 18.15.0 - dev: true - - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} - dependencies: - '@types/node': 18.15.0 - dev: true - /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: @@ -3396,19 +3180,6 @@ packages: '@types/responselike': 1.0.0 dev: true - /@types/connect-history-api-fallback@1.3.5: - resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} - dependencies: - '@types/express-serve-static-core': 4.17.33 - '@types/node': 18.15.0 - dev: true - - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} - dependencies: - '@types/node': 18.15.0 - dev: true - /@types/cookiejar@2.1.2: resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} dev: true @@ -3419,49 +3190,14 @@ packages: '@types/ms': 0.7.31 dev: true - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} - dependencies: - '@types/eslint': 8.21.1 - '@types/estree': 1.0.0 - dev: true - - /@types/eslint@8.21.1: - resolution: {integrity: sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==} - dependencies: - '@types/estree': 1.0.0 - '@types/json-schema': 7.0.11 - dev: true - /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true - /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/express-serve-static-core@4.17.33: - resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} - dependencies: - '@types/node': 18.15.0 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - dev: true - - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} - dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.33 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.1 - dev: true - /@types/fs-extra@8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: @@ -3485,12 +3221,6 @@ packages: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true - /@types/http-proxy@1.17.10: - resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} - dependencies: - '@types/node': 18.15.0 - dev: true - /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true @@ -3532,10 +3262,6 @@ packages: '@types/node': 18.15.0 dev: true - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} - dev: true - /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true @@ -3564,14 +3290,6 @@ packages: resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} dev: true - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: true - - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - dev: true - /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: @@ -3584,33 +3302,10 @@ packages: '@types/node': 18.15.0 dev: true - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true - /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} - dependencies: - '@types/express': 4.17.17 - dev: true - - /@types/serve-static@1.15.1: - resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} - dependencies: - '@types/mime': 3.0.1 - '@types/node': 18.15.0 - dev: true - - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} - dependencies: - '@types/node': 18.15.0 - dev: true - /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true @@ -3636,12 +3331,6 @@ packages: resolution: {integrity: sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q==} dev: true - /@types/ws@8.5.4: - resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} - dependencies: - '@types/node': 18.15.0 - dev: true - /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true @@ -3658,8 +3347,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.54.1(@typescript-eslint/parser@5.54.1)(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew==} + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.35.0)(typescript@4.9.5): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3669,16 +3358,16 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.54.1(eslint@8.35.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/type-utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.35.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 - regexpp: 3.2.0 semver: 7.3.8 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 @@ -3686,8 +3375,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.54.1(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==} + /@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@4.9.5): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3696,9 +3385,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/typescript-estree': 5.54.1(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) debug: 4.3.4 eslint: 8.35.0 typescript: 4.9.5 @@ -3706,16 +3395,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@5.54.1: - resolution: {integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==} + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/visitor-keys': 5.54.1 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.54.1(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g==} + /@typescript-eslint/type-utils@5.62.0(eslint@8.35.0)(typescript@4.9.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3724,8 +3413,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.54.1(typescript@4.9.5) - '@typescript-eslint/utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.35.0 tsutils: 3.21.0(typescript@4.9.5) @@ -3734,13 +3423,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@5.54.1: - resolution: {integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==} + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.54.1(typescript@4.9.5): - resolution: {integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==} + /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3748,8 +3437,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/visitor-keys': 5.54.1 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3760,148 +3449,34 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.54.1(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ==} + /@typescript-eslint/utils@5.62.0(eslint@8.35.0)(typescript@4.9.5): + 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.9.1(eslint@8.35.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/typescript-estree': 5.54.1(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) eslint: 8.35.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.35.0) semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.54.1: - resolution: {integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==} + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.3.0 dev: true - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true - - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true - - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true - - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true - - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true - - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - dev: true - - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true - - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - dev: true - - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - dev: true - - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true - - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true - /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true @@ -3948,14 +3523,6 @@ packages: acorn-walk: 8.2.0 dev: true - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.8.2 - dev: true - /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -4017,23 +3584,6 @@ packages: ajv: 8.12.0 dev: true - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - dev: true - - /ajv-keywords@5.1.0(ajv@8.12.0): - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - dependencies: - ajv: 8.12.0 - fast-deep-equal: 3.1.3 - dev: true - /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -4110,12 +3660,6 @@ packages: type-fest: 3.6.1 dev: true - /ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - dev: true - /ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} @@ -4194,10 +3738,6 @@ packages: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true - /array-flatten@2.1.2: - resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - dev: true - /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true @@ -4211,11 +3751,6 @@ packages: engines: {node: '>=8'} dev: true - /array-union@3.0.1: - resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} - engines: {node: '>=12'} - dev: true - /array.prototype.map@1.0.5: resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} engines: {node: '>= 0.4'} @@ -4268,12 +3803,6 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - /autoprefixer@10.4.14(postcss@8.4.21): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} @@ -4295,10 +3824,12 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + /axios@1.13.6: + resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.16.0 + form-data: 4.0.6 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: true @@ -4313,6 +3844,15 @@ packages: - debug dev: true + /b4a@1.8.1: + resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + dev: true + /babel-helper-evaluate-path@0.5.0: resolution: {integrity: sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==} dev: true @@ -4341,24 +3881,6 @@ packages: resolution: {integrity: sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==} dev: true - /babel-jest@28.1.3(@babel/core@7.21.0): - resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.21.0 - '@jest/transform': 28.1.3 - '@types/babel__core': 7.20.0 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3(@babel/core@7.21.0) - chalk: 4.1.2 - graceful-fs: 4.2.10 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-jest@29.5.0(@babel/core@7.21.0): resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4377,19 +3899,6 @@ packages: - supports-color dev: true - /babel-loader@9.1.2(@babel/core@7.21.0)(webpack@5.76.0): - resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - dependencies: - '@babel/core': 7.21.0 - find-cache-dir: 3.3.2 - schema-utils: 4.0.0 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /babel-plugin-const-enum@1.2.0(@babel/core@7.21.0): resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: @@ -4416,16 +3925,6 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@28.1.3: - resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 - '@types/babel__core': 7.20.0 - '@types/babel__traverse': 7.18.3 - dev: true - /babel-plugin-jest-hoist@29.5.0: resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4630,17 +4129,6 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.0) dev: true - /babel-preset-jest@28.1.3(@babel/core@7.21.0): - resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.21.0 - babel-plugin-jest-hoist: 28.1.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.0) - dev: true - /babel-preset-jest@29.5.0(@babel/core@7.21.0): resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4684,6 +4172,73 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /bare-events@2.9.1: + resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + dev: true + + /bare-fs@4.7.2: + resolution: {integrity: sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + dependencies: + bare-events: 2.9.1 + bare-path: 3.0.1 + bare-stream: 2.13.3(bare-events@2.9.1) + bare-url: 2.4.5 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + dev: true + + /bare-os@3.9.1: + resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==} + engines: {bare: '>=1.14.0'} + dev: true + + /bare-path@3.0.1: + resolution: {integrity: sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==} + dependencies: + bare-os: 3.9.1 + dev: true + + /bare-stream@2.13.3(bare-events@2.9.1): + resolution: {integrity: sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==} + peerDependencies: + bare-abort-controller: '*' + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-buffer: + optional: true + bare-events: + optional: true + dependencies: + b4a: 1.8.1 + bare-events: 2.9.1 + streamx: 2.28.0 + teex: 1.0.1 + transitivePeerDependencies: + - react-native-b4a + dev: true + + /bare-url@2.4.5: + resolution: {integrity: sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==} + dependencies: + bare-path: 3.0.1 + dev: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -4695,18 +4250,10 @@ packages: safe-buffer: 5.1.2 dev: true - /batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - dev: true - /before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true - /big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - dev: true - /bin-check@4.1.0: resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} engines: {node: '>=4'} @@ -4793,15 +4340,6 @@ packages: - supports-color dev: true - /bonjour-service@1.1.0: - resolution: {integrity: sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==} - dependencies: - array-flatten: 2.1.2 - dns-equal: 1.0.0 - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 - dev: true - /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true @@ -4827,8 +4365,8 @@ packages: concat-map: 0.0.1 dev: true - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + /brace-expansion@2.1.1: + resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} dependencies: balanced-match: 1.0.2 dev: true @@ -4894,11 +4432,6 @@ packages: streamsearch: 1.1.0 dev: true - /bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - dev: true - /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -4945,6 +4478,14 @@ packages: engines: {node: '>=6'} dev: true + /call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + dev: true + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -5003,14 +4544,6 @@ packages: supports-color: 5.5.0 dev: true - /chalk@4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -5048,16 +4581,6 @@ packages: fsevents: 2.3.2 dev: true - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: true - - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} - dev: true - /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} @@ -5191,10 +4714,6 @@ packages: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: true - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -5202,10 +4721,6 @@ packages: delayed-stream: 1.0.0 dev: true - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true - /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -5261,28 +4776,6 @@ packages: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true - /compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: true - - /compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -5335,11 +4828,6 @@ packages: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true - /connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - dev: true - /consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} dev: true @@ -5542,27 +5030,6 @@ packages: 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.76.0): - resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==} - engines: {node: '>= 12.20.0'} - peerDependencies: - webpack: ^5.1.0 - dependencies: - fast-glob: 3.2.12 - glob-parent: 6.0.2 - globby: 12.2.0 - normalize-path: 3.0.0 - schema-utils: 4.0.0 - serialize-javascript: 6.0.1 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /core-js-compat@3.29.0: resolution: {integrity: sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==} dependencies: @@ -5589,6 +5056,7 @@ packages: /cosmiconfig-typescript-loader@4.3.0(@types/node@18.15.0)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5): resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} + requiresBuild: true peerDependencies: '@types/node': '*' cosmiconfig: '>=7' @@ -5613,17 +5081,6 @@ packages: yaml: 1.10.2 dev: true - /cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true - /cosmiconfig@8.1.0: resolution: {integrity: sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==} engines: {node: '>=14'} @@ -5671,51 +5128,6 @@ packages: postcss: 8.4.21 dev: true - /css-loader@6.7.3(webpack@5.76.0): - resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) - postcss-modules-scope: 3.0.0(postcss@8.4.21) - postcss-modules-values: 4.0.0(postcss@8.4.21) - postcss-value-parser: 4.2.0 - semver: 7.3.8 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /css-minimizer-webpack-plugin@3.4.1(webpack@5.76.0): - resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@parcel/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - dependencies: - cssnano: 5.1.15(postcss@8.4.21) - jest-worker: 27.5.1 - postcss: 8.4.21 - schema-utils: 4.0.0 - serialize-javascript: 6.0.1 - source-map: 0.6.1 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -5739,14 +5151,6 @@ packages: engines: {node: '>= 6'} dev: true - /css@3.0.0: - resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} - dependencies: - inherits: 2.0.4 - source-map: 0.6.1 - source-map-resolve: 0.6.0 - dev: true - /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -5902,17 +5306,6 @@ packages: ms: 2.0.0 dev: true - /debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: true - /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -5953,11 +5346,6 @@ packages: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: true - /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -5983,13 +5371,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} - dependencies: - execa: 5.1.1 - dev: true - /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -6029,11 +5410,6 @@ packages: engines: {node: '>=0.4.0'} dev: true - /depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - dev: true - /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -6068,10 +5444,6 @@ packages: engines: {node: '>=8'} dev: true - /detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - dev: true - /dezalgo@1.0.4: resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} dependencies: @@ -6083,11 +5455,6 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff-sequences@28.1.1: - resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dev: true - /diff-sequences@29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6105,17 +5472,6 @@ packages: path-type: 4.0.0 dev: true - /dns-equal@1.0.0: - resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} - dev: true - - /dns-packet@5.4.0: - resolution: {integrity: sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==} - engines: {node: '>=6'} - dependencies: - '@leichtgewicht/ip-codec': 2.0.4 - dev: true - /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -6200,6 +5556,15 @@ packages: resolution: {integrity: sha512-4liA0PuRkZWQFQjwBypdxPfZaRWiv5tkhMXY2hzsa2pNf5s7U3m9cwUchfNKe8wZQxdGPQQzO6Rm2uGe0rvohQ==} dev: true + /dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + dev: true + /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true @@ -6228,11 +5593,6 @@ packages: resolution: {integrity: sha512-DIk2H4g/3ZhjgiABJjVdQvUdMlSABOsjeCm6gmUzIdKxAuFrGiJ8QXMm3i09grZdDBMC/d8MELMrdwYRC0+YHg==} dev: true - /emittery@0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} - engines: {node: '>=12'} - dev: true - /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -6246,11 +5606,6 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - dev: true - /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -6262,14 +5617,6 @@ packages: once: 1.4.0 dev: true - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: true - /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -6286,15 +5633,6 @@ packages: engines: {node: '>=0.12'} dev: true - /errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true - requiresBuild: true - dependencies: - prr: 1.0.1 - dev: true - optional: true - /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -6344,6 +5682,16 @@ packages: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} dev: true + /es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: @@ -6358,8 +5706,11 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 dev: true /es-set-tostringtag@2.0.1: @@ -6371,6 +5722,16 @@ packages: has-tostringtag: 1.0.0 dev: true + /es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + dev: true + /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} @@ -6485,6 +5846,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /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} + dev: true + /eslint@8.35.0: resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6599,9 +5965,12 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + /events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + dependencies: + bare-events: 2.9.1 + transitivePeerDependencies: + - bare-abort-controller dev: true /execa@0.7.0: @@ -6666,17 +6035,6 @@ packages: homedir-polyfill: 1.0.3 dev: true - /expect@28.1.3: - resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/expect-utils': 28.1.3 - jest-get-type: 28.0.2 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - dev: true - /expect@29.5.0: resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6755,6 +6113,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + dev: true + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -6795,13 +6157,6 @@ packages: reusify: 1.0.4 dev: true - /faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} - dependencies: - websocket-driver: 0.7.4 - dev: true - /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: @@ -6845,17 +6200,6 @@ packages: flat-cache: 3.0.4 dev: true - /file-loader@6.2.0(webpack@5.76.0): - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.1.1 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /file-type@17.1.6: resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7006,39 +6350,22 @@ packages: optional: true dev: true + /follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true - /fork-ts-checker-webpack-plugin@7.2.13(typescript@4.9.5)(webpack@5.76.0): - resolution: {integrity: sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==} - engines: {node: '>=12.13.0', yarn: '>=1.0.0'} - peerDependencies: - typescript: '>3.6.0' - vue-template-compiler: '*' - webpack: ^5.11.0 - peerDependenciesMeta: - vue-template-compiler: - optional: true - dependencies: - '@babel/code-frame': 7.18.6 - chalk: 4.1.2 - chokidar: 3.5.3 - cosmiconfig: 7.1.0 - deepmerge: 4.3.0 - fs-extra: 10.1.0 - memfs: 3.4.13 - minimatch: 3.1.2 - node-abort-controller: 3.1.1 - schema-utils: 3.1.1 - semver: 7.3.8 - tapable: 2.2.1 - typescript: 4.9.5 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -7053,6 +6380,17 @@ packages: mime-types: 2.1.35 dev: true + /form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + dev: true + /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -7105,6 +6443,15 @@ packages: universalify: 2.0.0 dev: true + /fs-extra@11.3.4: + resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -7124,17 +6471,6 @@ packages: universalify: 2.0.0 dev: true - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /fs-monkey@1.0.3: - resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} - dev: true - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -7159,6 +6495,10 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} @@ -7197,6 +6537,22 @@ packages: has-symbols: 1.0.3 dev: true + /get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + dev: true + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -7213,6 +6569,14 @@ packages: yargs: 16.2.0 dev: true + /get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + dev: true + /get-stream@3.0.0: resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} engines: {node: '>=4'} @@ -7314,12 +6678,9 @@ packages: is-glob: 4.0.3 dev: true - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - /glob@7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -7343,6 +6704,7 @@ packages: /global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} + requiresBuild: true dependencies: ini: 1.3.8 dev: true @@ -7420,18 +6782,6 @@ packages: slash: 3.0.0 dev: true - /globby@12.2.0: - resolution: {integrity: sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - array-union: 3.0.1 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 - dev: true - /globby@13.1.3: resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7449,6 +6799,11 @@ packages: get-intrinsic: 1.2.0 dev: true + /gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + dev: true + /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} @@ -7491,8 +6846,8 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true - /handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /handlebars@4.7.7: @@ -7552,6 +6907,11 @@ packages: engines: {node: '>= 0.4'} dev: true + /has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + dev: true + /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} @@ -7559,6 +6919,13 @@ packages: has-symbols: 1.0.3 dev: true + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.1.0 + dev: true + /has-yarn@3.0.0: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7571,6 +6938,13 @@ packages: function-bind: 1.1.1 dev: true + /hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -7599,15 +6973,6 @@ packages: lru-cache: 6.0.0 dev: true - /hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - dev: true - /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -7615,10 +6980,6 @@ packages: whatwg-encoding: 2.0.0 dev: true - /html-entities@2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} - dev: true - /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -7627,20 +6988,6 @@ packages: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true - /http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - dev: true - - /http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - dev: true - /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -7652,10 +6999,6 @@ packages: toidentifier: 1.0.1 dev: true - /http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - dev: true - /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} @@ -7678,31 +7021,12 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.17): - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - dependencies: - '@types/express': 4.17.17 - '@types/http-proxy': 1.17.10 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.5 - transitivePeerDependencies: - - debug - dev: true - /http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.16.0 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -7810,18 +7134,6 @@ packages: engines: {node: '>= 4'} dev: true - /image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} - engines: {node: '>=0.10.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - - /immutable@4.2.4: - resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==} - dev: true - /import-cwd@3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} @@ -7880,10 +7192,6 @@ packages: wrappy: 1.0.2 dev: true - /inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true - /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true @@ -7902,6 +7210,11 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true + /ini@4.1.3: + resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /inquirer@6.5.2: resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} engines: {node: '>=6.0.0'} @@ -8009,11 +7322,6 @@ packages: engines: {node: '>= 0.10'} dev: true - /ipaddr.js@2.0.1: - resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} - engines: {node: '>= 10'} - dev: true - /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -8183,11 +7491,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - dev: true - /is-plain-object@3.0.1: resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} engines: {node: '>=0.10.0'} @@ -8303,10 +7606,6 @@ packages: call-bind: 1.0.2 dev: true - /is-what@3.14.1: - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} - dev: true - /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -8421,33 +7720,6 @@ packages: p-limit: 3.1.0 dev: true - /jest-circus@28.1.3: - resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - chalk: 4.1.2 - co: 4.6.0 - dedent: 0.7.0 - is-generator-fn: 2.1.0 - jest-each: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 - p-limit: 3.1.0 - pretty-format: 28.1.3 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - supports-color - dev: true - /jest-circus@29.5.0: resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8504,46 +7776,6 @@ packages: - ts-node dev: true - /jest-config@28.1.1(@types/node@18.15.0)(ts-node@10.9.1): - resolution: {integrity: sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.21.0 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - babel-jest: 28.1.3(@babel/core@7.21.0) - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.0 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.1 - jest-runner: 28.1.3 - jest-util: 28.1.1 - jest-validate: 28.1.3 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 28.1.3 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) - transitivePeerDependencies: - - supports-color - dev: true - /jest-config@29.5.0(@types/node@18.15.0)(ts-node@10.9.1): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8584,16 +7816,6 @@ packages: - supports-color dev: true - /jest-diff@28.1.3: - resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 28.1.1 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 - dev: true - /jest-diff@29.5.0: resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8604,13 +7826,6 @@ packages: pretty-format: 29.5.0 dev: true - /jest-docblock@28.1.1: - resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - /jest-docblock@29.4.3: resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8618,17 +7833,6 @@ packages: detect-newline: 3.1.0 dev: true - /jest-each@28.1.3: - resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - chalk: 4.1.2 - jest-get-type: 28.0.2 - jest-util: 28.1.3 - pretty-format: 28.1.3 - dev: true - /jest-each@29.5.0: resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8663,18 +7867,6 @@ packages: - utf-8-validate dev: true - /jest-environment-node@28.1.3: - resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - jest-mock: 28.1.3 - jest-util: 28.1.3 - dev: true - /jest-environment-node@29.5.0: resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8687,35 +7879,11 @@ packages: jest-util: 29.5.0 dev: true - /jest-get-type@28.0.2: - resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dev: true - /jest-get-type@29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@28.1.3: - resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - '@types/graceful-fs': 4.1.6 - '@types/node': 18.15.0 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.10 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 - jest-worker: 28.1.3 - micromatch: 4.0.5 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /jest-haste-map@29.5.0: resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8735,14 +7903,6 @@ packages: fsevents: 2.3.2 dev: true - /jest-leak-detector@28.1.3: - resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - jest-get-type: 28.0.2 - pretty-format: 28.1.3 - dev: true - /jest-leak-detector@29.5.0: resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8751,16 +7911,6 @@ packages: pretty-format: 29.5.0 dev: true - /jest-matcher-utils@28.1.3: - resolution: {integrity: sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 - dev: true - /jest-matcher-utils@29.5.0: resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8771,21 +7921,6 @@ packages: pretty-format: 29.5.0 dev: true - /jest-message-util@28.1.3: - resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@babel/code-frame': 7.18.6 - '@jest/types': 28.1.3 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - pretty-format: 28.1.3 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-message-util@29.5.0: resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8801,14 +7936,6 @@ packages: stack-utils: 2.0.6 dev: true - /jest-mock@28.1.3: - resolution: {integrity: sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - dev: true - /jest-mock@29.5.0: resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8818,30 +7945,6 @@ packages: jest-util: 29.5.0 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@28.1.1): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 28.1.1 - dev: true - - /jest-pnp-resolver@1.2.3(jest-resolve@28.1.3): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 28.1.3 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} @@ -8854,11 +7957,6 @@ packages: jest-resolve: 29.5.0 dev: true - /jest-regex-util@28.0.2: - resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dev: true - /jest-regex-util@29.4.3: resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8874,36 +7972,6 @@ packages: - supports-color dev: true - /jest-resolve@28.1.1: - resolution: {integrity: sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.3(jest-resolve@28.1.1) - jest-util: 28.1.1 - jest-validate: 28.1.3 - resolve: 1.22.1 - resolve.exports: 1.1.0 - slash: 3.0.0 - dev: true - - /jest-resolve@28.1.3: - resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) - jest-util: 28.1.3 - jest-validate: 28.1.3 - resolve: 1.22.1 - resolve.exports: 1.1.0 - slash: 3.0.0 - dev: true - /jest-resolve@29.5.0: resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8916,36 +7984,7 @@ packages: jest-validate: 29.5.0 resolve: 1.22.1 resolve.exports: 2.0.1 - slash: 3.0.0 - dev: true - - /jest-runner@28.1.3: - resolution: {integrity: sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/console': 28.1.3 - '@jest/environment': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - chalk: 4.1.2 - emittery: 0.10.2 - graceful-fs: 4.2.10 - jest-docblock: 28.1.1 - jest-environment-node: 28.1.3 - jest-haste-map: 28.1.3 - jest-leak-detector: 28.1.3 - jest-message-util: 28.1.3 - jest-resolve: 28.1.3 - jest-runtime: 28.1.3 - jest-util: 28.1.3 - jest-watcher: 28.1.3 - jest-worker: 28.1.3 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color + slash: 3.0.0 dev: true /jest-runner@29.5.0: @@ -8977,36 +8016,6 @@ packages: - supports-color dev: true - /jest-runtime@28.1.3: - resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/globals': 28.1.3 - '@jest/source-map': 28.1.2 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - execa: 5.1.1 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /jest-runtime@29.5.0: resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9037,37 +8046,6 @@ packages: - supports-color dev: true - /jest-snapshot@28.1.3: - resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@babel/core': 7.21.0 - '@babel/generator': 7.21.1 - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.0) - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - '@jest/expect-utils': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/babel__traverse': 7.18.3 - '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.0) - chalk: 4.1.2 - expect: 28.1.3 - graceful-fs: 4.2.10 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - jest-haste-map: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - natural-compare: 1.4.0 - pretty-format: 28.1.3 - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - dev: true - /jest-snapshot@29.5.0: resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9094,35 +8072,11 @@ packages: jest-util: 29.5.0 natural-compare: 1.4.0 pretty-format: 29.5.0 - semver: 7.3.8 + semver: 7.8.5 transitivePeerDependencies: - supports-color dev: true - /jest-util@28.1.1: - resolution: {integrity: sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.10 - picomatch: 2.3.1 - dev: true - - /jest-util@28.1.3: - resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.10 - picomatch: 2.3.1 - dev: true - /jest-util@29.5.0: resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9135,18 +8089,6 @@ packages: picomatch: 2.3.1 dev: true - /jest-validate@28.1.3: - resolution: {integrity: sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/types': 28.1.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 28.0.2 - leven: 3.1.0 - pretty-format: 28.1.3 - dev: true - /jest-validate@29.5.0: resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9159,20 +8101,6 @@ packages: pretty-format: 29.5.0 dev: true - /jest-watcher@28.1.3: - resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.15.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.10.2 - jest-util: 28.1.3 - string-length: 4.0.2 - dev: true - /jest-watcher@29.5.0: resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9187,24 +8115,6 @@ packages: string-length: 4.0.2 dev: true - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 18.15.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - - /jest-worker@28.1.3: - resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@types/node': 18.15.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - /jest-worker@29.5.0: resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9392,11 +8302,6 @@ packages: engines: {node: '>=6'} dev: true - /klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - dev: true - /latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} @@ -9404,38 +8309,6 @@ packages: package-json: 8.1.0 dev: true - /less-loader@11.1.0(less@4.1.3)(webpack@5.76.0): - resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} - engines: {node: '>= 14.15.0'} - peerDependencies: - less: ^3.5.0 || ^4.0.0 - webpack: ^5.0.0 - dependencies: - klona: 2.0.6 - less: 4.1.3 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /less@4.1.3: - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - copy-anything: 2.0.6 - parse-node-version: 1.0.1 - tslib: 2.5.3 - optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.10 - image-size: 0.5.5 - make-dir: 2.1.0 - mime: 1.6.0 - needle: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -9457,20 +8330,6 @@ packages: type-check: 0.4.0 dev: true - /license-webpack-plugin@4.0.2(webpack@5.76.0): - resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} - peerDependencies: - webpack: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-sources: - optional: true - dependencies: - webpack: 5.76.0(@swc/core@1.3.39) - webpack-sources: 3.2.3 - dev: true - /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -9495,20 +8354,6 @@ packages: strip-bom: 3.0.0 dev: true - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: true - - /loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - dev: true - /loader-utils@3.2.1: resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} @@ -9558,6 +8403,7 @@ packages: /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + requiresBuild: true dev: true optional: true @@ -9575,6 +8421,7 @@ packages: /lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + requiresBuild: true dev: true optional: true @@ -9666,16 +8513,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /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.1 - dev: true - optional: true - /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -9703,6 +8540,11 @@ packages: engines: {node: '>=8'} dev: true + /math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + dev: true + /mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} dev: true @@ -9712,13 +8554,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /memfs@3.4.13: - resolution: {integrity: sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==} - engines: {node: '>= 4.0.0'} - dependencies: - fs-monkey: 1.0.3 - dev: true - /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -9830,25 +8665,11 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.4.7(webpack@5.76.0): - resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - schema-utils: 4.0.0 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true dev: true - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true - /minimatch@3.0.5: resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} dependencies: @@ -9865,7 +8686,14 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.1.1 + dev: true + + /minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.1.1 dev: true /minimist-options@4.1.0: @@ -9885,21 +8713,6 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - dev: true - - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: true - /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -9907,12 +8720,6 @@ packages: minimist: 1.2.8 dev: true - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - /modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} @@ -9953,14 +8760,6 @@ packages: xtend: 4.0.2 dev: true - /multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - dependencies: - dns-packet: 5.4.0 - thunky: 1.1.0 - dev: true - /mute-stream@0.0.7: resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} dev: true @@ -9983,20 +8782,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /needle@3.2.0: - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} - engines: {node: '>= 4.4.x'} - hasBin: true - requiresBuild: true - dependencies: - debug: 3.2.7 - iconv-lite: 0.6.3 - sax: 1.2.4 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -10018,10 +8803,6 @@ packages: type-fest: 2.19.0 dev: true - /node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - dev: true - /node-addon-api@3.2.1: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} dev: true @@ -10052,11 +8833,6 @@ packages: formdata-polyfill: 4.0.10 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==} hasBin: true @@ -10144,8 +8920,28 @@ packages: resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} dev: true - /nx@15.8.5(@swc/core@1.3.39): - resolution: {integrity: sha512-1c6Y3rPSzzlqQVJPo33Ej0HY/3t9ykeaPs074HpYxXH0+GU1BSIv/9EfXKQGvmBzjs5yAx6asGIv+H3QDrFt3A==} + /nx-cloud@19.1.3: + resolution: {integrity: sha512-fY0MnE4tJOERMq6HnAD/ILI2w1r1z3BNMXyEszr4kg+py2bFtpM211cP9WLhJKwTMg3Mv/ut89g37EZY9IOKgg==} + hasBin: true + dependencies: + axios: 1.13.6 + chalk: 4.1.2 + dotenv: 10.0.0 + fs-extra: 11.3.4 + ini: 4.1.3 + node-machine-id: 1.1.12 + open: 8.4.2 + tar-stream: 3.1.8 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - debug + - react-native-b4a + dev: true + + /nx@16.0.0(@swc/core@1.3.39): + resolution: {integrity: sha512-ZqqXDqJL3gW1wqwuDXPDeCZZWWSQAi2TrhpK9X1oyCml2TixzMhFBXVF+WZebIw2TCE83T3kK0lHMo72UZTmNw==} hasBin: true requiresBuild: true peerDependencies: @@ -10157,8 +8953,7 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/cli': 15.8.5(@swc/core@1.3.39) - '@nrwl/tao': 15.8.5(@swc/core@1.3.39) + '@nrwl/tao': 16.0.0(@swc/core@1.3.39) '@parcel/watcher': 2.0.4 '@swc/core': 1.3.39 '@yarnpkg/lockfile': 1.1.0 @@ -10189,20 +8984,20 @@ packages: tar-stream: 2.2.0 tmp: 0.2.1 tsconfig-paths: 4.1.2 - tslib: 2.5.0 + tslib: 2.5.3 v8-compile-cache: 2.3.0 yargs: 17.7.1 yargs-parser: 21.1.1 optionalDependencies: - '@nrwl/nx-darwin-arm64': 15.8.5 - '@nrwl/nx-darwin-x64': 15.8.5 - '@nrwl/nx-linux-arm-gnueabihf': 15.8.5 - '@nrwl/nx-linux-arm64-gnu': 15.8.5 - '@nrwl/nx-linux-arm64-musl': 15.8.5 - '@nrwl/nx-linux-x64-gnu': 15.8.5 - '@nrwl/nx-linux-x64-musl': 15.8.5 - '@nrwl/nx-win32-arm64-msvc': 15.8.5 - '@nrwl/nx-win32-x64-msvc': 15.8.5 + '@nx/nx-darwin-arm64': 16.0.0 + '@nx/nx-darwin-x64': 16.0.0 + '@nx/nx-linux-arm-gnueabihf': 16.0.0 + '@nx/nx-linux-arm64-gnu': 16.0.0 + '@nx/nx-linux-arm64-musl': 16.0.0 + '@nx/nx-linux-x64-gnu': 16.0.0 + '@nx/nx-linux-x64-musl': 16.0.0 + '@nx/nx-win32-arm64-msvc': 16.0.0 + '@nx/nx-win32-x64-msvc': 16.0.0 transitivePeerDependencies: - debug dev: true @@ -10231,10 +9026,6 @@ packages: object-keys: 1.1.1 dev: true - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: true - /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -10242,11 +9033,6 @@ packages: ee-first: 1.1.1 dev: true - /on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - dev: true - /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -10432,14 +9218,6 @@ packages: p-timeout: 3.2.0 dev: true - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - dependencies: - '@types/retry': 0.12.0 - retry: 0.13.1 - dev: true - /p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} @@ -10490,7 +9268,7 @@ packages: got: 12.6.0 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.3.8 + semver: 7.8.5 dev: true /parent-module@1.0.1: @@ -10518,11 +9296,6 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse-node-version@1.0.1: - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} - engines: {node: '>= 0.10'} - dev: true - /parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -10540,10 +9313,6 @@ packages: parse-path: 7.0.0 dev: true - /parse5@4.0.0: - resolution: {integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==} - dev: true - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -10643,12 +9412,6 @@ packages: engines: {node: '>=4'} dev: true - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true - optional: true - /pify@5.0.0: resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} engines: {node: '>=10'} @@ -10752,18 +9515,6 @@ packages: postcss: 8.4.21 dev: true - /postcss-import@14.1.0(postcss@8.4.21): - resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.1 - dev: true - /postcss-load-config@3.1.4(postcss@8.4.21)(ts-node@10.9.1): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -10782,20 +9533,6 @@ packages: yaml: 1.10.2 dev: true - /postcss-loader@6.2.1(postcss@8.4.21)(webpack@5.76.0): - resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - dependencies: - cosmiconfig: 7.1.0 - klona: 2.0.6 - postcss: 8.4.21 - semver: 7.3.8 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /postcss-merge-longhand@5.1.7(postcss@8.4.21): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -11102,16 +9839,6 @@ packages: hasBin: true dev: true - /pretty-format@28.1.3: - resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/schemas': 28.1.3 - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /pretty-format@29.5.0: resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -11186,11 +9913,6 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - dev: true - optional: true - /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true @@ -11259,12 +9981,6 @@ packages: engines: {node: '>=10'} dev: true - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -11304,12 +10020,6 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - dependencies: - pify: 2.3.0 - dev: true - /read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -11568,6 +10278,7 @@ packages: /resolve-global@1.0.0: resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} engines: {node: '>=8'} + requiresBuild: true dependencies: global-dirs: 0.1.1 dev: true @@ -11710,7 +10421,7 @@ packages: find-cache-dir: 3.3.2 fs-extra: 10.1.0 rollup: 2.79.1 - semver: 7.3.8 + semver: 7.8.5 tslib: 2.5.3 typescript: 4.9.5 dev: true @@ -11767,59 +10478,20 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-identifier@0.4.2: - resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} - dev: true - - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-regex: 1.1.4 - dev: true - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /sass-loader@12.6.0(sass@1.58.3)(webpack@5.76.0): - resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - sass: ^1.3.0 - sass-embedded: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - dependencies: - klona: 2.0.6 - neo-async: 2.6.2 - sass: 1.58.3 - webpack: 5.76.0(@swc/core@1.3.39) + /safe-identifier@0.4.2: + resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} dev: true - /sass@1.58.3: - resolution: {integrity: sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==} - engines: {node: '>=12.0.0'} - hasBin: true + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - chokidar: 3.5.3 - immutable: 4.2.4 - source-map-js: 1.0.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 dev: true - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /saxes@6.0.0: @@ -11829,45 +10501,15 @@ packages: xmlchars: 2.2.0 dev: true - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.11 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true - - /schema-utils@4.0.0: - resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} - engines: {node: '>= 12.13.0'} - dependencies: - '@types/json-schema': 7.0.11 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - ajv-keywords: 5.1.0(ajv@8.12.0) - dev: true - /secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true - /select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - dev: true - - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} - engines: {node: '>=10'} - dependencies: - node-forge: 1.3.1 - dev: true - /semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} dependencies: - semver: 7.3.8 + semver: 7.8.5 dev: true /semver-regex@4.0.5: @@ -11908,6 +10550,12 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -11987,27 +10635,6 @@ packages: - supports-color dev: true - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} - dependencies: - randombytes: 2.1.0 - dev: true - - /serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} - dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.6.3 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} @@ -12024,10 +10651,6 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - dev: true - /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true @@ -12097,14 +10720,6 @@ packages: engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: true - /sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.4 - dev: true - /socks-proxy-agent@5.0.1: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} @@ -12143,26 +10758,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map-loader@3.0.2(webpack@5.76.0): - resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - abab: 2.0.6 - iconv-lite: 0.6.3 - source-map-js: 1.0.2 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /source-map-resolve@0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - dev: true - /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -12177,13 +10772,6 @@ packages: source-map: 0.6.1 dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -12221,32 +10809,6 @@ packages: resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true - /spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - dependencies: - debug: 4.3.4 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.1 - wbuf: 1.7.3 - transitivePeerDependencies: - - supports-color - dev: true - - /spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - dependencies: - debug: 4.3.4 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: @@ -12275,11 +10837,6 @@ packages: escape-string-regexp: 2.0.0 dev: true - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true - /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -12297,6 +10854,17 @@ packages: engines: {node: '>=10.0.0'} dev: true + /streamx@2.28.0: + resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.7 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + dev: true + /string-hash@1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true @@ -12464,15 +11032,6 @@ packages: resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} dev: true - /style-loader@3.3.1(webpack@5.76.0): - resolution: {integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /stylehacks@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} @@ -12484,36 +11043,6 @@ packages: postcss-selector-parser: 6.0.11 dev: true - /stylus-loader@7.1.0(stylus@0.55.0)(webpack@5.76.0): - resolution: {integrity: sha512-gNUEjjozR+oZ8cuC/Fx4LVXqZOgDKvpW9t2hpXHcxjfPYqSjQftaGwZUK+wL9B0QJ26uS6p1EmoWHmvld1dF7g==} - engines: {node: '>= 14.15.0'} - peerDependencies: - stylus: '>=0.52.4' - webpack: ^5.0.0 - dependencies: - fast-glob: 3.2.12 - klona: 2.0.6 - normalize-path: 3.0.0 - stylus: 0.55.0 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /stylus@0.55.0: - resolution: {integrity: sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==} - hasBin: true - dependencies: - css: 3.0.0 - debug: 3.1.0 - glob: 7.2.3 - mkdirp: 1.0.4 - safer-buffer: 2.1.2 - sax: 1.2.4 - semver: 6.3.0 - source-map: 0.7.4 - transitivePeerDependencies: - - supports-color - dev: true - /superagent@8.0.9: resolution: {integrity: sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -12563,14 +11092,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -12594,11 +11115,6 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -12610,16 +11126,26 @@ packages: readable-stream: 3.6.1 dev: true - /tar@6.1.11: - resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} - engines: {node: '>= 10'} + /tar-stream@3.1.8: + resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 3.3.6 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 + b4a: 1.8.1 + bare-fs: 4.7.2 + fast-fifo: 1.3.2 + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + dev: true + + /teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + dependencies: + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a dev: true /temp@0.9.4: @@ -12630,50 +11156,6 @@ packages: rimraf: 2.6.3 dev: true - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - - /terser-webpack-plugin@5.3.7(@swc/core@1.3.39)(webpack@5.76.0): - resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - '@swc/core': 1.3.39 - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.6 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /terser@5.16.6: - resolution: {integrity: sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -12683,6 +11165,14 @@ packages: minimatch: 3.1.2 dev: true + /text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} + dependencies: + b4a: 1.8.1 + transitivePeerDependencies: + - react-native-b4a + dev: true + /text-extensions@1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} @@ -12709,10 +11199,6 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - dev: true - /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -12798,20 +11284,23 @@ packages: escape-string-regexp: 5.0.0 dev: true - /ts-jest@29.0.5(@babel/core@7.21.0)(jest@29.5.0)(typescript@4.9.5): - resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /ts-jest@29.1.5(@babel/core@7.21.0)(jest@29.5.0)(typescript@4.9.5): + resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 '@jest/types': ^29.0.0 babel-jest: ^29.0.0 esbuild: '*' jest: ^29.0.0 - typescript: '>=4.3' + typescript: '>=4.3 <6' peerDependenciesMeta: '@babel/core': optional: true + '@jest/transform': + optional: true '@jest/types': optional: true babel-jest: @@ -12827,26 +11316,11 @@ packages: json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.3.8 + semver: 7.8.5 typescript: 4.9.5 yargs-parser: 21.1.1 dev: true - /ts-loader@9.4.2(typescript@4.9.5)(webpack@5.76.0): - resolution: {integrity: sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==} - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: '*' - webpack: ^5.0.0 - dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.12.0 - micromatch: 4.0.5 - semver: 7.3.8 - typescript: 4.9.5 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - /ts-node@10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -12879,15 +11353,6 @@ packages: yn: 3.1.1 dev: true - /tsconfig-paths-webpack-plugin@4.0.0: - resolution: {integrity: sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==} - engines: {node: '>=10.13.0'} - dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.12.0 - tsconfig-paths: 4.1.2 - dev: true - /tsconfig-paths@4.1.2: resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} engines: {node: '>=6'} @@ -12908,6 +11373,10 @@ packages: resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} dev: true + /tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + dev: false + /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -12993,10 +11462,6 @@ packages: is-typed-array: 1.1.10 dev: true - /typed-assert@1.0.9: - resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} - dev: true - /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: @@ -13228,20 +11693,6 @@ packages: makeerror: 1.0.12 dev: true - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - dev: true - - /wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - dependencies: - minimalistic-assert: 1.0.1 - dev: true - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: @@ -13262,146 +11713,6 @@ packages: engines: {node: '>=12'} dev: true - /webpack-dev-middleware@5.3.3(webpack@5.76.0): - resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - colorette: 2.0.19 - memfs: 3.4.13 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.0.0 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /webpack-dev-server@4.11.1(webpack@5.76.0): - resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.3.5 - '@types/express': 4.17.17 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.1 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.4 - ansi-html-community: 0.0.8 - bonjour-service: 1.1.0 - chokidar: 3.5.3 - colorette: 2.0.19 - compression: 1.7.4 - connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.18.2 - graceful-fs: 4.2.10 - html-entities: 2.3.3 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) - ipaddr.js: 2.0.1 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 - schema-utils: 4.0.0 - selfsigned: 2.1.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack: 5.76.0(@swc/core@1.3.39) - webpack-dev-middleware: 5.3.3(webpack@5.76.0) - ws: 8.12.1 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - dev: true - - /webpack-node-externals@3.0.0: - resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} - engines: {node: '>=6'} - dev: true - - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true - - /webpack-subresource-integrity@5.1.0(webpack@5.76.0): - resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} - engines: {node: '>= 12'} - peerDependencies: - html-webpack-plugin: '>= 5.0.0-beta.1 < 6' - webpack: ^5.12.0 - peerDependenciesMeta: - html-webpack-plugin: - optional: true - dependencies: - typed-assert: 1.0.9 - webpack: 5.76.0(@swc/core@1.3.39) - dev: true - - /webpack@5.76.0(@swc/core@1.3.39): - resolution: {integrity: sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.7(@swc/core@1.3.39)(webpack@5.76.0) - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - - /websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} - dependencies: - http-parser-js: 0.5.8 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - dev: true - - /websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - dev: true - /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} diff --git a/tools/generators/.gitkeep b/tools/generators/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tools/scripts/publish.mjs b/tools/scripts/publish.mjs index 6513911c4..f30cb95c7 100644 --- a/tools/scripts/publish.mjs +++ b/tools/scripts/publish.mjs @@ -7,7 +7,7 @@ * You might need to authenticate with NPM before running this script. */ -import { readCachedProjectGraph } from '@nrwl/devkit'; +import { readCachedProjectGraph } from '@nx/devkit'; import { execSync } from 'child_process'; import { readFileSync, writeFileSync } from 'fs'; import chalk from 'chalk'; From 1cc02ff84a6a6dea4a1770dad1d3b12b59edfd8a Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 16:31:56 -0400 Subject: [PATCH 03/73] chore(repo): migrate nx 16 -> 19, TypeScript 4.9 -> 5.4 - nx 16->19 migration scripts (@nx/linter -> @nx/eslint, .nx/cache dir, target-defaults, nx.json plugin/defaultBase moves) - fix transformer-plugin for TS 5: visitNode needs an isSourceFile type guard to narrow Node|undefined back to SourceFile (model-visitor.ts) - transformer-plugin specs: set experimentalDecorators explicitly (TS 5.0+ defaults to stage-3 decorators; @automapper/classes uses legacy ones) - regen one fixture for TS 5.4 commonjs emit order (exports before __decorate) Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 2 + .prettierignore | 2 + nx.json | 56 +- package.json | 47 +- packages/classes/mapped-types/project.json | 15 +- packages/classes/project.json | 15 +- .../classes/transformer-plugin/project.json | 17 +- .../src/lib/model-visitor.ts | 8 +- packages/core/project.json | 15 +- packages/integration-test/project.json | 13 +- .../src/transformer-plugin/model.ts | 2 +- .../transformer-plugin.spec.ts | 18 + packages/mikro/project.json | 15 +- packages/nestjs/project.json | 15 +- packages/pojos/project.json | 15 +- packages/sequelize/project.json | 15 +- packages/zod/project.json | 22 +- pnpm-lock.yaml | 4223 ++++++++++------- 18 files changed, 2665 insertions(+), 1850 deletions(-) diff --git a/.gitignore b/.gitignore index b889fdf8e..8ee220fe8 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,5 @@ Thumbs.db old .env + +.nx/cache \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index d0b804da2..85f8ece66 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,3 +2,5 @@ /dist /coverage + +/.nx/cache \ No newline at end of file diff --git a/nx.json b/nx.json index fa83767f9..1bad922dc 100644 --- a/nx.json +++ b/nx.json @@ -1,44 +1,44 @@ { - "tasksRunnerOptions": { - "default": { - "runner": "nx-cloud", - "options": { - "cacheableOperations": [ - "build", - "lint", - "test", - "e2e", - "package", - "package-lib" - ], - "accessToken": "MjMzYTA3OWMtMjQ1MS00YzFhLWExYTYtODMzMTM5MmQxZmE1fHJlYWQtd3JpdGU=" - } - } - }, "extends": "nx/presets/core.json", - "npmScope": "automapper", - "affected": { - "defaultBase": "main" - }, - "cli": { - "defaultCollection": "@nx/workspace" - }, "$schema": "./node_modules/nx/schemas/nx-schema.json", "namedInputs": { "default": ["{projectRoot}/**/*"], "prod": ["!{projectRoot}/**/*.spec.ts"] }, "targetDefaults": { - "test": { - "inputs": ["default", "^prod"] + "build": { + "cache": true }, - "lint": { - "inputs": ["default", "{workspaceRoot}/.eslintrc.json"] + "package": { + "cache": true + }, + "package-lib": { + "cache": true + }, + "@nx/jest:jest": { + "inputs": ["default", "^prod"], + "cache": true, + "options": { + "passWithNoTests": true + }, + "configurations": { + "ci": { + "ci": true, + "codeCoverage": true + } + } + }, + "@nx/eslint:lint": { + "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], + "cache": true } }, "pluginsConfig": { "@nx/js": { "analyzeSourceFiles": true } - } + }, + "nxCloudAccessToken": "MjMzYTA3OWMtMjQ1MS00YzFhLWExYTYtODMzMTM5MmQxZmE1fHJlYWQtd3JpdGU=", + "useInferencePlugins": false, + "defaultBase": "main" } diff --git a/package.json b/package.json index 077a0322a..11131fda8 100644 --- a/package.json +++ b/package.json @@ -20,32 +20,32 @@ }, "devDependencies": { "@mikro-orm/core": "5.6.13", - "@nestjs/common": "10.0.3", - "@nestjs/core": "10.0.3", - "@nestjs/platform-express": "10.0.3", - "@nestjs/schematics": "10.0.1", - "@nestjs/testing": "10.0.3", + "@nestjs/common": "10.4.22", + "@nestjs/core": "10.4.22", + "@nestjs/platform-express": "10.4.22", + "@nestjs/schematics": "10.2.3", + "@nestjs/testing": "10.4.22", "@release-it/bumper": "4.0.2", "@release-it/conventional-changelog": "5.1.1", - "@swc/cli": "0.1.65", - "@swc/core": "^1.2.173", + "@swc/cli": "0.3.14", + "@swc/core": "1.3.107", "@swc/jest": "0.2.20", "@types/jest": "29.4.0", - "@types/node": "18.15.0", + "@types/node": "18.19.130", "@types/supertest": "2.0.12", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "7.18.0", + "@typescript-eslint/parser": "7.18.0", "all-contributors-cli": "6.24.0", "babel-preset-minify": "0.5.2", "commitizen": "4.3.0", "cz-customizable": "7.0.0", "dotenv-cli": "7.0.0", - "eslint": "8.35.0", - "eslint-config-prettier": "8.7.0", + "eslint": "8.57.1", + "eslint-config-prettier": "9.1.2", "fs-extra": "^11.1.0", "jest": "29.5.0", "jest-environment-jsdom": "29.5.0", - "nx": "16.0.0", + "nx": "19.0.0", "prettier": "2.8.4", "reflect-metadata": "~0.1.13", "release-it": "15.8.0", @@ -54,17 +54,16 @@ "supertest": "6.3.3", "ts-jest": "29.1.5", "ts-node": "10.9.1", - "typescript": "4.9.5", - "nx-cloud": "19.1.3", - "@nx/devkit": "16.0.0", - "@nx/workspace": "16.0.0", - "@nx/js": "16.0.0", - "@nx/linter": "16.0.0", - "@nx/rollup": "16.0.0", - "@nx/jest": "16.0.0", - "@nx/eslint-plugin": "16.0.0", - "@nx/web": "16.0.0", - "@nx/nest": "16.0.0" + "typescript": "5.4.5", + "@nx/devkit": "19.0.0", + "@nx/workspace": "19.0.0", + "@nx/js": "19.0.0", + "@nx/rollup": "19.0.0", + "@nx/jest": "19.0.0", + "@nx/eslint-plugin": "19.0.0", + "@nx/web": "19.0.0", + "@nx/nest": "19.0.0", + "@nx/eslint": "19.0.0" }, "config": { "commitizen": { diff --git a/packages/classes/mapped-types/project.json b/packages/classes/mapped-types/project.json index 3d0ed314b..54858f757 100644 --- a/packages/classes/mapped-types/project.json +++ b/packages/classes/mapped-types/project.json @@ -2,6 +2,7 @@ "name": "classes-mapped-types", "$schema": "../../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/classes/mapped-types/src", + "tags": ["classes"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib classes-mapped-types" @@ -23,15 +24,11 @@ "@automapper/classes" ], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/classes/mapped-types/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", @@ -39,10 +36,8 @@ "{workspaceRoot}/coverage/packages/classes/mapped-types" ], "options": { - "jestConfig": "packages/classes/mapped-types/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/classes/mapped-types/jest.config.cjs" } } - }, - "tags": ["classes"] + } } diff --git a/packages/classes/project.json b/packages/classes/project.json index 520e0a440..3947ce402 100644 --- a/packages/classes/project.json +++ b/packages/classes/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/classes/src", "projectType": "library", + "tags": ["classes"], "targets": { "package": { "executor": "nx:run-commands", @@ -26,22 +27,17 @@ "compiler": "babel", "external": ["typescript", "tslib", "@automapper/core"], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/classes/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/classes"], "options": { - "jestConfig": "packages/classes/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/classes/jest.config.cjs" } }, "publish": { @@ -51,6 +47,5 @@ "cwd": "dist/packages/classes" } } - }, - "tags": ["classes"] + } } diff --git a/packages/classes/transformer-plugin/project.json b/packages/classes/transformer-plugin/project.json index 45526509a..50e14fddb 100644 --- a/packages/classes/transformer-plugin/project.json +++ b/packages/classes/transformer-plugin/project.json @@ -2,6 +2,7 @@ "name": "classes-transformer-plugin", "$schema": "../../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/classes/transformer-plugin/src", + "tags": ["classes"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib classes-transformer-plugin" @@ -18,17 +19,11 @@ "compiler": "babel", "external": ["typescript", "tslib", "@automapper/classes"], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": [ - "packages/classes/transformer-plugin/**/*.ts" - ] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", @@ -36,10 +31,8 @@ "{workspaceRoot}/coverage/packages/classes/transformer-plugin" ], "options": { - "jestConfig": "packages/classes/transformer-plugin/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/classes/transformer-plugin/jest.config.cjs" } } - }, - "tags": ["classes"] + } } diff --git a/packages/classes/transformer-plugin/src/lib/model-visitor.ts b/packages/classes/transformer-plugin/src/lib/model-visitor.ts index 33f3ea74f..a62c50891 100644 --- a/packages/classes/transformer-plugin/src/lib/model-visitor.ts +++ b/packages/classes/transformer-plugin/src/lib/model-visitor.ts @@ -25,6 +25,7 @@ import { isGetAccessorDeclaration, isImportDeclaration, isPropertyDeclaration, + isSourceFile, ModuleKind, SyntaxKind, visitEachChild, @@ -152,10 +153,13 @@ export class ModelVisitor { return nodeVisitor; } + // TS 5.x: visitNode returns `Node | undefined` and needs a type guard + // to narrow back to SourceFile. const visitedSourceFile = visitNode( sourceFile, - nodeVisitorFactory(context, sourceFile) - ); + nodeVisitorFactory(context, sourceFile), + isSourceFile + ) as SourceFile; // if the target is CommonJS, keep as is if (ModelVisitor.isCommonJS) { diff --git a/packages/core/project.json b/packages/core/project.json index 62ee28369..b081522d9 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/core/src", "projectType": "library", + "tags": ["core"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib core" @@ -19,7 +20,7 @@ "compiler": "babel", "external": ["typescript", "tslib"], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "package-all": { @@ -39,18 +40,13 @@ } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/core/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/core"], "options": { - "jestConfig": "packages/core/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/core/jest.config.cjs" } }, "publish": { @@ -60,6 +56,5 @@ "cwd": "dist/packages/core" } } - }, - "tags": ["core"] + } } diff --git a/packages/integration-test/project.json b/packages/integration-test/project.json index a3b7b42c8..7ad98368d 100644 --- a/packages/integration-test/project.json +++ b/packages/integration-test/project.json @@ -2,22 +2,17 @@ "name": "integration-test", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/integration-test/src", + "tags": [], "targets": { "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/integration-test/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/integration-test"], "options": { - "jestConfig": "packages/integration-test/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/integration-test/jest.config.ts" } } - }, - "tags": [] + } } diff --git a/packages/integration-test/src/transformer-plugin/model.ts b/packages/integration-test/src/transformer-plugin/model.ts index 35ef2efc9..468ff0967 100644 --- a/packages/integration-test/src/transformer-plugin/model.ts +++ b/packages/integration-test/src/transformer-plugin/model.ts @@ -200,10 +200,10 @@ class User { ]; } } +exports.User = User; __decorate([ AutoMap() ], User.prototype, "ignoreMeToo", void 0); -exports.User = User; `; export const userModelTranspiledTextESM = `var Role; diff --git a/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts b/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts index 1e17163cc..081810af0 100644 --- a/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts +++ b/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts @@ -29,6 +29,10 @@ describe('Classes - Transformer Plugin', () => { module: ModuleKind.CommonJS, target: ScriptTarget.ESNext, noEmitHelpers: true, + // TS 5.0+ defaults to Stage 3 decorators; @automapper/classes + // uses legacy decorators, so this must be explicit (real users + // set it too). Restores __decorate emit the fixtures expect. + experimentalDecorators: true, }; const fileName = 'user.model.ts'; @@ -52,6 +56,10 @@ describe('Classes - Transformer Plugin', () => { module: ModuleKind.CommonJS, target: ScriptTarget.ESNext, noEmitHelpers: true, + // TS 5.0+ defaults to Stage 3 decorators; @automapper/classes + // uses legacy decorators, so this must be explicit (real users + // set it too). Restores __decorate emit the fixtures expect. + experimentalDecorators: true, }; const fileName = 'user.model.ts'; @@ -76,6 +84,10 @@ describe('Classes - Transformer Plugin', () => { module: ModuleKind.ES2015, target: ScriptTarget.ESNext, noEmitHelpers: true, + // TS 5.0+ defaults to Stage 3 decorators; @automapper/classes + // uses legacy decorators, so this must be explicit (real users + // set it too). Restores __decorate emit the fixtures expect. + experimentalDecorators: true, }; const fileName = 'user.model.ts'; @@ -101,6 +113,7 @@ describe('Classes - Transformer Plugin', () => { target: ScriptTarget.ESNext, noEmitHelpers: true, strict: true, + experimentalDecorators: true, }; const fileName = 'user.model.ts'; @@ -126,6 +139,7 @@ describe('Classes - Transformer Plugin', () => { target: ScriptTarget.ESNext, noEmitHelpers: true, strict: true, + experimentalDecorators: true, }; const fileName = 'user.model.ts'; @@ -151,6 +165,10 @@ describe('Classes - Transformer Plugin', () => { module: ModuleKind.CommonJS, target: ScriptTarget.ESNext, noEmitHelpers: true, + // TS 5.0+ defaults to Stage 3 decorators; @automapper/classes + // uses legacy decorators, so this must be explicit (real users + // set it too). Restores __decorate emit the fixtures expect. + experimentalDecorators: true, }; const createSkillFileName = 'create-skill.dto.ts'; diff --git a/packages/mikro/project.json b/packages/mikro/project.json index 4646b428d..c077fdef4 100644 --- a/packages/mikro/project.json +++ b/packages/mikro/project.json @@ -2,6 +2,7 @@ "name": "mikro", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/mikro/src", + "tags": ["mikro"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib mikro" @@ -23,22 +24,17 @@ "@automapper/classes" ], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/mikro/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/mikro"], "options": { - "jestConfig": "packages/mikro/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/mikro/jest.config.cjs" } }, "publish": { @@ -48,6 +44,5 @@ "cwd": "dist/packages/mikro" } } - }, - "tags": ["mikro"] + } } diff --git a/packages/nestjs/project.json b/packages/nestjs/project.json index 5b77b965a..e04acefc1 100644 --- a/packages/nestjs/project.json +++ b/packages/nestjs/project.json @@ -2,6 +2,7 @@ "name": "nestjs", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/nestjs/src", + "tags": ["nestjs"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib nestjs" @@ -24,22 +25,17 @@ "rxjs" ], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/nestjs/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/nestjs"], "options": { - "jestConfig": "packages/nestjs/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/nestjs/jest.config.cjs" } }, "publish": { @@ -49,6 +45,5 @@ "cwd": "dist/packages/nestjs" } } - }, - "tags": ["nestjs"] + } } diff --git a/packages/pojos/project.json b/packages/pojos/project.json index 6fa7d7b1f..8a8be2916 100644 --- a/packages/pojos/project.json +++ b/packages/pojos/project.json @@ -2,6 +2,7 @@ "name": "pojos", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/pojos/src", + "tags": ["pojos"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib pojos" @@ -18,22 +19,17 @@ "compiler": "babel", "external": ["typescript", "tslib", "@automapper/core"], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/pojos/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/pojos"], "options": { - "jestConfig": "packages/pojos/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/pojos/jest.config.cjs" } }, "publish": { @@ -43,6 +39,5 @@ "cwd": "dist/packages/pojos" } } - }, - "tags": ["pojos"] + } } diff --git a/packages/sequelize/project.json b/packages/sequelize/project.json index a09c6c4bc..178640618 100644 --- a/packages/sequelize/project.json +++ b/packages/sequelize/project.json @@ -2,6 +2,7 @@ "name": "sequelize", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/sequelize/src", + "tags": ["sequelize"], "targets": { "package": { "command": "NX_CLOUD=true nx package-lib sequelize" @@ -23,22 +24,17 @@ "@automapper/classes" ], "format": ["cjs", "esm"], - "updateBuildableProjectDepsInPackageJson": false + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/sequelize/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/sequelize"], "options": { - "jestConfig": "packages/sequelize/jest.config.cjs", - "passWithNoTests": true + "jestConfig": "packages/sequelize/jest.config.cjs" } }, "publish": { @@ -48,6 +44,5 @@ "cwd": "dist/packages/sequelize" } } - }, - "tags": ["sequelize"] + } } diff --git a/packages/zod/project.json b/packages/zod/project.json index 37d932135..0d8658d19 100644 --- a/packages/zod/project.json +++ b/packages/zod/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/zod/src", "projectType": "library", + "tags": [], "targets": { "build": { "executor": "@nx/rollup:rollup", @@ -12,30 +13,19 @@ "main": "packages/zod/src/index.ts", "tsConfig": "packages/zod/tsconfig.lib.json", "assets": [], - "project": "packages/zod/package.json" + "project": "packages/zod/package.json", + "babelUpwardRootMode": true } }, "lint": { - "executor": "@nx/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/zod/**/*.ts"] - } + "executor": "@nx/eslint:lint" }, "test": { "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "packages/zod/jest.config.cjs", - "passWithNoTests": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } + "jestConfig": "packages/zod/jest.config.cjs" } } - }, - "tags": [] + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6659a4a40..07bdc1949 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,47 +17,47 @@ devDependencies: specifier: 5.6.13 version: 5.6.13 '@nestjs/common': - specifier: 10.0.3 - version: 10.0.3(reflect-metadata@0.1.13)(rxjs@7.8.0) + specifier: 10.4.22 + version: 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) '@nestjs/core': - specifier: 10.0.3 - version: 10.0.3(@nestjs/common@10.0.3)(@nestjs/platform-express@10.0.3)(reflect-metadata@0.1.13)(rxjs@7.8.0) + specifier: 10.4.22 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) '@nestjs/platform-express': - specifier: 10.0.3 - version: 10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3) + specifier: 10.4.22 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) '@nestjs/schematics': - specifier: 10.0.1 - version: 10.0.1(typescript@4.9.5) + specifier: 10.2.3 + version: 10.2.3(typescript@5.4.5) '@nestjs/testing': - specifier: 10.0.3 - version: 10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3)(@nestjs/platform-express@10.0.3) + specifier: 10.4.22 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) '@nx/devkit': - specifier: 16.0.0 - version: 16.0.0(nx@16.0.0) + specifier: 19.0.0 + version: 19.0.0(nx@19.0.0) + '@nx/eslint': + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) '@nx/eslint-plugin': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5) '@nx/jest': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) '@nx/js': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@nx/linter': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) '@nx/nest': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) '@nx/rollup': - specifier: 16.0.0 - version: 16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + specifier: 19.0.0 + version: 19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) '@nx/web': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) '@nx/workspace': - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39) + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107) '@release-it/bumper': specifier: 4.0.2 version: 4.0.2(release-it@15.8.0) @@ -65,29 +65,29 @@ devDependencies: specifier: 5.1.1 version: 5.1.1(release-it@15.8.0) '@swc/cli': - specifier: 0.1.65 - version: 0.1.65(@swc/core@1.3.39) + specifier: 0.3.14 + version: 0.3.14(@swc/core@1.3.107) '@swc/core': - specifier: ^1.2.173 - version: 1.3.39 + specifier: 1.3.107 + version: 1.3.107(@swc/helpers@0.5.23) '@swc/jest': specifier: 0.2.20 - version: 0.2.20(@swc/core@1.3.39) + version: 0.2.20(@swc/core@1.3.107) '@types/jest': specifier: 29.4.0 version: 29.4.0 '@types/node': - specifier: 18.15.0 - version: 18.15.0 + specifier: 18.19.130 + version: 18.19.130 '@types/supertest': specifier: 2.0.12 version: 2.0.12 '@typescript-eslint/eslint-plugin': - specifier: 5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.35.0)(typescript@4.9.5) + specifier: 7.18.0 + version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: 5.62.0 - version: 5.62.0(eslint@8.35.0)(typescript@4.9.5) + specifier: 7.18.0 + version: 7.18.0(eslint@8.57.1)(typescript@5.4.5) all-contributors-cli: specifier: 6.24.0 version: 6.24.0 @@ -96,7 +96,7 @@ devDependencies: version: 0.5.2 commitizen: specifier: 4.3.0 - version: 4.3.0(@swc/core@1.3.39) + version: 4.3.0(@swc/core@1.3.107) cz-customizable: specifier: 7.0.0 version: 7.0.0 @@ -104,26 +104,23 @@ devDependencies: specifier: 7.0.0 version: 7.0.0 eslint: - specifier: 8.35.0 - version: 8.35.0 + specifier: 8.57.1 + version: 8.57.1 eslint-config-prettier: - specifier: 8.7.0 - version: 8.7.0(eslint@8.35.0) + specifier: 9.1.2 + version: 9.1.2(eslint@8.57.1) fs-extra: specifier: ^11.1.0 version: 11.1.0 jest: specifier: 29.5.0 - version: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + version: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) jest-environment-jsdom: specifier: 29.5.0 version: 29.5.0 nx: - specifier: 16.0.0 - version: 16.0.0(@swc/core@1.3.39) - nx-cloud: - specifier: 19.1.3 - version: 19.1.3 + specifier: 19.0.0 + version: 19.0.0(@swc/core@1.3.107) prettier: specifier: 2.8.4 version: 2.8.4 @@ -144,13 +141,13 @@ devDependencies: version: 6.3.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.21.0)(jest@29.5.0)(typescript@4.9.5) + version: 29.1.5(@babel/core@7.29.7)(jest@29.5.0)(typescript@5.4.5) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) + version: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) typescript: - specifier: 4.9.5 - version: 4.9.5 + specifier: 5.4.5 + version: 5.4.5 packages: @@ -162,25 +159,25 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@angular-devkit/core@15.0.4: - resolution: {integrity: sha512-4ITpRAevd652SxB+qNesIQ9qfbm7wT5UBU5kJOPPwGL77I21g8CQpkmV1n5VSacPvC9Zbz90feOWexf7w7JzcA==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/core@16.0.1: + resolution: {integrity: sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 peerDependenciesMeta: chokidar: optional: true dependencies: - ajv: 8.11.0 - ajv-formats: 2.1.1(ajv@8.11.0) + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) jsonc-parser: 3.2.0 - rxjs: 6.6.7 + rxjs: 7.8.1 source-map: 0.7.4 dev: true - /@angular-devkit/core@16.1.0: - resolution: {integrity: sha512-mrWpuDvttmhrCGcLc68RIXKtTzUhkBTsE5ZZFZNO1+FSC+vO/ZpyCpPd6C+6coM68NfXYjHlms5XF6KbxeGn/Q==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/core@17.3.11: + resolution: {integrity: sha512-vTNDYNsLIWpYk2I969LMQFH29GTsLzxNk/0cLw5q56ARF0v5sIWfHYwGTS88jdDqIpuuettcSczbxeA7EuAmqQ==} + engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 peerDependenciesMeta: @@ -189,31 +186,32 @@ packages: dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) - jsonc-parser: 3.2.0 + jsonc-parser: 3.2.1 + picomatch: 4.0.1 rxjs: 7.8.1 source-map: 0.7.4 dev: true - /@angular-devkit/schematics@15.0.4: - resolution: {integrity: sha512-/gXiLFS0+xFdx6wPoBpe/c6/K9I5edMpaASqPf4XheKtrsSvL+qTlIi3nsbfItzOiDXbaBmlbxGfkMHz/yg0Ig==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/schematics@16.0.1: + resolution: {integrity: sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.0.4 + '@angular-devkit/core': 16.0.1 jsonc-parser: 3.2.0 - magic-string: 0.26.7 + magic-string: 0.30.0 ora: 5.4.1 - rxjs: 6.6.7 + rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/schematics@16.1.0: - resolution: {integrity: sha512-LM35PH9DT3eQRSZgrkk2bx1ZQjjVh8BCByTlr37/c+FnF9mNbeBsa1YkxrlsN/CwO+045OwEwRHnkM9Zcx0U/A==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/schematics@17.3.11: + resolution: {integrity: sha512-I5wviiIqiFwar9Pdk30Lujk8FczEEc18i22A5c6Z9lbmhPQdTroDnEQdsfXjy404wPe8H62s0I15o4pmMGfTYQ==} + engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 16.1.0 - jsonc-parser: 3.2.0 - magic-string: 0.30.0 + '@angular-devkit/core': 17.3.11 + jsonc-parser: 3.2.1 + magic-string: 0.30.8 ora: 5.4.1 rxjs: 7.8.1 transitivePeerDependencies: @@ -227,11 +225,25 @@ packages: '@babel/highlight': 7.18.6 dev: true + /@babel/code-frame@7.29.7: + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + dev: true + /@babel/compat-data@7.21.0: resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} engines: {node: '>=6.9.0'} dev: true + /@babel/compat-data@7.29.7: + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.21.0: resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} engines: {node: '>=6.9.0'} @@ -255,6 +267,29 @@ packages: - supports-color dev: true + /@babel/core@7.29.7: + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.21.1: resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} engines: {node: '>=6.9.0'} @@ -265,6 +300,17 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.29.7: + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + dev: true + /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} @@ -272,12 +318,11 @@ packages: '@babel/types': 7.21.2 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: - resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + /@babel/helper-annotate-as-pure@7.29.7: + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.2 + '@babel/types': 7.29.7 dev: true /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0): @@ -294,48 +339,69 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} + /@babel/helper-compilation-targets@7.29.7: + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.2 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.7 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.21.0): + /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.29.7): resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.29.7 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.0): - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + /@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} + engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4 + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + regexpu-core: 6.4.0 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7): + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + debug: 4.4.3 lodash.debounce: 4.0.8 - resolve: 1.22.1 - semver: 6.3.0 + resolve: 1.22.12 transitivePeerDependencies: - supports-color dev: true @@ -345,13 +411,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-explode-assignable-expression@7.18.6: - resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.2 - dev: true - /@babel/helper-function-name@7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} @@ -360,6 +419,11 @@ packages: '@babel/types': 7.21.2 dev: true + /@babel/helper-globals@7.29.7: + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} @@ -367,11 +431,14 @@ packages: '@babel/types': 7.21.2 dev: true - /@babel/helper-member-expression-to-functions@7.21.0: - resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} + /@babel/helper-member-expression-to-functions@7.29.7: + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true /@babel/helper-module-imports@7.18.6: @@ -381,6 +448,16 @@ packages: '@babel/types': 7.21.2 dev: true + /@babel/helper-module-imports@7.29.7: + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-module-transforms@7.21.2: resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} engines: {node: '>=6.9.0'} @@ -397,11 +474,25 @@ packages: - supports-color dev: true - /@babel/helper-optimise-call-expression@7.18.6: - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + /@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/types': 7.21.2 + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression@7.29.7: + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.29.7 dev: true /@babel/helper-plugin-utils@7.20.2: @@ -409,31 +500,35 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + /@babel/helper-plugin-utils@7.29.7: + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.2 + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-wrap-function': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-replace-supers@7.20.7: - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + /@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color dev: true @@ -445,11 +540,14 @@ packages: '@babel/types': 7.21.2 dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.20.0: - resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + /@babel/helper-skip-transparent-expression-wrappers@7.29.7: + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true /@babel/helper-split-export-declaration@7.18.6: @@ -464,24 +562,38 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@7.29.7: + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-identifier@7.29.7: + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.20.5: - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + /@babel/helper-validator-option@7.29.7: + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.29.7: + resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color dev: true @@ -497,6 +609,14 @@ packages: - supports-color dev: true + /@babel/helpers@7.29.7: + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + dev: true + /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} @@ -514,245 +634,207 @@ packages: '@babel/types': 7.21.2 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + /@babel/parser@7.29.7: + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.29.7 + dev: true + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.13.0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} 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-async-generator-functions instead. peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + /@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} 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 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} 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-static-block instead. peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + /@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==} 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-dynamic-import instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} 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-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.0) + '@babel/core': 7.29.7 dev: true - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - 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-json-strings instead. + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.0): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0) dev: true - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - 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-logical-assignment-operators instead. + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.0): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0) dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - 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-nullish-coalescing-operator instead. + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0) dev: true - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + /@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==} 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-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + /@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} 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-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + /@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} 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-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - 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-optional-chaining instead. + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.0): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0) dev: true - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - 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-private-methods instead. + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.0): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0) '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.0): + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} 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-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.0) - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. + /@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.0): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.0): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -760,8 +842,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -769,8 +851,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -778,9 +860,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.0): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -788,9 +869,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -798,8 +878,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -807,8 +887,9 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -816,8 +897,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.0): - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.0): + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -826,619 +907,763 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.0): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.29.7): + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.0): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.0): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + /@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + /@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.0): - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + /@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 dev: true - /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + /@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + /@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + /@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + /@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + /@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-destructuring@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} + /@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + /@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + /@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + /@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} + /@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + /@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + /@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + /@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.0): - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + /@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.0): - resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + /@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.0): - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + /@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + /@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.0): - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + /@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + /@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + /@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + /@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + /@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.0): - resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + /@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + /@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-runtime@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==} + /@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.0) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.0) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.0) - semver: 6.3.0 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + /@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + /@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + /@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + /@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.0): - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + /@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-typescript@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==} + /@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.0): - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + /@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + /@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/preset-env@7.20.2(@babel/core@7.21.0): - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + /@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.0) - '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-transform-destructuring': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.0) - '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.0) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.0) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.0) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.0) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.0) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.0) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.0) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.0) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.0) - '@babel/types': 7.21.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.0) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.0) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.0) - core-js-compat: 3.29.0 - semver: 6.3.0 + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/preset-env@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.5(@babel/core@7.21.0): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 '@babel/types': 7.21.2 esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.21.0(@babel/core@7.21.0): - resolution: {integrity: sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==} + /@babel/preset-typescript@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-typescript': 7.21.0(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color dev: true @@ -1454,6 +1679,11 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@babel/runtime@7.29.7: + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/template@7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} @@ -1463,6 +1693,15 @@ packages: '@babel/types': 7.21.2 dev: true + /@babel/template@7.29.7: + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + dev: true + /@babel/traverse@7.21.2: resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} engines: {node: '>=6.9.0'} @@ -1481,6 +1720,21 @@ packages: - supports-color dev: true + /@babel/traverse@7.29.7: + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.21.2: resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} engines: {node: '>=6.9.0'} @@ -1490,10 +1744,22 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.29.7: + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + dev: true + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@borewit/text-codec@0.2.2: + resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} + dev: true + /@commitlint/config-validator@17.4.4: resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} engines: {node: '>=v14'} @@ -1511,7 +1777,7 @@ packages: dev: true optional: true - /@commitlint/load@17.4.4(@swc/core@1.3.39): + /@commitlint/load@17.4.4(@swc/core@1.3.107): resolution: {integrity: sha512-z6uFIQ7wfKX5FGBe1AkOF4l/ShOQsaa1ml/nLMkbW7R/xF8galGS7Zh0yHvzVp/srtfS0brC+0bUfQfmpMPFVQ==} engines: {node: '>=v14'} requiresBuild: true @@ -1520,15 +1786,15 @@ packages: '@commitlint/execute-rule': 17.4.0 '@commitlint/resolve-extends': 17.4.4 '@commitlint/types': 17.4.4 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 cosmiconfig: 8.1.0 - cosmiconfig-typescript-loader: 4.3.0(@types/node@18.15.0)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5) + cosmiconfig-typescript-loader: 4.3.0(@types/node@18.19.130)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5) 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.39)(@types/node@18.15.0)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' @@ -1566,13 +1832,13 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@eslint-community/eslint-utils@4.9.1(eslint@8.35.0): + /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} 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.35.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 dev: true @@ -1581,13 +1847,13 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.0: - resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.1 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -1598,16 +1864,17 @@ packages: - supports-color dev: true - /@eslint/js@8.35.0: - resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -1619,8 +1886,9 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead dev: true /@hutson/parse-repository-url@3.0.2: @@ -1653,7 +1921,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 jest-message-util: 29.5.0 jest-util: 29.5.0 @@ -1674,14 +1942,14 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 29.5.0 - jest-config: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + jest-config: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) jest-haste-map: 29.5.0 jest-message-util: 29.5.0 jest-regex-util: 29.4.3 @@ -1715,7 +1983,7 @@ packages: dependencies: '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 jest-mock: 29.5.0 dev: true @@ -1742,7 +2010,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@sinonjs/fake-timers': 10.0.2 - '@types/node': 18.15.0 + '@types/node': 18.19.130 jest-message-util: 29.5.0 jest-mock: 29.5.0 jest-util: 29.5.0 @@ -1775,7 +2043,7 @@ packages: '@jest/transform': 29.5.0 '@jest/types': 29.5.0 '@jridgewell/trace-mapping': 0.3.17 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -1862,7 +2130,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.15.0 + '@types/node': 18.19.130 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -1874,7 +2142,7 @@ packages: '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.15.0 + '@types/node': 18.19.130 '@types/yargs': 17.0.22 chalk: 4.1.2 dev: true @@ -1887,6 +2155,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@jridgewell/gen-mapping@0.3.13: + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + dev: true + /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} @@ -1896,6 +2171,13 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true + /@jridgewell/remapping@2.3.5: + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + dev: true + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} @@ -1910,13 +2192,24 @@ packages: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true - /@jridgewell/trace-mapping@0.3.17: + /@jridgewell/sourcemap-codec@1.5.5: + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + dev: true + + /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@jridgewell/trace-mapping@0.3.31: + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: @@ -1988,12 +2281,190 @@ packages: os-filter-obj: 2.0.0 dev: true - /@nestjs/common@10.0.3(reflect-metadata@0.1.13)(rxjs@7.8.0): - resolution: {integrity: sha512-Zv59rDQMuwyja8fvnQelG4AbEe7FEC2ZUXcUwE6Tw0aOHx5CaOBIU426FCYY9o3iqJX3xLCKVJ8NrLPg58xCZg==} + /@napi-rs/nice-android-arm-eabi@1.1.1: + resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-android-arm64@1.1.1: + resolution: {integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-darwin-arm64@1.1.1: + resolution: {integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-darwin-x64@1.1.1: + resolution: {integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-freebsd-x64@1.1.1: + resolution: {integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-arm-gnueabihf@1.1.1: + resolution: {integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-arm64-gnu@1.1.1: + resolution: {integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-arm64-musl@1.1.1: + resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-ppc64-gnu@1.1.1: + resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-riscv64-gnu@1.1.1: + resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-s390x-gnu@1.1.1: + resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-x64-gnu@1.1.1: + resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-linux-x64-musl@1.1.1: + resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-openharmony-arm64@1.1.1: + resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [openharmony] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-win32-arm64-msvc@1.1.1: + resolution: {integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-win32-ia32-msvc@1.1.1: + resolution: {integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice-win32-x64-msvc@1.1.1: + resolution: {integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@napi-rs/nice@1.1.1: + resolution: {integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==} + engines: {node: '>= 10'} + requiresBuild: true + optionalDependencies: + '@napi-rs/nice-android-arm-eabi': 1.1.1 + '@napi-rs/nice-android-arm64': 1.1.1 + '@napi-rs/nice-darwin-arm64': 1.1.1 + '@napi-rs/nice-darwin-x64': 1.1.1 + '@napi-rs/nice-freebsd-x64': 1.1.1 + '@napi-rs/nice-linux-arm-gnueabihf': 1.1.1 + '@napi-rs/nice-linux-arm64-gnu': 1.1.1 + '@napi-rs/nice-linux-arm64-musl': 1.1.1 + '@napi-rs/nice-linux-ppc64-gnu': 1.1.1 + '@napi-rs/nice-linux-riscv64-gnu': 1.1.1 + '@napi-rs/nice-linux-s390x-gnu': 1.1.1 + '@napi-rs/nice-linux-x64-gnu': 1.1.1 + '@napi-rs/nice-linux-x64-musl': 1.1.1 + '@napi-rs/nice-openharmony-arm64': 1.1.1 + '@napi-rs/nice-win32-arm64-msvc': 1.1.1 + '@napi-rs/nice-win32-ia32-msvc': 1.1.1 + '@napi-rs/nice-win32-x64-msvc': 1.1.1 + dev: true + optional: true + + /@nestjs/common@10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0): + resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} peerDependencies: class-transformer: '*' class-validator: '*' - reflect-metadata: ^0.1.12 + reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: class-transformer: @@ -2001,22 +2472,25 @@ packages: class-validator: optional: true dependencies: + file-type: 20.4.1 iterare: 1.2.1 reflect-metadata: 0.1.13 rxjs: 7.8.0 - tslib: 2.5.3 + tslib: 2.8.1 uid: 2.0.2 + transitivePeerDependencies: + - supports-color dev: true - /@nestjs/core@10.0.3(@nestjs/common@10.0.3)(@nestjs/platform-express@10.0.3)(reflect-metadata@0.1.13)(rxjs@7.8.0): - resolution: {integrity: sha512-LPZrUaGk9ZXXkOOoqNn2EwBN7bBV2+KKbNxkmJKZ/7wMO+qGE1hCLaYuwoPdwUEwmDMchFpUOydfMIeC1s/3bg==} + /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0): + resolution: {integrity: sha512-6IX9+VwjiKtCjx+mXVPncpkQ5ZjKfmssOZPFexmT+6T9H9wZ3svpYACAo7+9e7Nr9DZSoRZw3pffkJP7Z0UjaA==} requiresBuild: true peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/microservices': ^10.0.0 '@nestjs/platform-express': ^10.0.0 '@nestjs/websockets': ^10.0.0 - reflect-metadata: ^0.1.12 + reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: '@nestjs/microservices': @@ -2026,69 +2500,68 @@ packages: '@nestjs/websockets': optional: true dependencies: - '@nestjs/common': 10.0.3(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/platform-express': 10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3) + '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 - path-to-regexp: 3.2.0 + path-to-regexp: 3.3.0 reflect-metadata: 0.1.13 rxjs: 7.8.0 - tslib: 2.5.3 + tslib: 2.8.1 uid: 2.0.2 transitivePeerDependencies: - encoding dev: true - /@nestjs/platform-express@10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3): - resolution: {integrity: sha512-8wA4Onhu6/dQrzTsg6n3pe1WbK9vWFPhagX10eGesX2YvgpVT4ccL0lbJbzGM2CY94RkaxBBW46Q3NJ6Bf566g==} + /@nestjs/platform-express@10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22): + resolution: {integrity: sha512-ySSq7Py/DFozzZdNDH67m/vHoeVdphDniWBnl6q5QVoXldDdrZIHLXLRMPayTDh5A95nt7jjJzmD4qpTbNQ6tA==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 dependencies: - '@nestjs/common': 10.0.3(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/core': 10.0.3(@nestjs/common@10.0.3)(@nestjs/platform-express@10.0.3)(reflect-metadata@0.1.13)(rxjs@7.8.0) - body-parser: 1.20.2 + '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) + body-parser: 1.20.4 cors: 2.8.5 - express: 4.18.2 - multer: 1.4.4-lts.1 - tslib: 2.5.3 + express: 4.22.1 + multer: 2.0.2 + tslib: 2.8.1 transitivePeerDependencies: - supports-color dev: true - /@nestjs/schematics@10.0.1(typescript@4.9.5): - resolution: {integrity: sha512-buxpYtSwOmWyf0nUJWJCkCkYITwbOfIEKHTnGS7sDbcfaajrOFXb5pPAGD2E1CUb3C1+NkQIURPKzs0IouZTQg==} + /@nestjs/schematics@10.2.3(typescript@5.4.5): + resolution: {integrity: sha512-4e8gxaCk7DhBxVUly2PjYL4xC2ifDFexCqq1/u4TtivLGXotVk0wHdYuPYe1tHTHuR1lsOkRbfOCpkdTnigLVg==} peerDependencies: typescript: '>=4.8.2' dependencies: - '@angular-devkit/core': 16.1.0 - '@angular-devkit/schematics': 16.1.0 - comment-json: 4.2.3 - jsonc-parser: 3.2.0 + '@angular-devkit/core': 17.3.11 + '@angular-devkit/schematics': 17.3.11 + comment-json: 4.2.5 + jsonc-parser: 3.3.1 pluralize: 8.0.0 - typescript: 4.9.5 + typescript: 5.4.5 transitivePeerDependencies: - chokidar dev: true - /@nestjs/schematics@9.0.4(typescript@4.9.5): - resolution: {integrity: sha512-egurCfAc4e5i1r2TmeAF0UrOKejFmT5oTdv4b7HcOVPupc3QGU7CbEfGleL3mkM5AjrixTQeMxU9bJ00ttAbGg==} + /@nestjs/schematics@9.2.0(typescript@5.4.5): + resolution: {integrity: sha512-wHpNJDPzM6XtZUOB3gW0J6mkFCSJilzCM3XrHI1o0C8vZmFE1snbmkIXNyoi1eV0Nxh1BMymcgz5vIMJgQtTqw==} peerDependencies: - typescript: ^4.3.5 + typescript: '>=4.3.5' dependencies: - '@angular-devkit/core': 15.0.4 - '@angular-devkit/schematics': 15.0.4 - fs-extra: 11.1.0 + '@angular-devkit/core': 16.0.1 + '@angular-devkit/schematics': 16.0.1 jsonc-parser: 3.2.0 pluralize: 8.0.0 - typescript: 4.9.5 + typescript: 5.4.5 transitivePeerDependencies: - chokidar dev: true - /@nestjs/testing@10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3)(@nestjs/platform-express@10.0.3): - resolution: {integrity: sha512-Rhm+E7yr499DIOuYbqskdNVo/NJjLKDS7Wp6NWl37woef4u7eVsSKN8VUCXKxNlYUrSw2Nu2AekpLzvl169SXg==} + /@nestjs/testing@10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22): + resolution: {integrity: sha512-HO9aPus3bAedAC+jKVAA8jTdaj4fs5M9fing4giHrcYV2txe9CvC1l1WAjwQ9RDhEHdugjY4y+FZA/U/YqPZrA==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 @@ -2100,10 +2573,10 @@ packages: '@nestjs/platform-express': optional: true dependencies: - '@nestjs/common': 10.0.3(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/core': 10.0.3(@nestjs/common@10.0.3)(@nestjs/platform-express@10.0.3)(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/platform-express': 10.0.3(@nestjs/common@10.0.3)(@nestjs/core@10.0.3) - tslib: 2.5.3 + '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) + tslib: 2.8.1 dev: true /@nodelib/fs.scandir@2.1.5: @@ -2127,22 +2600,24 @@ packages: fastq: 1.15.0 dev: true - /@nrwl/devkit@16.0.0(nx@16.0.0): - resolution: {integrity: sha512-ycd4wD4v1N/ywjU1cwTVCPQJwxnGjEsWIll5z5cMtfHwJf+0OhMTqC3zeZibIwnjjoh721pyEzXODyUmjkGmVw==} + /@nrwl/devkit@19.0.0(nx@19.0.0): + resolution: {integrity: sha512-fUDTZorVrnqALzxpLHHUd7/ShrE1pxR9la86crFR8gYoIKQPNAgqTAKr+loCG8duYGx2ZObYHrWpH6Xf7MFXNw==} dependencies: - '@nx/devkit': 16.0.0(nx@16.0.0) + '@nx/devkit': 19.0.0(nx@19.0.0) transitivePeerDependencies: - nx dev: true - /@nrwl/eslint-plugin-nx@16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-HJLMP6/g00huvsr7ik4NStvXB/MWDkWo45nKtvuZIvmycYt4VUATzQt2CrUaKKqRM5eAW7Ho8aW63DOIsufOcg==} + /@nrwl/eslint-plugin-nx@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-L0ycAcMvMq073uD+JkNPQBAMzzmQxXeKo4yEJvDYVSyTEWtUAGsW9blwv/OkNmoDED4wxRV17Z60+HRFlmvZjg==} dependencies: - '@nx/eslint-plugin': 16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) + '@nx/eslint-plugin': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - '@typescript-eslint/parser' - debug - eslint @@ -2150,16 +2625,18 @@ packages: - nx - supports-color - typescript + - verdaccio dev: true - /@nrwl/jest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-3EOp1Sa9ZSKuqJIC9zYzwBuitvmXC9nn0BVCqv6NgfdXRzQgA7+RFObE+Zym/nejF0ZMGIvZnXZFMT/z6Cbczw==} + /@nrwl/jest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-HXRNWhUkJbNrcsA7Z+vh0se4tlSwMJcPA949rgb9SNBFJ5YeUYcNxOEtdQvJ/kK1eBAzT6rspl7U+eVwhOdg8Q==} dependencies: - '@nx/jest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/jest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/node' - debug - node-notifier @@ -2167,120 +2644,120 @@ packages: - supports-color - ts-node - typescript + - verdaccio dev: true - /@nrwl/js@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-RedHAlmQpbGIWdFOl0bbl4BND1OlZjEumQG0nNIg0pgDhPgJtfovP1UKBJErUJ/mNhINKh7VCmxPhYM9RARtWQ==} + /@nrwl/js@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-F8tlh24NxnKusca82HFfSwDRpEcUQaJ1z06uQEGx1OvFzCOR40HE/y5EnJhmL5mtAjqhJoQGcHZjX0xL2x7PuA==} dependencies: - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - debug - nx - supports-color - typescript + - verdaccio dev: true - /@nrwl/linter@16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-TPRRtmNZWVF/OaZMWWk4dB/f2MAmfw+Kyih7GVohOgut0qS4DB1HkFAWhGgEDOVFD0hRfj3vVayDkfEeONqJJg==} + /@nrwl/nest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-Cq6syNODWK8ab+GOl4Ss6czgDmFMz2CWBTDq+oul/ue/k40lUHzYXRMUPGWWYSgYBMd8ObWC9K7ejGcRKh2ENA==} dependencies: - '@nx/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - debug - - eslint - - nx - - supports-color - - typescript - dev: true - - /@nrwl/nest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-ImGOX5KREgSWrT8w43ooCizL7DAzBF2fLKD6jqzq3Jjv/N3L6d+9Erb6YdSiGfrncl4VwCKHpo8LmtUyPqfczA==} - dependencies: - '@nx/nest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/nest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/node' - chokidar - debug - - eslint + - js-yaml - node-notifier - nx - supports-color - ts-node - typescript + - verdaccio dev: true - /@nrwl/node@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-UoDFlg50oJqrl56xJW0dWSutk41GiJEg1qCxASq12S9Tz7+hp7LlSxn178MW3Ozcsxp1v0hf+SAAo47lOPgIYA==} + /@nrwl/node@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-ofNrEeL6+L37Keg4RNObW51iOKkVCowYqg+p3hkJ1nm3a8pplSIqdgNIc4aWoTO57zcUyjnliBG1ilcZEyBHoA==} dependencies: - '@nx/node': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/node': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/node' - debug - - eslint + - js-yaml - node-notifier - nx - supports-color - ts-node - typescript + - verdaccio dev: true - /@nrwl/rollup@16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-N15Wq0DDYooyLMBv0j4JXZxCE9nHpb8kXVslaDOndpRs6ngAvTRVrGSDpvGTwnOMHzOue3PrEHZ06cupAvSZug==} + /@nrwl/rollup@19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-ssclfN9CAdEFLAJLGjGzStYagmXuj8snPRLi8FDiHi61r+Uk6HPT5oGecuLsWpb6Us0CtkYGAizErHbiQQHJTA==} dependencies: - '@nx/rollup': 16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) + '@nx/rollup': 19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) transitivePeerDependencies: - '@babel/core' - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/babel__core' + - '@types/node' - debug - nx - supports-color - ts-node - typescript + - verdaccio dev: true - /@nrwl/tao@16.0.0(@swc/core@1.3.39): - resolution: {integrity: sha512-0A+e6jGmBBhpcaSlFr24uNvMRNZmlAWETj8K7gvYYjbWpVx3VP5hY+9R9vOxRwozWEHeEDFl1xue8ci0HWzORA==} + /@nrwl/tao@19.0.0(@swc/core@1.3.107): + resolution: {integrity: sha512-JPLlATFEsal5G4v8zxGbEkeo1v19QUn0cH3iNEOUz8Abms7oPDfkITq1ElB6Ck8FjePmtP4fdZzU091NUKA1zQ==} hasBin: true dependencies: - nx: 16.0.0(@swc/core@1.3.39) + nx: 19.0.0(@swc/core@1.3.107) + tslib: 2.5.3 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug dev: true - /@nrwl/web@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-oFucYamUhgtESLh0oqeiFpHRXs2gJWDmFULH4zYMgO2Xfg8ekWdD/jYTZ5bih2FX1LhnHBYtc7jdkmu5Zw9jpQ==} + /@nrwl/web@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-NVvCvlhANh/ESAb06uP/y8DuRzCNiCf6Cj3BbJtv+C58moO8p3XQ0GwJT9+qPxwpJybzGX9Op+LtwZs0eQQ2ew==} dependencies: - '@nx/web': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nx/web': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - debug - nx - supports-color - typescript + - verdaccio dev: true - /@nrwl/workspace@16.0.0(@swc/core@1.3.39): - resolution: {integrity: sha512-cZOiSYXQP69tgTtHOxuoT9PUY7lZ1DWbB40MRpGqZN1Xk8efr9jG23LrHSN5Fr9ShfMdXkKqK7NQT8HijXu/UA==} + /@nrwl/workspace@19.0.0(@swc/core@1.3.107): + resolution: {integrity: sha512-Y6VK95Z1lYXaFBQ+fuodXiaAnSPWgT1T6/TDbCuvmn5pvuNjv6heiJFgkDxx9dXVxn5FiNuTue/AEqMhomnIbw==} dependencies: - '@nx/workspace': 16.0.0(@swc/core@1.3.39) + '@nx/workspace': 19.0.0(@swc/core@1.3.107) transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -2299,70 +2776,107 @@ packages: - encoding dev: true - /@nx/devkit@16.0.0(nx@16.0.0): - resolution: {integrity: sha512-ooIaAcheEUJ0pRdLv91btVssGL7TLOcvW8EF0yKYAdCNv3HRHtZX7Ompc6NPMauLuHYmp4eeRly3wADa7xBzAg==} + /@nx/devkit@19.0.0(nx@19.0.0): + resolution: {integrity: sha512-Zch2oCBSrPgMVg5ONMjaLlyFCgQ/kVxaSBKoq/ASOEyjYJb5OtfFg+NwWoEkU4v++a1I14uD01xoO0JjBqK0nw==} peerDependencies: - nx: '>= 15 <= 17' + nx: '>= 17 <= 20' dependencies: - '@nrwl/devkit': 16.0.0(nx@16.0.0) + '@nrwl/devkit': 19.0.0(nx@19.0.0) ejs: 3.1.8 + enquirer: 2.3.6 ignore: 5.2.4 - nx: 16.0.0(@swc/core@1.3.39) - semver: 7.3.4 + minimatch: 9.0.3 + nx: 19.0.0(@swc/core@1.3.107) + semver: 7.8.5 tmp: 0.2.1 tslib: 2.5.3 + yargs-parser: 21.1.1 dev: true - /@nx/eslint-plugin@16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-vBleTWAneUOAmmwZdJb2TisKi7A3fBuiWcdW7vpxgLF2dh8oMBB54AMjXKdibwMOIKTVLtECDNR84b2kkYElyA==} + /@nx/eslint-plugin@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-Mw3zHi9443cgp3KEaqdbkiptXpbEJMLKm4OIrvg2gQMJySqx0+PdvIqAmbor1gqDk1GSS7Xj7s/6cc/F/40pkg==} peerDependencies: - '@typescript-eslint/parser': ^5.58.0 - eslint-config-prettier: ^8.1.0 + '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 + eslint-config-prettier: ^9.0.0 peerDependenciesMeta: eslint-config-prettier: optional: true dependencies: - '@nrwl/eslint-plugin-nx': 16.0.0(@swc/core@1.3.39)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.7.0)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) + '@nrwl/eslint-plugin-nx': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) chalk: 4.1.2 confusing-browser-globals: 1.0.11 - eslint-config-prettier: 8.7.0(eslint@8.35.0) - semver: 7.3.4 + eslint-config-prettier: 9.1.2(eslint@8.57.1) + jsonc-eslint-parser: 2.4.2 + semver: 7.8.5 + tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - debug - eslint - nx - supports-color - typescript + - verdaccio dev: true - /@nx/jest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-WbZ+msoi69kUkMR73nr+aLLTZnHy+XjkaBYCzu/9xdGF99ZYReBy2peHHxWVJSmZ8u7HgYZHuv4h3vEQuEiFdw==} + /@nx/eslint@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0): + resolution: {integrity: sha512-bPrI5SdMRPybOQFeOAbyWgPkogfZCEdP3LR5Wi1aSewhVVYMl5Z3/pEQIpPBRZL6RR36grs9FvjdLuC6ZgMYCw==} + peerDependencies: + js-yaml: 4.1.0 + peerDependenciesMeta: + js-yaml: + optional: true + dependencies: + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/linter': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) + eslint: 8.57.1 + tslib: 2.5.3 + typescript: 5.4.5 + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - debug + - nx + - supports-color + - verdaccio + dev: true + + /@nx/jest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-826rLBhBuJiTAqXaqVszmuZI7zFz7fbsHpX/oGf3lBCF3By9vumlL4gHCWxUFFea7ELMOcjW85w9k91pXU8Ltw==} dependencies: '@jest/reporters': 29.5.0 '@jest/test-result': 29.5.0 - '@nrwl/jest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@phenomnomnominal/tsquery': 5.0.1(typescript@4.9.5) + '@nrwl/jest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@phenomnomnominal/tsquery': 5.0.1(typescript@5.4.5) chalk: 4.1.2 - dotenv: 10.0.0 identity-obj-proxy: 3.0.0 - jest-config: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + jest-config: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) jest-resolve: 29.5.0 jest-util: 29.5.0 + minimatch: 9.0.3 resolve.exports: 1.1.0 tslib: 2.5.3 + yargs-parser: 21.1.1 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/node' - debug - node-notifier @@ -2370,120 +2884,130 @@ packages: - supports-color - ts-node - typescript + - verdaccio dev: true - /@nx/js@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-/GDbJhwnFzz24WOFmN95y0RD/iZTUWdrrrux9rUV/hsDvET5QJKx+Kw7nDUPqFnvojf/D9N5jB3uQAZFx2zLtQ==} + /@nx/js@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-fl+NfPjjBRCjYGLg4HfRGdF2+co2olu5fCm8B8DPuOtBKCMRiEysZATcRofJ8DR5FZWaqnXIzwpZb3Ujz+eDRQ==} + peerDependencies: + verdaccio: ^5.0.4 + peerDependenciesMeta: + verdaccio: + optional: true dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.0) - '@babel/plugin-transform-runtime': 7.21.0(@babel/core@7.21.0) - '@babel/preset-env': 7.20.2(@babel/core@7.21.0) - '@babel/preset-typescript': 7.21.0(@babel/core@7.21.0) - '@babel/runtime': 7.21.0 - '@nrwl/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/workspace': 16.0.0(@swc/core@1.3.39) - '@phenomnomnominal/tsquery': 5.0.1(typescript@4.9.5) - babel-plugin-const-enum: 1.2.0(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/runtime': 7.29.7 + '@nrwl/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/workspace': 19.0.0(@swc/core@1.3.107) + babel-plugin-const-enum: 1.2.0(@babel/core@7.29.7) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.21.0) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.29.7) chalk: 4.1.2 + columnify: 1.6.0 + detect-port: 1.6.1 fast-glob: 3.2.7 fs-extra: 11.3.4 ignore: 5.2.4 js-tokens: 4.0.0 - minimatch: 3.0.5 + minimatch: 9.0.3 + npm-package-arg: 11.0.1 + npm-run-path: 4.0.1 + ora: 5.3.0 + semver: 7.8.5 source-map-support: 0.5.19 - tree-kill: 1.2.2 + ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) + tsconfig-paths: 4.1.2 tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - debug - nx - supports-color - typescript dev: true - /@nx/linter@16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-814Si3lmETTWk4mMWRFEjPuKH9mdOq0jnb8+v9YXMkVhxYU7Zt7DasvLnguy5j8rDIWw5jPakcgaS48WK+Ro1A==} - peerDependencies: - eslint: ^8.0.0 - peerDependenciesMeta: - eslint: - optional: true + /@nx/linter@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0): + resolution: {integrity: sha512-xRSPc4bP8jSbGmmPIffBzK7uo66Rb8bUKE+14QfGwWC8ih1ITs6mRyNyl/zr3/H4DpZpDm5j96OtvtquzewcSw==} dependencies: - '@nrwl/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@phenomnomnominal/tsquery': 5.0.1(typescript@4.9.5) - eslint: 8.35.0 - tmp: 0.2.1 - tslib: 2.5.3 + '@nx/eslint': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - debug + - js-yaml - nx - supports-color - - typescript + - verdaccio dev: true - /@nx/nest@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-jiOLySjIr84+glEmFig91DBcbP1ZD7gavXLzFMcSURK52zePS/v7BwlbnPKrxP6k7/VPXGXYZUWcJQVtJFxvjg==} + /@nx/nest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-Ue5Xil+KA85pAvcZMLred/QMVHlHnbqkSmJ/4NSUvW4ltOyEararAeEzzGXpO0qx8VcEoCTF21u4lHtBTtL/yw==} dependencies: - '@nestjs/schematics': 9.0.4(typescript@4.9.5) - '@nrwl/nest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@nx/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) - '@nx/node': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) - enquirer: 2.3.6 + '@nestjs/schematics': 9.2.0(typescript@5.4.5) + '@nrwl/nest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/eslint': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/node': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + '@phenomnomnominal/tsquery': 5.0.1(typescript@5.4.5) + tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/node' - chokidar - debug - - eslint + - js-yaml - node-notifier - nx - supports-color - ts-node - typescript + - verdaccio dev: true - /@nx/node@16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-22X0SZtCnfxl+/TiJbjXE6js0yz0s8l6LOQwMHcnffr5Ci3HKI+JTsL3Qv/mCfg8ukBKJ07HVu36abH3cVVYBA==} + /@nx/node@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-It9mywTIf1y3FKf3yl0Aicg7ZyPoSkH18khHtXTHclstYIqHC0+VEMddxBGmk6el/BpSDR9aWpPT0Ljp1oNohg==} dependencies: - '@nrwl/node': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(eslint@8.35.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/jest': 16.0.0(@swc/core@1.3.39)(@types/node@18.15.0)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@nx/linter': 16.0.0(@swc/core@1.3.39)(eslint@8.35.0)(nx@16.0.0)(typescript@4.9.5) - '@nx/workspace': 16.0.0(@swc/core@1.3.39) + '@nrwl/node': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/eslint': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) + '@nx/jest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/node' - debug - - eslint + - js-yaml - node-notifier - nx - supports-color - ts-node - typescript + - verdaccio dev: true - /@nx/nx-darwin-arm64@16.0.0: - resolution: {integrity: sha512-GtXS0NPENG+s5bsVdsaXTX1jKOw85jHSALhrXXiMXknjwnvyHUelxFDS4fHhIlcOSd56Y5sn1pdg/fi2WPoscw==} + /@nx/nx-darwin-arm64@19.0.0: + resolution: {integrity: sha512-EP0OtW3YGi5WjwFmraXotAaSwU686FJULRuUBQH1rqOvtb11iaCENUp5M39tDe67k/YPnLII+8ZZ7CzOBRWUYA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -2491,8 +3015,8 @@ packages: dev: true optional: true - /@nx/nx-darwin-x64@16.0.0: - resolution: {integrity: sha512-iZv59vEoHekLahBrENYFtyUxuMwIQG24weluc00N2Edp7AlxVf7wRw6gd/xp3ATQbx/N92UPg6X761uBp2gm+Q==} + /@nx/nx-darwin-x64@19.0.0: + resolution: {integrity: sha512-2mOm3TyksRzXOZdimAwwRKjStdJleiOBJWWUgOhru6SxRLyny613mWIqiTDmKJrytwmeZeaGz3LcxwEJKIeqyA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -2500,8 +3024,17 @@ packages: dev: true optional: true - /@nx/nx-linux-arm-gnueabihf@16.0.0: - resolution: {integrity: sha512-o+ds8HogpkIc+Q8j5KEdiuEvGo6iHSpKSaFxKPIKHgD7xa6Kll966hKiFigeY2FDT2nGQlKZ0n1wNWQ4x2rijw==} + /@nx/nx-freebsd-x64@19.0.0: + resolution: {integrity: sha512-mGxYvOaDCDnVLnIAJo640/jPygfTJ6I7qaU7kj6Pwy4UTQVxzLdHILeqU6UAkgQNl/7fvC3shRsH0JIlogD8ZA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@19.0.0: + resolution: {integrity: sha512-pbnbuxyeRaqidh9SVnkDc7sPgvAcjFrvDG/js8cULwqmQUtEqfk8ue50D1kNH76X53AVrP7ijsJQG96SGjfDxg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -2509,8 +3042,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-gnu@16.0.0: - resolution: {integrity: sha512-ue2ravlNusu5xojC37JjgLaUyqm0swL5egVSHBARxOsT7piyk0ac56/j+ZrBckrjLbIplTGpwFGGS9vbKiEeoQ==} + /@nx/nx-linux-arm64-gnu@19.0.0: + resolution: {integrity: sha512-lP+nb0aYy4tBuodHIBibWqKCidwoW6psfWkbabrzLwUqqD2tpjCsZxwpvU3jgTRQZsHPWZF2ELYfRuGVnLrqdg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2518,8 +3051,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-musl@16.0.0: - resolution: {integrity: sha512-dSqC3Tp8GfWqOH/jZBkdGtoDoi/A5+LA45nqXRAMawyFv3jODcBsPPuCT8FHk0Yb7X8+MNYx7gk7H14aRIjlQg==} + /@nx/nx-linux-arm64-musl@19.0.0: + resolution: {integrity: sha512-/dgFejPLv7l0/3T21Y/bhSZPOOfhvzGkvdRulBnGkMC13VCdFlqFIpZf0ghzO+kslOc/W4z5sp+7xTf4CDqp1A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2527,8 +3060,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-gnu@16.0.0: - resolution: {integrity: sha512-xk35VXMp6LfopYFSHy4aEgn1xhFyxDl0xYVcg0nrp0ohppjkYIW2H/XVuuEdYZvRuTPkn3a6dQDoo0LLeY77Cg==} + /@nx/nx-linux-x64-gnu@19.0.0: + resolution: {integrity: sha512-GBCDFhfi6F9fkQBCYBr4Ef8TzdlQMX6iGQ44cAqzrQjjslBGb7n9xcMhB2b869crMJEPLgOkjEWOJH/52Hr5ng==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2536,8 +3069,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-musl@16.0.0: - resolution: {integrity: sha512-yIdIlggK3WyDGoB7zS2UaiX2Q7ew0De62cNDudHgdg8dzHxa6IzKeFJjVEoNEt5Z+BG8ILaSn/lYxQs8YtV4FA==} + /@nx/nx-linux-x64-musl@19.0.0: + resolution: {integrity: sha512-soT/eLXBmWK8IHGK+SVgjf98xvPCjGVac/yMl7/ivvcF6LM56h5baN+0vhYbWoYVrkodoG/j7RRnD/Tiobe7Eg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2545,8 +3078,8 @@ packages: dev: true optional: true - /@nx/nx-win32-arm64-msvc@16.0.0: - resolution: {integrity: sha512-YgnkVewQgA/RhXcGDbyhIi+WqAdIzjKGF1JPsA8q+6di3hRksvN+Ud4TVM9R8NFCrRclIxt04v+fqM24PmMIUQ==} + /@nx/nx-win32-arm64-msvc@19.0.0: + resolution: {integrity: sha512-FJ9msRTLGR/IVceXk63a3E3fyYR8OO1tW8WBNgnmAjZlnJhMPk/UWxglVeV5FdK6+kurwrThbIjlgPsCnSGJfQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -2554,8 +3087,8 @@ packages: dev: true optional: true - /@nx/nx-win32-x64-msvc@16.0.0: - resolution: {integrity: sha512-6UXuO3v5rD3ae5jyYZ0cvlLMJ1NzmdLIIQHio/sWno3KJ0+NR/gpkQBl6F4CdZmoXTXZ+ZsDGUNzQtXWkCdSLg==} + /@nx/nx-win32-x64-msvc@19.0.0: + resolution: {integrity: sha512-Vf7PcmTbKj349AAmIHM6y9EDJJHdkpbO5vr0f4kEp4P1WQwglY0/sMu2ocsFzxGCW8D9GjiDiJokxtv309hvZA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2563,85 +3096,74 @@ packages: dev: true optional: true - /@nx/rollup@16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-bPY4ravpaOYlryq1FsZ5ySaoXjjhR5Jiqv/2TO38/pg/yKv24ZxnQQLTnXWfCru5HuQUeO8IX9WLXvinXsR6tw==} - dependencies: - '@nrwl/rollup': 16.0.0(@babel/core@7.21.0)(@swc/core@1.3.39)(nx@16.0.0)(ts-node@10.9.1)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.0)(rollup@2.79.1) - '@rollup/plugin-commonjs': 20.0.0(rollup@2.79.1) - '@rollup/plugin-image': 2.1.1(rollup@2.79.1) - '@rollup/plugin-json': 4.1.0(rollup@2.79.1) - '@rollup/plugin-node-resolve': 13.3.0(rollup@2.79.1) + /@nx/rollup@19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-fsPFyRjGfNkIBnhjyWBqAiDkqHZ+IwIcXogP0tvLM6Cbm8ukrFNNDhfgI32pMIx9DJ0ScLJ94aCCudwF31aESw==} + dependencies: + '@nrwl/rollup': 19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@rollup/plugin-babel': 6.1.0(@babel/core@7.29.7)(rollup@4.62.2) + '@rollup/plugin-commonjs': 25.0.8(rollup@4.62.2) + '@rollup/plugin-image': 3.0.3(rollup@4.62.2) + '@rollup/plugin-json': 6.1.0(rollup@4.62.2) + '@rollup/plugin-node-resolve': 15.3.1(rollup@4.62.2) autoprefixer: 10.4.14(postcss@8.4.21) babel-plugin-transform-async-to-promises: 0.8.18 chalk: 4.1.2 - dotenv: 10.0.0 postcss: 8.4.21 - rollup: 2.79.1 - rollup-plugin-copy: 3.4.0 - rollup-plugin-peer-deps-external: 2.2.4(rollup@2.79.1) + rollup: 4.62.2 + rollup-plugin-copy: 3.5.0 rollup-plugin-postcss: 4.0.2(postcss@8.4.21)(ts-node@10.9.1) - rollup-plugin-typescript2: 0.34.1(rollup@2.79.1)(typescript@4.9.5) - rxjs: 6.6.7 + rollup-plugin-typescript2: 0.36.0(rollup@4.62.2)(typescript@5.4.5) tslib: 2.5.3 transitivePeerDependencies: - '@babel/core' - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' - '@types/babel__core' + - '@types/node' - debug - nx - supports-color - ts-node - typescript + - verdaccio dev: true - /@nx/web@16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5): - resolution: {integrity: sha512-QC0r+XGVqfzpREhKAayElY3q9EAX8r1RRcilViKFlL7k3Yq/UhFWvNV2+Ll9fKeaGretvFX2KSNtAbyjoO+lCg==} + /@nx/web@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-IHaEXtUFG9poQHdTnsNitxNs3Fxi4zwpR31SD65o5rp9sTDAo/uYY+0j4H10Bz2nDQxNeJOvqlYBC1XIoXS6sw==} dependencies: - '@nrwl/web': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@nx/js': 16.0.0(@swc/core@1.3.39)(nx@16.0.0)(typescript@4.9.5) + '@nrwl/web': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) chalk: 4.1.2 - chokidar: 3.5.3 + detect-port: 1.6.1 http-server: 14.1.1 - ignore: 5.2.4 tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' + - '@swc/wasm' + - '@types/node' - debug - nx - supports-color - typescript + - verdaccio dev: true - /@nx/workspace@16.0.0(@swc/core@1.3.39): - resolution: {integrity: sha512-+yjcuFJ0r1MBokL5KqpnSwRJz8zNZMwAJRAcDNbauo5OeEDVGb4TXFuwGWWnkxQI2WTFSaTyuEE8Ga50s/nNyw==} + /@nx/workspace@19.0.0(@swc/core@1.3.107): + resolution: {integrity: sha512-CHGG7PkiDz5BxlxMuGB9abWb+6j97msZXMOW1KjctgK+nsLci4c5XMOKIKhyZPJbfmwnPeRmYyANok3BOIs8GQ==} dependencies: - '@nrwl/workspace': 16.0.0(@swc/core@1.3.39) - '@nx/devkit': 16.0.0(nx@16.0.0) - '@parcel/watcher': 2.0.4 + '@nrwl/workspace': 19.0.0(@swc/core@1.3.107) + '@nx/devkit': 19.0.0(nx@19.0.0) chalk: 4.1.2 - chokidar: 3.5.3 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - dotenv: 10.0.0 - figures: 3.2.0 - flat: 5.0.2 - ignore: 5.2.4 - minimatch: 3.0.5 - npm-run-path: 4.0.1 - nx: 16.0.0(@swc/core@1.3.39) - open: 8.4.2 - rxjs: 6.6.7 - tmp: 0.2.1 + enquirer: 2.3.6 + nx: 19.0.0(@swc/core@1.3.107) tslib: 2.5.3 - yargs: 17.7.1 yargs-parser: 21.1.1 transitivePeerDependencies: - '@swc-node/register' @@ -2759,169 +3281,376 @@ packages: - encoding dev: true - /@octokit/types@9.0.0: - resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} - dependencies: - '@octokit/openapi-types': 16.0.0 + /@octokit/types@9.0.0: + resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} + dependencies: + '@octokit/openapi-types': 16.0.0 + dev: true + + /@phenomnomnominal/tsquery@5.0.1(typescript@5.4.5): + resolution: {integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==} + peerDependencies: + typescript: ^3 || ^4 || ^5 + dependencies: + esquery: 1.5.0 + typescript: 5.4.5 + dev: true + + /@pnpm/config.env-replace@1.0.0: + resolution: {integrity: sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA==} + engines: {node: '>=12.22.0'} + dev: true + + /@pnpm/network.ca-file@1.0.2: + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + dependencies: + graceful-fs: 4.2.10 + dev: true + + /@pnpm/npm-conf@2.1.0: + resolution: {integrity: sha512-Oe6ntvgsMTE3hDIqy6sajqHF+MnzJrOF06qC2QSiUEybLL7cp6tjoKUa32gpd9+KPVl4QyMs3E3nsXrx/Vdnlw==} + engines: {node: '>=12'} + dependencies: + '@pnpm/config.env-replace': 1.0.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + dev: true + + /@release-it/bumper@4.0.2(release-it@15.8.0): + resolution: {integrity: sha512-HjiFIBNvb67cLTbzdm6EqiSRwpB4MJY4TGJFY/ac5qnIxERWK5gx1zBnwbJZffDSoS46hJMugoXrDbITEfX4gA==} + engines: {node: '>=14'} + peerDependencies: + release-it: ^15.2.0 + dependencies: + '@iarna/toml': 2.2.5 + detect-indent: 7.0.1 + fast-glob: 3.2.12 + ini: 3.0.1 + js-yaml: 4.1.0 + lodash.castarray: 4.4.0 + lodash.get: 4.4.2 + lodash.set: 4.3.2 + release-it: 15.8.0 + semver: 7.3.8 + dev: true + + /@release-it/conventional-changelog@5.1.1(release-it@15.8.0): + resolution: {integrity: sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==} + engines: {node: '>=14'} + peerDependencies: + release-it: ^15.4.1 + dependencies: + concat-stream: 2.0.0 + conventional-changelog: 3.1.25 + conventional-recommended-bump: 6.1.0 + release-it: 15.8.0 + semver: 7.3.8 + dev: true + + /@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(rollup@4.62.2): + resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + rollup: + optional: true + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.18.6 + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + rollup: 4.62.2 + dev: true + + /@rollup/plugin-commonjs@25.0.8(rollup@4.62.2): + resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.21 + rollup: 4.62.2 + dev: true + + /@rollup/plugin-image@3.0.3(rollup@4.62.2): + resolution: {integrity: sha512-qXWQwsXpvD4trSb8PeFPFajp8JLpRtqqOeNYRUKnEQNHm7e5UP7fuSRcbjQAJ7wDZBbnJvSdY5ujNBQd9B1iFg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + mini-svg-data-uri: 1.4.4 + rollup: 4.62.2 + dev: true + + /@rollup/plugin-json@6.1.0(rollup@4.62.2): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + rollup: 4.62.2 + dev: true + + /@rollup/plugin-node-resolve@15.3.1(rollup@4.62.2): + resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + '@types/resolve': 1.20.2 + deepmerge: 4.3.0 + is-module: 1.0.0 + resolve: 1.22.1 + rollup: 4.62.2 + dev: true + + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/pluginutils@5.4.0(rollup@4.62.2): + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 4.0.4 + rollup: 4.62.2 + dev: true + + /@rollup/rollup-android-arm-eabi@4.62.2: + resolution: {integrity: sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.62.2: + resolution: {integrity: sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.62.2: + resolution: {integrity: sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.62.2: + resolution: {integrity: sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-freebsd-arm64@4.62.2: + resolution: {integrity: sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-freebsd-x64@4.62.2: + resolution: {integrity: sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.62.2: + resolution: {integrity: sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-musleabihf@4.62.2: + resolution: {integrity: sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.62.2: + resolution: {integrity: sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.62.2: + resolution: {integrity: sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-loong64-gnu@4.62.2: + resolution: {integrity: sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==} + cpu: [loong64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@parcel/watcher@2.0.4: - resolution: {integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==} - engines: {node: '>= 10.0.0'} + /@rollup/rollup-linux-loong64-musl@4.62.2: + resolution: {integrity: sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==} + cpu: [loong64] + os: [linux] requiresBuild: true - dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 dev: true + optional: true - /@phenomnomnominal/tsquery@5.0.1(typescript@4.9.5): - resolution: {integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==} - peerDependencies: - typescript: ^3 || ^4 || ^5 - dependencies: - esquery: 1.5.0 - typescript: 4.9.5 + /@rollup/rollup-linux-ppc64-gnu@4.62.2: + resolution: {integrity: sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==} + cpu: [ppc64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@pnpm/config.env-replace@1.0.0: - resolution: {integrity: sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA==} - engines: {node: '>=12.22.0'} + /@rollup/rollup-linux-ppc64-musl@4.62.2: + resolution: {integrity: sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==} + cpu: [ppc64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@pnpm/network.ca-file@1.0.2: - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} - dependencies: - graceful-fs: 4.2.10 + /@rollup/rollup-linux-riscv64-gnu@4.62.2: + resolution: {integrity: sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==} + cpu: [riscv64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@pnpm/npm-conf@2.1.0: - resolution: {integrity: sha512-Oe6ntvgsMTE3hDIqy6sajqHF+MnzJrOF06qC2QSiUEybLL7cp6tjoKUa32gpd9+KPVl4QyMs3E3nsXrx/Vdnlw==} - engines: {node: '>=12'} - dependencies: - '@pnpm/config.env-replace': 1.0.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 + /@rollup/rollup-linux-riscv64-musl@4.62.2: + resolution: {integrity: sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==} + cpu: [riscv64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@release-it/bumper@4.0.2(release-it@15.8.0): - resolution: {integrity: sha512-HjiFIBNvb67cLTbzdm6EqiSRwpB4MJY4TGJFY/ac5qnIxERWK5gx1zBnwbJZffDSoS46hJMugoXrDbITEfX4gA==} - engines: {node: '>=14'} - peerDependencies: - release-it: ^15.2.0 - dependencies: - '@iarna/toml': 2.2.5 - detect-indent: 7.0.1 - fast-glob: 3.2.12 - ini: 3.0.1 - js-yaml: 4.1.0 - lodash.castarray: 4.4.0 - lodash.get: 4.4.2 - lodash.set: 4.3.2 - release-it: 15.8.0 - semver: 7.3.8 + /@rollup/rollup-linux-s390x-gnu@4.62.2: + resolution: {integrity: sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==} + cpu: [s390x] + os: [linux] + requiresBuild: true dev: true + optional: true - /@release-it/conventional-changelog@5.1.1(release-it@15.8.0): - resolution: {integrity: sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==} - engines: {node: '>=14'} - peerDependencies: - release-it: ^15.4.1 - dependencies: - concat-stream: 2.0.0 - conventional-changelog: 3.1.25 - conventional-recommended-bump: 6.1.0 - release-it: 15.8.0 - semver: 7.3.8 + /@rollup/rollup-linux-x64-gnu@4.62.2: + resolution: {integrity: sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.21.0)(rollup@2.79.1): - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-imports': 7.18.6 - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - rollup: 2.79.1 + /@rollup/rollup-linux-x64-musl@4.62.2: + resolution: {integrity: sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@rollup/plugin-commonjs@20.0.0(rollup@2.79.1): - resolution: {integrity: sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.38.3 - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 7.2.3 - is-reference: 1.2.1 - magic-string: 0.25.9 - resolve: 1.22.1 - rollup: 2.79.1 + /@rollup/rollup-openbsd-x64@4.62.2: + resolution: {integrity: sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==} + cpu: [x64] + os: [openbsd] + requiresBuild: true dev: true + optional: true - /@rollup/plugin-image@2.1.1(rollup@2.79.1): - resolution: {integrity: sha512-AgP4U85zuQJdUopLUCM+hTf45RepgXeTb8EJsleExVy99dIoYpt3ZlDYJdKmAc2KLkNntCDg6BPJvgJU3uGF+g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - mini-svg-data-uri: 1.4.4 - rollup: 2.79.1 + /@rollup/rollup-openharmony-arm64@4.62.2: + resolution: {integrity: sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==} + cpu: [arm64] + os: [openharmony] + requiresBuild: true dev: true + optional: true - /@rollup/plugin-json@4.1.0(rollup@2.79.1): - resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - rollup: 2.79.1 + /@rollup/rollup-win32-arm64-msvc@4.62.2: + resolution: {integrity: sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1): - resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^2.42.0 - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - '@types/resolve': 1.17.1 - deepmerge: 4.3.0 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.1 - rollup: 2.79.1 + /@rollup/rollup-win32-ia32-msvc@4.62.2: + resolution: {integrity: sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true - /@rollup/pluginutils@3.1.0(rollup@2.79.1): - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.1 + /@rollup/rollup-win32-x64-gnu@4.62.2: + resolution: {integrity: sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 + /@rollup/rollup-win32-x64-msvc@4.62.2: + resolution: {integrity: sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} @@ -2949,9 +3678,9 @@ packages: '@sinonjs/commons': 2.0.0 dev: true - /@swc/cli@0.1.65(@swc/core@1.3.39): - resolution: {integrity: sha512-4NcgsvJVHhA7trDnMmkGLLvWMHu2kSy+qHx6QwRhhJhdiYdNUrhdp+ERxen73sYtaeEOYeLJcWrQ60nzKi6rpg==} - engines: {node: '>= 12.13'} + /@swc/cli@0.3.14(@swc/core@1.3.107): + resolution: {integrity: sha512-0vGqD6FSW67PaZUZABkA+ADKsX7OUY/PwNEz1SbQdCvVk/e4Z36Gwh7mFVBQH9RIsMonTyhV1RHkwkGnEfR3zQ==} + engines: {node: '>= 16.14.0'} hasBin: true peerDependencies: '@swc/core': ^1.2.66 @@ -2961,17 +3690,19 @@ packages: optional: true dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.3.39 - commander: 7.2.0 + '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@swc/counter': 0.1.3 + commander: 8.3.0 fast-glob: 3.2.12 minimatch: 9.0.9 - semver: 7.3.8 + piscina: 4.9.3 + semver: 7.8.5 slash: 3.0.0 source-map: 0.7.4 dev: true - /@swc/core-darwin-arm64@1.3.39: - resolution: {integrity: sha512-qYR47BEfUvK1WRAP/LVbHakCo4mcksgDjRutJbkx3maTgHlSGYQKCQo7hz+or+n3cbR2abY0rFEgoCLjZctGOw==} + /@swc/core-darwin-arm64@1.3.107: + resolution: {integrity: sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -2979,8 +3710,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.39: - resolution: {integrity: sha512-kqJ8OleY/y3S+HXnZxDWFVbKpRsb7gZDZr6Pksr8tzFba/6pLkZFBxds/zgfWIlUwri2Lcx0X872MJ46ghwv9w==} + /@swc/core-darwin-x64@1.3.107: + resolution: {integrity: sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -2988,8 +3719,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.39: - resolution: {integrity: sha512-+c3A2BV0esPNHn/KKMqP+bphUF86sVKUIaxn5tKMDrnO8ckOpEMbJ+SwzYLtwC9JIYjWwryg/0yvWrdma26Irw==} + /@swc/core-linux-arm-gnueabihf@1.3.107: + resolution: {integrity: sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -2997,8 +3728,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.39: - resolution: {integrity: sha512-IRrfft7ANk3NR0qX6bXbfkqbT+WR0TMvgODQdZAtRQIt5ERFpdhcnYc4tlJzfV23R0Ek3kpdA8Gduj4tHk0K6w==} + /@swc/core-linux-arm64-gnu@1.3.107: + resolution: {integrity: sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3006,8 +3737,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.39: - resolution: {integrity: sha512-N8tnynqBdRzY8m2blPAnLUtaln0m8gb96q6ipnY+XoHQ3Z6uZoUq8jWAeFDhD+MCzM7qD2HyBDN7sEqiwMRO/g==} + /@swc/core-linux-arm64-musl@1.3.107: + resolution: {integrity: sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3015,8 +3746,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.39: - resolution: {integrity: sha512-Jif56kWHOjQexCib4FVbGeUcBUc56cgNW7ELEKAUCID70z20JHMVTd5utcmfi1L9tywGMvfzqD5z+NQtrFV8GQ==} + /@swc/core-linux-x64-gnu@1.3.107: + resolution: {integrity: sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3024,8 +3755,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.39: - resolution: {integrity: sha512-ZiGERr/mdsEwfSiWn2Qokd8a4TTJkLVta6Nan39Bozo6J789u4uDF9Cj5TWWMSanHYAK/oRDaUm1yo2/DSecAA==} + /@swc/core-linux-x64-musl@1.3.107: + resolution: {integrity: sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3033,8 +3764,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.39: - resolution: {integrity: sha512-eUAk12LZ6RQHhe0ikZZsi0CPbRA6qsvoNQQ/6uwVF60CT0UnJrLiX3w3q30aXK3WjVR6uUlVEn7ze5t7HUeGyQ==} + /@swc/core-win32-arm64-msvc@1.3.107: + resolution: {integrity: sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -3042,8 +3773,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.39: - resolution: {integrity: sha512-c3MIt+0gvZD0hmPOyoIJtdgx1ubP7E+uUnljw2+Nk8rO6qhIrWI08tWRNbT0HNLXHfHhKMJHvSAg3DGW8vG3Rg==} + /@swc/core-win32-ia32-msvc@1.3.107: + resolution: {integrity: sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -3051,8 +3782,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.39: - resolution: {integrity: sha512-c4xGToLavhHjrE0Um0GyXCilL3sKNRP71GgQTVvqTFHxMmdUCBdug28olMDE1gYsCqXHaF6rPtg3QmD6dhTzKQ==} + /@swc/core-win32-x64-msvc@1.3.107: + resolution: {integrity: sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -3060,37 +3791,55 @@ packages: dev: true optional: true - /@swc/core@1.3.39: - resolution: {integrity: sha512-r5oIySPo2OkC14+gmhK5H1HnDEgOvj5kx6Ogxa+Og7KyWIHE8l1JjjW+4wzYdjxtdhRjVRhvoI6mPQNQz/btBg==} + /@swc/core@1.3.107(@swc/helpers@0.5.23): + resolution: {integrity: sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==} engines: {node: '>=10'} requiresBuild: true + peerDependencies: + '@swc/helpers': ^0.5.0 + peerDependenciesMeta: + '@swc/helpers': + optional: true + dependencies: + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.23 + '@swc/types': 0.1.27 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.39 - '@swc/core-darwin-x64': 1.3.39 - '@swc/core-linux-arm-gnueabihf': 1.3.39 - '@swc/core-linux-arm64-gnu': 1.3.39 - '@swc/core-linux-arm64-musl': 1.3.39 - '@swc/core-linux-x64-gnu': 1.3.39 - '@swc/core-linux-x64-musl': 1.3.39 - '@swc/core-win32-arm64-msvc': 1.3.39 - '@swc/core-win32-ia32-msvc': 1.3.39 - '@swc/core-win32-x64-msvc': 1.3.39 + '@swc/core-darwin-arm64': 1.3.107 + '@swc/core-darwin-x64': 1.3.107 + '@swc/core-linux-arm-gnueabihf': 1.3.107 + '@swc/core-linux-arm64-gnu': 1.3.107 + '@swc/core-linux-arm64-musl': 1.3.107 + '@swc/core-linux-x64-gnu': 1.3.107 + '@swc/core-linux-x64-musl': 1.3.107 + '@swc/core-win32-arm64-msvc': 1.3.107 + '@swc/core-win32-ia32-msvc': 1.3.107 + '@swc/core-win32-x64-msvc': 1.3.107 + dev: true + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} dev: true /@swc/helpers@0.5.23: resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} dependencies: tslib: 2.8.1 - dev: false - /@swc/jest@0.2.20(@swc/core@1.3.39): + /@swc/jest@0.2.20(@swc/core@1.3.107): resolution: {integrity: sha512-5qSUBYY1wyIMn7p0Vl9qqV4hMI69oJwZCIPUpBsTFWN2wlwn6RDugzdgCn+bLXVYh+Cxi8bJcZ1uumDgsoL+FA==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 27.5.1 - '@swc/core': 1.3.39 + '@swc/core': 1.3.107(@swc/helpers@0.5.23) + dev: true + + /@swc/types@0.1.27: + resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} + dependencies: + '@swc/counter': 0.1.3 dev: true /@szmarczak/http-timer@4.0.6: @@ -3107,6 +3856,17 @@ packages: defer-to-connect: 2.0.1 dev: true + /@tokenizer/inflate@0.2.7: + resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==} + engines: {node: '>=18'} + dependencies: + debug: 4.4.3 + fflate: 0.8.3 + token-types: 6.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@tokenizer/token@0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} dev: true @@ -3176,7 +3936,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.15.0 + '@types/node': 18.19.130 '@types/responselike': 1.0.0 dev: true @@ -3190,31 +3950,31 @@ packages: '@types/ms': 0.7.31 dev: true - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true - /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true + /@types/estree@1.0.9: + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + dev: true + /@types/fs-extra@8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.15.0 + '@types/node': 18.19.130 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 dev: true /@types/http-cache-semantics@4.0.1: @@ -3247,19 +4007,15 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - dev: true - /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 dev: true /@types/minimatch@5.1.2: @@ -3274,8 +4030,10 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node@18.15.0: - resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} + /@types/node@18.19.130: + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} + dependencies: + undici-types: 5.26.5 dev: true /@types/normalize-package-data@2.4.1: @@ -3290,20 +4048,14 @@ packages: resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} dev: true - /@types/resolve@1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - dependencies: - '@types/node': 18.15.0 + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.15.0 - dev: true - - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + '@types/node': 18.19.130 dev: true /@types/stack-utils@2.0.1: @@ -3314,7 +4066,7 @@ packages: resolution: {integrity: sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==} dependencies: '@types/cookiejar': 2.1.2 - '@types/node': 18.15.0 + '@types/node': 18.19.130 dev: true /@types/supertest@2.0.12: @@ -3347,142 +4099,143 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) - debug: 4.3.4 - eslint: 8.35.0 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 8.57.1 graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.3(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.4 - eslint: 8.35.0 - typescript: 4.9.5 + eslint: 8.57.1 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@7.18.0: + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: '*' + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) debug: 4.3.4 - eslint: 8.35.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + eslint: 8.57.1 + ts-api-utils: 1.4.3(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@7.18.0: + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@7.18.0(typescript@5.4.5): + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + minimatch: 9.0.9 + semver: 7.8.5 + ts-api-utils: 1.4.3(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.35.0)(typescript@4.9.5): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.35.0) - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - eslint: 8.35.0 - eslint-scope: 5.1.1 - semver: 7.3.8 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@7.18.0: + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.3.0 + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.3.1: + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} dev: true /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true - /@yarnpkg/parsers@3.0.0-rc.40: - resolution: {integrity: sha512-sKbi5XhHKXCjzb5m0ftGuQuODM2iUXEsrCSl8MkKexNWHepCmU3IPaGTPC5gHZy4sOvsb9JqTLaZEez+kDzG+Q==} + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} engines: {node: '>=14.15.0'} dependencies: js-yaml: 3.14.1 @@ -3523,6 +4276,14 @@ packages: acorn-walk: 8.2.0 dev: true + /acorn-jsx@5.3.2(acorn@8.17.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.17.0 + dev: true + /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3543,6 +4304,12 @@ packages: engines: {node: '>=0.4.0'} dev: true + /acorn@8.17.0: + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -3553,6 +4320,11 @@ packages: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true + /address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + dev: true + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -3562,17 +4334,6 @@ packages: - supports-color dev: true - /ajv-formats@2.1.1(ajv@8.11.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.11.0 - dev: true - /ajv-formats@2.1.1(ajv@8.12.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -3593,15 +4354,6 @@ packages: uri-js: 4.4.1 dev: true - /ajv@8.11.0: - resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: @@ -3834,25 +4586,6 @@ packages: - debug dev: true - /axios@1.3.4: - resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} - dependencies: - follow-redirects: 1.15.2 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /b4a@1.8.1: - resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} - peerDependencies: - react-native-b4a: '*' - peerDependenciesMeta: - react-native-b4a: - optional: true - dev: true - /babel-helper-evaluate-path@0.5.0: resolution: {integrity: sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==} dev: true @@ -3899,14 +4632,14 @@ packages: - supports-color dev: true - /babel-plugin-const-enum@1.2.0(@babel/core@7.21.0): + /babel-plugin-const-enum@1.2.0(@babel/core@7.29.7): resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.0) + '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.29.7) '@babel/traverse': 7.21.2 transitivePeerDependencies: - supports-color @@ -3938,7 +4671,7 @@ packages: /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.29.7 cosmiconfig: 6.0.0 resolve: 1.22.1 dev: true @@ -4008,38 +4741,50 @@ packages: babel-helper-is-void-0: 0.4.3 dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.0): - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + /babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0) - semver: 6.3.0 + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.0): - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + /babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0) - core-js-compat: 3.29.0 + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.0): - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + /babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) transitivePeerDependencies: - supports-color dev: true @@ -4092,7 +4837,7 @@ packages: resolution: {integrity: sha512-GLInxhGAQWJ9YIdjwF6dAFlmh4U+kN8pL6Big7nkDzHoZcaDQOtBm28atEhQJq6m9GpAovbiGEShKqXv4BSp0A==} dev: true - /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.21.0): + /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.29.7): resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} peerDependencies: '@babel/core': ^7 @@ -4101,7 +4846,7 @@ packages: '@babel/traverse': optional: true dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -4172,77 +4917,16 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /bare-events@2.9.1: - resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==} - peerDependencies: - bare-abort-controller: '*' - peerDependenciesMeta: - bare-abort-controller: - optional: true - dev: true - - /bare-fs@4.7.2: - resolution: {integrity: sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg==} - engines: {bare: '>=1.16.0'} - peerDependencies: - bare-buffer: '*' - peerDependenciesMeta: - bare-buffer: - optional: true - dependencies: - bare-events: 2.9.1 - bare-path: 3.0.1 - bare-stream: 2.13.3(bare-events@2.9.1) - bare-url: 2.4.5 - fast-fifo: 1.3.2 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - dev: true - - /bare-os@3.9.1: - resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==} - engines: {bare: '>=1.14.0'} - dev: true - - /bare-path@3.0.1: - resolution: {integrity: sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==} - dependencies: - bare-os: 3.9.1 - dev: true - - /bare-stream@2.13.3(bare-events@2.9.1): - resolution: {integrity: sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==} - peerDependencies: - bare-abort-controller: '*' - bare-buffer: '*' - bare-events: '*' - peerDependenciesMeta: - bare-abort-controller: - optional: true - bare-buffer: - optional: true - bare-events: - optional: true - dependencies: - b4a: 1.8.1 - bare-events: 2.9.1 - streamx: 2.28.0 - teex: 1.0.1 - transitivePeerDependencies: - - react-native-b4a - dev: true - - /bare-url@2.4.5: - resolution: {integrity: sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==} - dependencies: - bare-path: 3.0.1 - dev: true - /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true + /baseline-browser-mapping@2.10.38: + resolution: {integrity: sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==} + engines: {node: '>=6.0.0'} + hasBin: true + dev: true + /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} @@ -4267,7 +4951,7 @@ packages: engines: {node: '>=12'} dependencies: bin-version: 6.0.0 - semver: 7.3.8 + semver: 7.8.5 semver-truncate: 2.0.0 dev: true @@ -4279,11 +4963,6 @@ packages: find-versions: 5.1.0 dev: true - /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==} dependencies: @@ -4300,28 +4979,8 @@ packages: readable-stream: 3.6.1 dev: true - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + /body-parser@1.20.4: + resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -4329,11 +4988,11 @@ packages: debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 - http-errors: 2.0.0 + http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 + qs: 6.14.2 + raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 transitivePeerDependencies: @@ -4389,6 +5048,18 @@ packages: update-browserslist-db: 1.0.10(browserslist@4.21.5) dev: true + /browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + baseline-browser-mapping: 2.10.38 + caniuse-lite: 1.0.30001799 + electron-to-chromium: 1.5.376 + node-releases: 2.0.48 + update-browserslist-db: 1.2.3(browserslist@4.28.2) + dev: true + /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -4420,11 +5091,6 @@ packages: ieee754: 1.2.1 dev: true - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -4493,6 +5159,14 @@ packages: get-intrinsic: 1.2.0 dev: true + /call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + dev: true + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -4535,6 +5209,10 @@ packages: resolution: {integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==} dev: true + /caniuse-lite@1.0.30001799: + resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} + dev: true + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -4566,21 +5244,6 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} @@ -4714,6 +5377,14 @@ packages: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: true + /columnify@1.6.0: + resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} + engines: {node: '>=8.0.0'} + dependencies: + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -4726,8 +5397,13 @@ packages: engines: {node: '>= 10'} dev: true - /comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: true + + /comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} engines: {node: '>= 6'} dependencies: array-timsort: 1.0.3 @@ -4737,13 +5413,13 @@ packages: repeat-string: 1.6.1 dev: true - /commitizen@4.3.0(@swc/core@1.3.39): + /commitizen@4.3.0(@swc/core@1.3.107): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@swc/core@1.3.39) + cz-conventional-changelog: 3.3.0(@swc/core@1.3.107) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -4780,16 +5456,6 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - dev: true - /concat-stream@2.0.0: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} @@ -5021,8 +5687,8 @@ packages: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + /cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} dev: true @@ -5030,10 +5696,10 @@ packages: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} dev: true - /core-js-compat@3.29.0: - resolution: {integrity: sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==} + /core-js-compat@3.49.0: + resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} dependencies: - browserslist: 4.21.5 + browserslist: 4.28.2 dev: true /core-util-is@1.0.3: @@ -5053,7 +5719,7 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /cosmiconfig-typescript-loader@4.3.0(@types/node@18.15.0)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5): + /cosmiconfig-typescript-loader@4.3.0(@types/node@18.19.130)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5): resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} requiresBuild: true @@ -5063,9 +5729,9 @@ packages: ts-node: '>=10' typescript: '>=3' dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 cosmiconfig: 8.1.0 - ts-node: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@4.9.5) typescript: 4.9.5 dev: true optional: true @@ -5238,18 +5904,18 @@ packages: cssom: 0.3.8 dev: true - /cz-conventional-changelog@3.3.0(@swc/core@1.3.39): + /cz-conventional-changelog@3.3.0(@swc/core@1.3.107): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@swc/core@1.3.39) + commitizen: 4.3.0(@swc/core@1.3.107) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.3 optionalDependencies: - '@commitlint/load': 17.4.4(@swc/core@1.3.39) + '@commitlint/load': 17.4.4(@swc/core@1.3.107) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -5329,6 +5995,18 @@ packages: ms: 2.1.2 dev: true + /debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -5444,6 +6122,17 @@ packages: engines: {node: '>=8'} dev: true + /detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + dependencies: + address: 1.2.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /dezalgo@1.0.4: resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} dependencies: @@ -5542,16 +6231,16 @@ packages: engines: {node: '>=12'} dev: true - /dotenv@10.0.0: - resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} - engines: {node: '>=10'} - dev: true - /dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} dev: true + /dotenv@16.3.2: + resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + engines: {node: '>=12'} + dev: true + /dottie@2.0.3: resolution: {integrity: sha512-4liA0PuRkZWQFQjwBypdxPfZaRWiv5tkhMXY2hzsa2pNf5s7U3m9cwUchfNKe8wZQxdGPQQzO6Rm2uGe0rvohQ==} dev: true @@ -5593,6 +6282,10 @@ packages: resolution: {integrity: sha512-DIk2H4g/3ZhjgiABJjVdQvUdMlSABOsjeCm6gmUzIdKxAuFrGiJ8QXMm3i09grZdDBMC/d8MELMrdwYRC0+YHg==} dev: true + /electron-to-chromium@1.5.376: + resolution: {integrity: sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==} + dev: true + /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -5606,8 +6299,8 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + /encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} dev: true @@ -5746,6 +6439,11 @@ packages: engines: {node: '>=6'} dev: true + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + dev: true + /escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} engines: {node: '>=12'} @@ -5801,76 +6499,51 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.7.0(eslint@8.35.0): - resolution: {integrity: sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA==} + /eslint-config-prettier@9.1.2(eslint@8.57.1): + resolution: {integrity: sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.35.0 - dev: true - - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + eslint: 8.57.1 dev: true - /eslint-scope@7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.35.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.35.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys@3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /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} dev: true - /eslint@8.35.0: - resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + /eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true dependencies: - '@eslint/eslintrc': 2.0.0 - '@eslint/js': 8.35.0 - '@humanwhocodes/config-array': 0.11.8 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.3.1 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0(eslint@8.35.0) - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -5878,23 +6551,19 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.20.0 - grapheme-splitter: 1.0.4 + 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-sdsl: 4.3.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 - regexpp: 3.2.0 + optionator: 0.9.4 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -5906,7 +6575,16 @@ packages: dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: @@ -5943,10 +6621,6 @@ packages: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true - /estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true - /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true @@ -5965,14 +6639,6 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true - /events-universal@1.0.1: - resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} - dependencies: - bare-events: 2.9.1 - transitivePeerDependencies: - - bare-abort-controller - dev: true - /execa@0.7.0: resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} engines: {node: '>=4'} @@ -6046,36 +6712,36 @@ packages: jest-util: 29.5.0 dev: true - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + /express@4.22.1: + resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.4 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.5.0 + cookie: 0.7.2 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.2 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.14.2 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.2 + serve-static: 1.16.3 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -6113,10 +6779,6 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - dev: true - /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -6171,6 +6833,10 @@ packages: web-streams-polyfill: 3.2.1 dev: true + /fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + dev: true + /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -6209,6 +6875,18 @@ packages: token-types: 5.0.1 dev: true + /file-type@20.4.1: + resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} + engines: {node: '>=18'} + dependencies: + '@tokenizer/inflate': 0.2.7 + strtok3: 10.3.5 + token-types: 6.1.2 + uint8array-extras: 1.5.0 + transitivePeerDependencies: + - supports-color + dev: true + /file-uri-to-path@2.0.0: resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} engines: {node: '>= 6'} @@ -6241,16 +6919,16 @@ packages: to-regex-range: 5.0.1 dev: true - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + /finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 - statuses: 2.0.1 + statuses: 2.0.2 unpipe: 1.0.0 transitivePeerDependencies: - supports-color @@ -6340,16 +7018,6 @@ packages: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true - /follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} engines: {node: '>=4.0'} @@ -6678,9 +7346,8 @@ packages: is-glob: 4.0.3 dev: true - /glob@7.1.4: - resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6690,15 +7357,16 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 5.1.6 once: 1.4.0 - path-is-absolute: 1.0.1 dev: true /global-dirs@0.1.1: @@ -6842,10 +7510,6 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -6973,6 +7637,13 @@ packages: lru-cache: 6.0.0 dev: true + /hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.4.3 + dev: true + /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -6999,6 +7670,17 @@ packages: toidentifier: 1.0.1 dev: true + /http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + dev: true + /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} @@ -7134,6 +7816,11 @@ packages: engines: {node: '>= 4'} dev: true + /ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + dev: true + /import-cwd@3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} @@ -7210,11 +7897,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true - /ini@4.1.3: - resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /inquirer@6.5.2: resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} engines: {node: '>=6.0.0'} @@ -7348,13 +8030,6 @@ packages: has-bigints: 1.0.2 dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -7363,13 +8038,6 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -7388,6 +8056,13 @@ packages: has: 1.0.3 dev: true + /is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.4 + dev: true + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -7728,7 +8403,7 @@ packages: '@jest/expect': 29.5.0 '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -7748,7 +8423,7 @@ packages: - supports-color dev: true - /jest-cli@29.5.0(@types/node@18.15.0)(ts-node@10.9.1): + /jest-cli@29.5.0(@types/node@18.19.130)(ts-node@10.9.1): resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -7765,7 +8440,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + jest-config: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) jest-util: 29.5.0 jest-validate: 29.5.0 prompts: 2.4.2 @@ -7776,7 +8451,7 @@ packages: - ts-node dev: true - /jest-config@29.5.0(@types/node@18.15.0)(ts-node@10.9.1): + /jest-config@29.5.0(@types/node@18.19.130)(ts-node@10.9.1): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -7791,7 +8466,7 @@ packages: '@babel/core': 7.21.0 '@jest/test-sequencer': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 babel-jest: 29.5.0(@babel/core@7.21.0) chalk: 4.1.2 ci-info: 3.8.0 @@ -7811,7 +8486,7 @@ packages: pretty-format: 29.5.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) transitivePeerDependencies: - supports-color dev: true @@ -7857,7 +8532,7 @@ packages: '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 '@types/jsdom': 20.0.1 - '@types/node': 18.15.0 + '@types/node': 18.19.130 jest-mock: 29.5.0 jest-util: 29.5.0 jsdom: 20.0.3 @@ -7874,7 +8549,7 @@ packages: '@jest/environment': 29.5.0 '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 jest-mock: 29.5.0 jest-util: 29.5.0 dev: true @@ -7890,7 +8565,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@types/graceful-fs': 4.1.6 - '@types/node': 18.15.0 + '@types/node': 18.19.130 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.10 @@ -7941,7 +8616,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 jest-util: 29.5.0 dev: true @@ -7996,7 +8671,7 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.10 @@ -8027,7 +8702,7 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -8082,7 +8757,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -8107,7 +8782,7 @@ packages: dependencies: '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 18.15.0 + '@types/node': 18.19.130 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -8119,13 +8794,13 @@ packages: resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 jest-util: 29.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.5.0(@types/node@18.15.0)(ts-node@10.9.1): + /jest@29.5.0(@types/node@18.19.130)(ts-node@10.9.1): resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -8138,17 +8813,13 @@ packages: '@jest/core': 29.5.0(ts-node@10.9.1) '@jest/types': 29.5.0 import-local: 3.1.0 - jest-cli: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + jest-cli: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - supports-color - ts-node dev: true - /js-sdsl@4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -8220,6 +8891,12 @@ packages: hasBin: true dev: true + /jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + dev: true + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true @@ -8263,10 +8940,28 @@ packages: hasBin: true dev: true + /jsonc-eslint-parser@2.4.2: + resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + eslint-visitor-keys: 3.4.3 + espree: 9.4.1 + semver: 7.8.5 + dev: true + /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + dev: true + /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: @@ -8468,6 +9163,10 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + dev: true + /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: @@ -8493,24 +9192,24 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + /magic-string@0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /magic-string@0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} - engines: {node: '>=12'} + /magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.5.5 dev: true - /magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.5.5 dev: true /make-dir@3.1.0: @@ -8571,8 +9270,8 @@ packages: yargs-parser: 20.2.9 dev: true - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} dev: true /merge-stream@2.0.0: @@ -8670,12 +9369,6 @@ packages: hasBin: true dev: true - /minimatch@3.0.5: - resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -8689,6 +9382,13 @@ packages: brace-expansion: 2.1.1 dev: true + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.1.1 + dev: true + /minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -8747,13 +9447,13 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /multer@1.4.4-lts.1: - resolution: {integrity: sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==} - engines: {node: '>= 6.0.0'} + /multer@2.0.2: + resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==} + engines: {node: '>= 10.16.0'} dependencies: append-field: 1.0.0 busboy: 1.6.0 - concat-stream: 1.6.2 + concat-stream: 2.0.0 mkdirp: 0.5.6 object-assign: 4.1.1 type-is: 1.6.18 @@ -8774,10 +9474,6 @@ packages: hasBin: true dev: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -8803,10 +9499,6 @@ packages: type-fest: 2.19.0 dev: true - /node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - dev: true - /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -8833,11 +9525,6 @@ packages: formdata-polyfill: 4.0.10 dev: true - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} - hasBin: true - dev: true - /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true @@ -8850,6 +9537,11 @@ packages: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} dev: true + /node-releases@2.0.48: + resolution: {integrity: sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==} + engines: {node: '>=18'} + dev: true + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -8889,6 +9581,16 @@ packages: engines: {node: '>=14.16'} 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.2 + proc-log: 3.0.0 + semver: 7.8.5 + validate-npm-package-name: 5.0.1 + dev: true + /npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -8920,84 +9622,65 @@ packages: resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} dev: true - /nx-cloud@19.1.3: - resolution: {integrity: sha512-fY0MnE4tJOERMq6HnAD/ILI2w1r1z3BNMXyEszr4kg+py2bFtpM211cP9WLhJKwTMg3Mv/ut89g37EZY9IOKgg==} - hasBin: true - dependencies: - axios: 1.13.6 - chalk: 4.1.2 - dotenv: 10.0.0 - fs-extra: 11.3.4 - ini: 4.1.3 - node-machine-id: 1.1.12 - open: 8.4.2 - tar-stream: 3.1.8 - yargs-parser: 21.1.1 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - debug - - react-native-b4a - dev: true - - /nx@16.0.0(@swc/core@1.3.39): - resolution: {integrity: sha512-ZqqXDqJL3gW1wqwuDXPDeCZZWWSQAi2TrhpK9X1oyCml2TixzMhFBXVF+WZebIw2TCE83T3kK0lHMo72UZTmNw==} + /nx@19.0.0(@swc/core@1.3.107): + resolution: {integrity: sha512-+9gykv680iCeF7W+8FtQpeS0Z2NOIyBbvKZv4J3XQq+6g+2fHXicSmsurx2z1VmaRZlOZPH32SbKk+4GNcwJCg==} hasBin: true requiresBuild: true peerDependencies: - '@swc-node/register': ^1.4.2 - '@swc/core': ^1.2.173 + '@swc-node/register': ^1.8.0 + '@swc/core': ^1.3.85 peerDependenciesMeta: '@swc-node/register': optional: true '@swc/core': optional: true dependencies: - '@nrwl/tao': 16.0.0(@swc/core@1.3.39) - '@parcel/watcher': 2.0.4 - '@swc/core': 1.3.39 + '@nrwl/tao': 19.0.0(@swc/core@1.3.107) + '@swc/core': 1.3.107(@swc/helpers@0.5.23) '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.40 + '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.3.4 + axios: 1.13.6 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.2 + 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.0 - glob: 7.1.4 + fs-extra: 11.3.4 ignore: 5.2.4 + jest-diff: 29.5.0 js-yaml: 4.1.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 - minimatch: 3.0.5 + minimatch: 9.0.3 + node-machine-id: 1.1.12 npm-run-path: 4.0.1 open: 8.4.2 - semver: 7.3.4 + ora: 5.3.0 + semver: 7.8.5 string-width: 4.2.3 strong-log-transformer: 2.1.0 tar-stream: 2.2.0 tmp: 0.2.1 tsconfig-paths: 4.1.2 tslib: 2.5.3 - v8-compile-cache: 2.3.0 yargs: 17.7.1 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 16.0.0 - '@nx/nx-darwin-x64': 16.0.0 - '@nx/nx-linux-arm-gnueabihf': 16.0.0 - '@nx/nx-linux-arm64-gnu': 16.0.0 - '@nx/nx-linux-arm64-musl': 16.0.0 - '@nx/nx-linux-x64-gnu': 16.0.0 - '@nx/nx-linux-x64-musl': 16.0.0 - '@nx/nx-win32-arm64-msvc': 16.0.0 - '@nx/nx-win32-x64-msvc': 16.0.0 + '@nx/nx-darwin-arm64': 19.0.0 + '@nx/nx-darwin-x64': 19.0.0 + '@nx/nx-freebsd-x64': 19.0.0 + '@nx/nx-linux-arm-gnueabihf': 19.0.0 + '@nx/nx-linux-arm64-gnu': 19.0.0 + '@nx/nx-linux-arm64-musl': 19.0.0 + '@nx/nx-linux-x64-gnu': 19.0.0 + '@nx/nx-linux-x64-musl': 19.0.0 + '@nx/nx-win32-arm64-msvc': 19.0.0 + '@nx/nx-win32-x64-msvc': 19.0.0 transitivePeerDependencies: - debug dev: true @@ -9011,6 +9694,11 @@ packages: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: true + /object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + dev: true + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -9086,8 +9774,8 @@ packages: word-wrap: 1.2.3 dev: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: deep-is: 0.1.4 @@ -9095,7 +9783,21 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 + word-wrap: 1.2.5 + dev: true + + /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.7.0 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 dev: true /ora@5.4.1: @@ -9358,12 +10060,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + /path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} dev: true - /path-to-regexp@3.2.0: - resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} + /path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} dev: true /path-type@3.0.0: @@ -9397,11 +10099,25 @@ packages: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: true + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: true + /picomatch@4.0.1: + resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + engines: {node: '>=12'} + dev: true + + /picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + dev: true + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -9422,6 +10138,12 @@ packages: engines: {node: '>= 6'} dev: true + /piscina@4.9.3: + resolution: {integrity: sha512-3e3ka9QCE8RJ5I9uszdAADZnkcYi21cqmF3gxox3u884N72qpFHCsIVhHt8cEQ9t3Auq/NqoiCEuhxlxxQuDWA==} + optionalDependencies: + '@napi-rs/nice': 1.1.1 + dev: true + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -9529,7 +10251,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.21 - ts-node: 10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) yaml: 1.10.2 dev: true @@ -9848,6 +10570,11 @@ packages: react-is: 18.2.0 dev: true + /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==} dev: true @@ -9949,18 +10676,18 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + /qs@6.11.1: + resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: true - /qs@6.11.1: - resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==} + /qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.1.1 dev: true /querystringify@2.2.0: @@ -9986,8 +10713,8 @@ packages: engines: {node: '>= 0.6'} dev: true - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 @@ -9996,12 +10723,12 @@ packages: unpipe: 1.0.0 dev: true - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + /raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 - http-errors: 2.0.0 + http-errors: 2.0.1 iconv-lite: 0.4.24 unpipe: 1.0.0 dev: true @@ -10093,13 +10820,6 @@ packages: readable-stream: 3.6.1 dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -10126,6 +10846,13 @@ packages: regenerate: 1.4.2 dev: true + /regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true @@ -10134,12 +10861,6 @@ packages: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} - dependencies: - '@babel/runtime': 7.21.0 - dev: true - /regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} @@ -10149,11 +10870,6 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /regexpu-core@5.3.1: resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==} engines: {node: '>=4'} @@ -10166,6 +10882,18 @@ packages: unicode-match-property-value-ecmascript: 2.1.0 dev: true + /regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + dev: true + /registry-auth-token@5.0.2: resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} @@ -10180,6 +10908,17 @@ packages: rc: 1.2.8 dev: true + /regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + dev: true + + /regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} + hasBin: true + dependencies: + jsesc: 3.1.0 + dev: true + /regjsparser@0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true @@ -10303,6 +11042,17 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true + /resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: @@ -10363,13 +11113,14 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup-plugin-copy@3.4.0: - resolution: {integrity: sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==} + /rollup-plugin-copy@3.5.0: + resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==} engines: {node: '>=8.3'} dependencies: '@types/fs-extra': 8.1.2 @@ -10379,14 +11130,6 @@ packages: is-plain-object: 3.0.1 dev: true - /rollup-plugin-peer-deps-external@2.2.4(rollup@2.79.1): - resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==} - peerDependencies: - rollup: '*' - dependencies: - rollup: 2.79.1 - dev: true - /rollup-plugin-postcss@4.0.2(postcss@8.4.21)(ts-node@10.9.1): resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==} engines: {node: '>=10'} @@ -10411,8 +11154,8 @@ packages: - ts-node dev: true - /rollup-plugin-typescript2@0.34.1(rollup@2.79.1)(typescript@4.9.5): - resolution: {integrity: sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==} + /rollup-plugin-typescript2@0.36.0(rollup@4.62.2)(typescript@5.4.5): + resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} peerDependencies: rollup: '>=1.26.3' typescript: '>=2.4.0' @@ -10420,10 +11163,10 @@ packages: '@rollup/pluginutils': 4.2.1 find-cache-dir: 3.3.2 fs-extra: 10.1.0 - rollup: 2.79.1 + rollup: 4.62.2 semver: 7.8.5 - tslib: 2.5.3 - typescript: 4.9.5 + tslib: 2.8.1 + typescript: 5.4.5 dev: true /rollup-pluginutils@2.8.2: @@ -10432,11 +11175,38 @@ packages: estree-walker: 0.6.1 dev: true - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} + /rollup@4.62.2: + resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + dependencies: + '@types/estree': 1.0.9 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.62.2 + '@rollup/rollup-android-arm64': 4.62.2 + '@rollup/rollup-darwin-arm64': 4.62.2 + '@rollup/rollup-darwin-x64': 4.62.2 + '@rollup/rollup-freebsd-arm64': 4.62.2 + '@rollup/rollup-freebsd-x64': 4.62.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.62.2 + '@rollup/rollup-linux-arm-musleabihf': 4.62.2 + '@rollup/rollup-linux-arm64-gnu': 4.62.2 + '@rollup/rollup-linux-arm64-musl': 4.62.2 + '@rollup/rollup-linux-loong64-gnu': 4.62.2 + '@rollup/rollup-linux-loong64-musl': 4.62.2 + '@rollup/rollup-linux-ppc64-gnu': 4.62.2 + '@rollup/rollup-linux-ppc64-musl': 4.62.2 + '@rollup/rollup-linux-riscv64-gnu': 4.62.2 + '@rollup/rollup-linux-riscv64-musl': 4.62.2 + '@rollup/rollup-linux-s390x-gnu': 4.62.2 + '@rollup/rollup-linux-x64-gnu': 4.62.2 + '@rollup/rollup-linux-x64-musl': 4.62.2 + '@rollup/rollup-openbsd-x64': 4.62.2 + '@rollup/rollup-openharmony-arm64': 4.62.2 + '@rollup/rollup-win32-arm64-msvc': 4.62.2 + '@rollup/rollup-win32-ia32-msvc': 4.62.2 + '@rollup/rollup-win32-x64-gnu': 4.62.2 + '@rollup/rollup-win32-x64-msvc': 4.62.2 fsevents: 2.3.2 dev: true @@ -10534,12 +11304,9 @@ packages: hasBin: true dev: true - /semver@7.3.4: - resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==} - engines: {node: '>=10'} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dependencies: - lru-cache: 6.0.0 dev: true /semver@7.3.8: @@ -10556,23 +11323,23 @@ packages: hasBin: true dev: true - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + /send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 fresh: 0.5.2 - http-errors: 2.0.0 + http-errors: 2.0.1 mime: 1.6.0 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 - statuses: 2.0.1 + statuses: 2.0.2 transitivePeerDependencies: - supports-color dev: true @@ -10635,14 +11402,14 @@ packages: - supports-color dev: true - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + /serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} engines: {node: '>= 0.8.0'} dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 0.19.2 transitivePeerDependencies: - supports-color dev: true @@ -10689,6 +11456,35 @@ packages: rechoir: 0.6.2 dev: true + /side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + dev: true + + /side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + dev: true + + /side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + dev: true + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -10697,6 +11493,17 @@ packages: object-inspect: 1.12.3 dev: true + /side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + dev: true + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -10782,11 +11589,6 @@ packages: engines: {node: '>= 8'} dev: true - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - /spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: @@ -10842,6 +11644,11 @@ packages: engines: {node: '>= 0.8'} dev: true + /statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + dev: true + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} @@ -10854,17 +11661,6 @@ packages: engines: {node: '>=10.0.0'} dev: true - /streamx@2.28.0: - resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} - dependencies: - events-universal: 1.0.1 - fast-fifo: 1.3.2 - text-decoder: 1.2.7 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - dev: true - /string-hash@1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true @@ -11020,6 +11816,13 @@ packages: through: 2.3.8 dev: true + /strtok3@10.3.5: + resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} + engines: {node: '>=18'} + dependencies: + '@tokenizer/token': 0.3.0 + dev: true + /strtok3@7.0.0: resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} engines: {node: '>=14.16'} @@ -11126,28 +11929,6 @@ packages: readable-stream: 3.6.1 dev: true - /tar-stream@3.1.8: - resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} - dependencies: - b4a: 1.8.1 - bare-fs: 4.7.2 - fast-fifo: 1.3.2 - streamx: 2.28.0 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a - dev: true - - /teex@1.0.1: - resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} - dependencies: - streamx: 2.28.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - dev: true - /temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} @@ -11165,14 +11946,6 @@ packages: minimatch: 3.1.2 dev: true - /text-decoder@1.2.7: - resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} - dependencies: - b4a: 1.8.1 - transitivePeerDependencies: - - react-native-b4a - dev: true - /text-extensions@1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} @@ -11242,6 +12015,15 @@ packages: ieee754: 1.2.1 dev: true + /token-types@6.1.2: + resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} + engines: {node: '>=14.16'} + dependencies: + '@borewit/text-codec': 0.2.2 + '@tokenizer/token': 0.3.0 + ieee754: 1.2.1 + dev: true + /toposort-class@1.0.1: resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} dev: true @@ -11267,11 +12049,6 @@ packages: punycode: 2.3.0 dev: true - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -11284,7 +12061,16 @@ packages: escape-string-regexp: 5.0.0 dev: true - /ts-jest@29.1.5(@babel/core@7.21.0)(jest@29.5.0)(typescript@4.9.5): + /ts-api-utils@1.4.3(typescript@5.4.5): + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.5 + dev: true + + /ts-jest@29.1.5(@babel/core@7.29.7)(jest@29.5.0)(typescript@5.4.5): resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -11308,20 +12094,20 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.29.7 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.5.0(@types/node@18.15.0)(ts-node@10.9.1) + jest: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) jest-util: 29.5.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.8.5 - typescript: 4.9.5 + typescript: 5.4.5 yargs-parser: 21.1.1 dev: true - /ts-node@10.9.1(@swc/core@1.3.39)(@types/node@18.15.0)(typescript@4.9.5): + /ts-node@10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -11336,12 +12122,12 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.39 + '@swc/core': 1.3.107(@swc/helpers@0.5.23) '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.15.0 + '@types/node': 18.19.130 acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 @@ -11352,6 +12138,39 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true + optional: true + + /ts-node@10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.19.130 + acorn: 8.8.2 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true /tsconfig-paths@4.1.2: resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} @@ -11375,17 +12194,6 @@ packages: /tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - dev: false - - /tsutils@3.21.0(typescript@4.9.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - dev: true /type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} @@ -11476,6 +12284,14 @@ packages: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true + requiresBuild: true + dev: true + optional: true + + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true dev: true /uglify-js@3.17.4: @@ -11493,6 +12309,11 @@ packages: '@lukeed/csprng': 1.0.1 dev: true + /uint8array-extras@1.5.0: + resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} + engines: {node: '>=18'} + dev: true + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -11502,6 +12323,10 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -11520,6 +12345,11 @@ packages: engines: {node: '>=4'} dev: true + /unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + dev: true + /unicode-property-aliases-ecmascript@2.1.0: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} @@ -11574,6 +12404,17 @@ packages: picocolors: 1.0.0 dev: true + /update-browserslist-db@1.2.3(browserslist@4.28.2): + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.28.2 + escalade: 3.2.0 + picocolors: 1.1.1 + dev: true + /update-notifier@6.0.2: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} engines: {node: '>=14.16'} @@ -11641,10 +12482,6 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - /v8-to-istanbul@9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} @@ -11661,6 +12498,11 @@ packages: spdx-expression-parse: 3.0.1 dev: true + /validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /validator@13.9.0: resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} engines: {node: '>= 0.10'} @@ -11802,7 +12644,7 @@ packages: /wkx@0.5.0: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: - '@types/node': 18.15.0 + '@types/node': 18.19.130 dev: true /word-wrap@1.2.3: @@ -11810,6 +12652,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true + /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true From 0df9e70515c9c0445e1a988ac2764d03eb0308f1 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 17:52:40 -0400 Subject: [PATCH 04/73] chore(repo): migrate nx 19 -> 22 + replace bundler with tsdown nx 19 -> 22 migration: jest 29 -> 30, nestjs 10.4.x, reflect-metadata 0.2.2, target-defaults/gitignore updates. Replace the @nx/rollup package build with tsdown (tools/scripts/build-packages.mjs): @nx/rollup 22 regressed the published format for these type:module packages (main -> ESM, orphaned index.cjs.js that can't load as CJS). tsdown emits a correct dual build per package: - index.cjs + index.d.cts (CommonJS), index.mjs + index.d.mts (ESM) - proper exports map (import/require + types), main -> cjs preserved - externals derived from root + per-package deps so nothing third-party bundles Contract verified vs 8.8.1 baseline: attw clean (node10 / node16-cjs / node16-esm / bundler) for all 6 packages incl. all 3 @automapper/classes subpaths; publint clean. Also fixes the latent 8.8.1 bug where the transformer-plugin types entry pointed at a missing index.d.ts. 'package' script now runs the build script. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 6 +- .prettierignore | 4 +- jest.config.ts | 8 +- nx.json | 7 +- package.json | 142 +- packages/integration-test/jest.config.ts | 2 +- pnpm-lock.yaml | 6534 ++++++++++++---------- tools/scripts/build-packages.mjs | 122 + 8 files changed, 3843 insertions(+), 2982 deletions(-) create mode 100644 tools/scripts/build-packages.mjs diff --git a/.gitignore b/.gitignore index 8ee220fe8..b75b3e770 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,8 @@ Thumbs.db old .env -.nx/cache \ No newline at end of file +.nx/cache +.nx/workspace-data +.claude/worktrees +.nx/polygraph +.nx/self-healing \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index 85f8ece66..fbbd81756 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,4 +3,6 @@ /dist /coverage -/.nx/cache \ No newline at end of file +/.nx/cache +/.nx/workspace-data +.nx/self-healing \ No newline at end of file diff --git a/jest.config.ts b/jest.config.ts index b9717841d..bc8bf54a4 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -1,5 +1,5 @@ -const { getJestProjects } = require('@nx/jest'); +const { getJestProjectsAsync } = require('@nx/jest'); -export default { - projects: getJestProjects(), -}; +module.exports = async () => ({ + projects: await getJestProjectsAsync(), +}); diff --git a/nx.json b/nx.json index 1bad922dc..f89119db9 100644 --- a/nx.json +++ b/nx.json @@ -29,7 +29,12 @@ } }, "@nx/eslint:lint": { - "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], + "inputs": [ + "default", + "^default", + "{workspaceRoot}/.eslintrc.json", + "{workspaceRoot}/tools/eslint-rules/**/*" + ], "cache": true } }, diff --git a/package.json b/package.json index 11131fda8..d192d46b7 100644 --- a/package.json +++ b/package.json @@ -1,73 +1,75 @@ { - "name": "automapper", - "version": "0.0.0", - "license": "MIT", - "packageManager": "pnpm@8.15.9", - "scripts": { - "commit": "git-cz", - "contributors:init": "all-contributors init", - "contributors:add": "all-contributors add", - "release": "dotenv release-it --", - "release:beta": "dotenv release-it -- major --preRelease=beta", - "test": "nx run-many --all --target=test --parallel", - "package": "nx package-all core", - "publish": "nx run-many --target=publish --all --parallel" - }, - "private": true, - "dependencies": { - "@swc/helpers": "0.5.23", - "tslib": "~2.5.0" - }, - "devDependencies": { - "@mikro-orm/core": "5.6.13", - "@nestjs/common": "10.4.22", - "@nestjs/core": "10.4.22", - "@nestjs/platform-express": "10.4.22", - "@nestjs/schematics": "10.2.3", - "@nestjs/testing": "10.4.22", - "@release-it/bumper": "4.0.2", - "@release-it/conventional-changelog": "5.1.1", - "@swc/cli": "0.3.14", - "@swc/core": "1.3.107", - "@swc/jest": "0.2.20", - "@types/jest": "29.4.0", - "@types/node": "18.19.130", - "@types/supertest": "2.0.12", - "@typescript-eslint/eslint-plugin": "7.18.0", - "@typescript-eslint/parser": "7.18.0", - "all-contributors-cli": "6.24.0", - "babel-preset-minify": "0.5.2", - "commitizen": "4.3.0", - "cz-customizable": "7.0.0", - "dotenv-cli": "7.0.0", - "eslint": "8.57.1", - "eslint-config-prettier": "9.1.2", - "fs-extra": "^11.1.0", - "jest": "29.5.0", - "jest-environment-jsdom": "29.5.0", - "nx": "19.0.0", - "prettier": "2.8.4", - "reflect-metadata": "~0.1.13", - "release-it": "15.8.0", - "rxjs": "~7.8.0", - "sequelize": "6.29.2", - "supertest": "6.3.3", - "ts-jest": "29.1.5", - "ts-node": "10.9.1", - "typescript": "5.4.5", - "@nx/devkit": "19.0.0", - "@nx/workspace": "19.0.0", - "@nx/js": "19.0.0", - "@nx/rollup": "19.0.0", - "@nx/jest": "19.0.0", - "@nx/eslint-plugin": "19.0.0", - "@nx/web": "19.0.0", - "@nx/nest": "19.0.0", - "@nx/eslint": "19.0.0" - }, - "config": { - "commitizen": { - "path": "./node_modules/cz-customizable" - } + "name": "automapper", + "version": "0.0.0", + "license": "MIT", + "packageManager": "pnpm@8.15.9", + "scripts": { + "commit": "git-cz", + "contributors:init": "all-contributors init", + "contributors:add": "all-contributors add", + "release": "dotenv release-it --", + "release:beta": "dotenv release-it -- major --preRelease=beta", + "test": "nx run-many --all --target=test --parallel", + "package": "node tools/scripts/build-packages.mjs", + "publish": "nx run-many --target=publish --all --parallel" + }, + "private": true, + "dependencies": { + "@swc/helpers": "0.5.23", + "tslib": "~2.5.0" + }, + "devDependencies": { + "@mikro-orm/core": "5.6.13", + "@nestjs/common": "10.4.22", + "@nestjs/core": "10.4.22", + "@nestjs/platform-express": "10.4.22", + "@nestjs/schematics": "11.1.0", + "@nestjs/testing": "10.4.22", + "@nx/devkit": "22.7.5", + "@nx/eslint": "22.7.5", + "@nx/eslint-plugin": "22.7.5", + "@nx/jest": "22.7.5", + "@nx/js": "22.7.5", + "@nx/nest": "22.7.5", + "@nx/rollup": "22.7.5", + "@nx/web": "22.7.5", + "@nx/workspace": "22.7.5", + "@release-it/bumper": "4.0.2", + "@release-it/conventional-changelog": "5.1.1", + "@swc/cli": "0.7.10", + "@swc/core": "1.15.41", + "@swc/jest": "0.2.39", + "@types/jest": "30.0.0", + "@types/node": "18.19.130", + "@types/supertest": "2.0.12", + "@typescript-eslint/eslint-plugin": "7.18.0", + "@typescript-eslint/parser": "7.18.0", + "all-contributors-cli": "6.24.0", + "babel-preset-minify": "0.5.2", + "commitizen": "4.3.0", + "cz-customizable": "7.0.0", + "dotenv-cli": "7.0.0", + "eslint": "8.57.1", + "eslint-config-prettier": "10.1.8", + "fs-extra": "^11.1.0", + "jest": "30.0.5", + "jest-environment-jsdom": "30.0.5", + "jest-util": "30.0.5", + "nx": "22.7.5", + "prettier": "2.8.4", + "reflect-metadata": "~0.1.13", + "release-it": "15.8.0", + "rxjs": "~7.8.0", + "sequelize": "6.29.2", + "supertest": "6.3.3", + "ts-jest": "29.4.11", + "ts-node": "10.9.1", + "tsdown": "^0.22.3", + "typescript": "5.4.5" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-customizable" } + } } diff --git a/packages/integration-test/jest.config.ts b/packages/integration-test/jest.config.ts index b8ca5456e..5c6ae7f84 100644 --- a/packages/integration-test/jest.config.ts +++ b/packages/integration-test/jest.config.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -export default { +module.exports = { displayName: 'integration-test', transform: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07bdc1949..7e5c0bdf0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,38 +26,38 @@ devDependencies: specifier: 10.4.22 version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) '@nestjs/schematics': - specifier: 10.2.3 - version: 10.2.3(typescript@5.4.5) + specifier: 11.1.0 + version: 11.1.0(prettier@2.8.4)(typescript@5.4.5) '@nestjs/testing': specifier: 10.4.22 version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) '@nx/devkit': - specifier: 19.0.0 - version: 19.0.0(nx@19.0.0) + specifier: 22.7.5 + version: 22.7.5(nx@22.7.5) '@nx/eslint': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) + specifier: 22.7.5 + version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) '@nx/eslint-plugin': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5) + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.4.5) '@nx/jest': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) '@nx/js': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41)(nx@22.7.5) '@nx/nest': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + specifier: 22.7.5 + version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5) '@nx/rollup': - specifier: 19.0.0 - version: 19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) + specifier: 22.7.5 + version: 22.7.5(@babel/core@7.29.7)(@swc/core@1.15.41)(nx@22.7.5)(typescript@5.4.5) '@nx/web': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + specifier: 22.7.5 + version: 22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) '@nx/workspace': - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107) + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41) '@release-it/bumper': specifier: 4.0.2 version: 4.0.2(release-it@15.8.0) @@ -65,17 +65,17 @@ devDependencies: specifier: 5.1.1 version: 5.1.1(release-it@15.8.0) '@swc/cli': - specifier: 0.3.14 - version: 0.3.14(@swc/core@1.3.107) + specifier: 0.7.10 + version: 0.7.10(@swc/core@1.15.41) '@swc/core': - specifier: 1.3.107 - version: 1.3.107(@swc/helpers@0.5.23) + specifier: 1.15.41 + version: 1.15.41(@swc/helpers@0.5.23) '@swc/jest': - specifier: 0.2.20 - version: 0.2.20(@swc/core@1.3.107) + specifier: 0.2.39 + version: 0.2.39(@swc/core@1.15.41) '@types/jest': - specifier: 29.4.0 - version: 29.4.0 + specifier: 30.0.0 + version: 30.0.0 '@types/node': specifier: 18.19.130 version: 18.19.130 @@ -96,7 +96,7 @@ devDependencies: version: 0.5.2 commitizen: specifier: 4.3.0 - version: 4.3.0(@swc/core@1.3.107) + version: 4.3.0(@swc/core@1.15.41) cz-customizable: specifier: 7.0.0 version: 7.0.0 @@ -107,20 +107,23 @@ devDependencies: specifier: 8.57.1 version: 8.57.1 eslint-config-prettier: - specifier: 9.1.2 - version: 9.1.2(eslint@8.57.1) + specifier: 10.1.8 + version: 10.1.8(eslint@8.57.1) fs-extra: specifier: ^11.1.0 version: 11.1.0 jest: - specifier: 29.5.0 - version: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) + specifier: 30.0.5 + version: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) jest-environment-jsdom: - specifier: 29.5.0 - version: 29.5.0 + specifier: 30.0.5 + version: 30.0.5 + jest-util: + specifier: 30.0.5 + version: 30.0.5 nx: - specifier: 19.0.0 - version: 19.0.0(@swc/core@1.3.107) + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41) prettier: specifier: 2.8.4 version: 2.8.4 @@ -140,82 +143,58 @@ devDependencies: specifier: 6.3.3 version: 6.3.3 ts-jest: - specifier: 29.1.5 - version: 29.1.5(@babel/core@7.29.7)(jest@29.5.0)(typescript@5.4.5) + specifier: 29.4.11 + version: 29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.4.5) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) + version: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) + tsdown: + specifier: ^0.22.3 + version: 0.22.3(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 packages: - /@ampproject/remapping@2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - - /@angular-devkit/core@16.0.1: - resolution: {integrity: sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - peerDependencies: - chokidar: ^3.5.2 - peerDependenciesMeta: - chokidar: - optional: true - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - jsonc-parser: 3.2.0 - rxjs: 7.8.1 - source-map: 0.7.4 - dev: true - - /@angular-devkit/core@17.3.11: - resolution: {integrity: sha512-vTNDYNsLIWpYk2I969LMQFH29GTsLzxNk/0cLw5q56ARF0v5sIWfHYwGTS88jdDqIpuuettcSczbxeA7EuAmqQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/core@19.2.24: + resolution: {integrity: sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - chokidar: ^3.5.2 + chokidar: ^4.0.0 peerDependenciesMeta: chokidar: optional: true dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - jsonc-parser: 3.2.1 - picomatch: 4.0.1 + ajv: 8.18.0 + ajv-formats: 3.0.1(ajv@8.18.0) + jsonc-parser: 3.3.1 + picomatch: 4.0.4 rxjs: 7.8.1 source-map: 0.7.4 dev: true - /@angular-devkit/schematics@16.0.1: - resolution: {integrity: sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/schematics@19.2.24: + resolution: {integrity: sha512-lnw+ZM1Io+cJAkReC0NPDjqObL8NtKzKIkdgEEKC8CUmkhurYhedbicN8Y8NYHgG1uLd2GozW3+/QqPRZaN+Lw==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 16.0.1 - jsonc-parser: 3.2.0 - magic-string: 0.30.0 + '@angular-devkit/core': 19.2.24 + jsonc-parser: 3.3.1 + magic-string: 0.30.17 ora: 5.4.1 rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/schematics@17.3.11: - resolution: {integrity: sha512-I5wviiIqiFwar9Pdk30Lujk8FczEEc18i22A5c6Z9lbmhPQdTroDnEQdsfXjy404wPe8H62s0I15o4pmMGfTYQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@asamuzakjp/css-color@3.2.0: + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} dependencies: - '@angular-devkit/core': 17.3.11 - jsonc-parser: 3.2.1 - magic-string: 0.30.8 - ora: 5.4.1 - rxjs: 7.8.1 - transitivePeerDependencies: - - chokidar + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 dev: true /@babel/code-frame@7.18.6: @@ -234,39 +213,11 @@ packages: picocolors: 1.1.1 dev: true - /@babel/compat-data@7.21.0: - resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/compat-data@7.29.7: resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.21.0: - resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.2 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/core@7.29.7: resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} @@ -282,7 +233,7 @@ packages: '@babel/types': 7.29.7 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -290,16 +241,6 @@ packages: - supports-color dev: true - /@babel/generator@7.21.1: - resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.2 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - jsesc: 2.5.2 - dev: true - /@babel/generator@7.29.7: resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} engines: {node: '>=6.9.0'} @@ -311,11 +252,16 @@ packages: jsesc: 3.1.0 dev: true - /@babel/helper-annotate-as-pure@7.18.6: - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} - engines: {node: '>=6.9.0'} + /@babel/generator@8.0.0: + resolution: {integrity: sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==} + engines: {node: ^22.18.0 || >=24.11.0} dependencies: - '@babel/types': 7.21.2 + '@babel/parser': 8.0.0 + '@babel/types': 8.0.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 + jsesc: 3.1.0 dev: true /@babel/helper-annotate-as-pure@7.29.7: @@ -325,20 +271,6 @@ packages: '@babel/types': 7.29.7 dev: true - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.0 - dev: true - /@babel/helper-compilation-targets@7.29.7: resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} @@ -368,17 +300,6 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.29.7): - resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.18.6 - regexpu-core: 5.3.1 - dev: true - /@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} engines: {node: '>=6.9.0'} @@ -406,31 +327,11 @@ packages: - supports-color dev: true - /@babel/helper-environment-visitor@7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 - dev: true - /@babel/helper-globals@7.29.7: resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.2 - dev: true - /@babel/helper-member-expression-to-functions@7.29.7: resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} engines: {node: '>=6.9.0'} @@ -441,13 +342,6 @@ packages: - supports-color dev: true - /@babel/helper-module-imports@7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.2 - dev: true - /@babel/helper-module-imports@7.29.7: resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} @@ -458,22 +352,6 @@ packages: - supports-color dev: true - /@babel/helper-module-transforms@7.21.2: - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} @@ -495,11 +373,6 @@ packages: '@babel/types': 7.29.7 dev: true - /@babel/helper-plugin-utils@7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-plugin-utils@7.29.7: resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} @@ -533,13 +406,6 @@ packages: - supports-color dev: true - /@babel/helper-simple-access@7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.2 - dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.29.7: resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} engines: {node: '>=6.9.0'} @@ -550,23 +416,16 @@ packages: - supports-color dev: true - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.2 - dev: true - - /@babel/helper-string-parser@7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-string-parser@7.29.7: resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@8.0.0: + resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} + engines: {node: ^22.18.0 || >=24.11.0} + dev: true + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} @@ -577,9 +436,9 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} - engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@8.0.2: + resolution: {integrity: sha512-9Fr9QeyCAyi1BR1jKZ6uYQ24EIhQUx5ReHfQU7drOE+TPOb+w11/dsqLkMOT2U29OdCT71XajrOT8xDc1C7orA==} + engines: {node: ^22.18.0 || >=24.11.0} dev: true /@babel/helper-validator-option@7.29.7: @@ -598,17 +457,6 @@ packages: - supports-color dev: true - /@babel/helpers@7.21.0: - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helpers@7.29.7: resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} @@ -626,20 +474,20 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.2: - resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==} + /@babel/parser@7.29.7: + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.29.7 dev: true - /@babel/parser@7.29.7: - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} - engines: {node: '>=6.0.0'} + /@babel/parser@8.0.0: + resolution: {integrity: sha512-aLxAE+imI9bCcyaPrUDjBv3uSkWieifjLe0kuFOZF0zli0L6GCsTmsePnTr55adbIAgYz2zhN1vnFimCBUYcRQ==} + engines: {node: ^22.18.0 || >=24.11.0} hasBin: true dependencies: - '@babel/types': 7.29.7 + '@babel/types': 8.0.0 dev: true /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7): @@ -738,31 +586,41 @@ packages: '@babel/core': 7.29.7 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.0): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.0): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true /@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.29.7): @@ -795,32 +653,22 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.0): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.0): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.0): - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true /@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7): @@ -833,88 +681,78 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.0): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.0): - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.29.7): - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.29.7 dev: true /@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7): @@ -934,7 +772,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.29.7) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 dev: true @@ -1648,7 +1486,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/types': 7.21.2 + '@babel/types': 7.29.7 esutils: 2.0.3 dev: true @@ -1668,10 +1506,6 @@ packages: - supports-color dev: true - /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - dev: true - /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} @@ -1684,15 +1518,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 - dev: true - /@babel/template@7.29.7: resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} @@ -1702,24 +1527,6 @@ packages: '@babel/types': 7.29.7 dev: true - /@babel/traverse@7.21.2: - resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/traverse@7.29.7: resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} engines: {node: '>=6.9.0'} @@ -1730,20 +1537,11 @@ packages: '@babel/parser': 7.29.7 '@babel/template': 7.29.7 '@babel/types': 7.29.7 - debug: 4.3.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.21.2: - resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@babel/types@7.29.7: resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} engines: {node: '>=6.9.0'} @@ -1752,6 +1550,14 @@ packages: '@babel/helper-validator-identifier': 7.29.7 dev: true + /@babel/types@8.0.0: + resolution: {integrity: sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==} + engines: {node: ^22.18.0 || >=24.11.0} + dependencies: + '@babel/helper-string-parser': 8.0.0 + '@babel/helper-validator-identifier': 8.0.2 + dev: true + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true @@ -1777,7 +1583,7 @@ packages: dev: true optional: true - /@commitlint/load@17.4.4(@swc/core@1.3.107): + /@commitlint/load@17.4.4(@swc/core@1.15.41): resolution: {integrity: sha512-z6uFIQ7wfKX5FGBe1AkOF4l/ShOQsaa1ml/nLMkbW7R/xF8galGS7Zh0yHvzVp/srtfS0brC+0bUfQfmpMPFVQ==} engines: {node: '>=v14'} requiresBuild: true @@ -1794,7 +1600,7 @@ packages: lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' @@ -1832,74 +1638,198 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@csstools/color-helpers@5.1.0: + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + dev: true + + /@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4): + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 3.4.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 dev: true - /@eslint-community/regexpp@4.12.2: - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + /@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4): + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4): + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color + '@csstools/css-tokenizer': 3.0.4 dev: true - /@eslint/js@8.57.1: - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@csstools/css-tokenizer@3.0.4: + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} dev: true - /@humanwhocodes/config-array@0.13.0: - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + /@emnapi/core@1.10.0: + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + requiresBuild: true dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.5.3 dev: true + optional: true - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + /@emnapi/core@1.11.1: + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + requiresBuild: true + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.5.3 dev: true + optional: true - /@hutson/parse-repository-url@3.0.2: - resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} - engines: {node: '>=6.9.0'} + /@emnapi/core@1.4.5: + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + dependencies: + '@emnapi/wasi-threads': 1.0.4 + tslib: 2.5.3 + dev: true + + /@emnapi/runtime@1.10.0: + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/runtime@1.11.1: + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/runtime@1.4.5: + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + dependencies: + tslib: 2.5.3 + dev: true + + /@emnapi/wasi-threads@1.0.4: + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + dependencies: + tslib: 2.5.3 + dev: true + + /@emnapi/wasi-threads@1.2.1: + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/wasi-threads@1.2.2: + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + 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.57.1 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.12.2: + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + 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.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + dev: true + + /@hutson/parse-repository-url@3.0.2: + resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} + engines: {node: '>=6.9.0'} dev: true /@iarna/toml@2.2.5: resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} dev: true + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -1916,121 +1846,242 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@29.5.0: - resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/console@30.0.5: + resolution: {integrity: sha512-xY6b0XiL0Nav3ReresUarwl2oIz1gTnxGbGpho9/rbUWsLH0f1OD/VT84xs8c7VmH7MChnLb0pag6PhZhAdDiA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + chalk: 4.1.2 + jest-message-util: 30.0.5 + jest-util: 30.0.5 + slash: 3.0.0 + dev: true + + /@jest/console@30.4.1: + resolution: {integrity: sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 30.4.1 '@types/node': 18.19.130 chalk: 4.1.2 - jest-message-util: 29.5.0 - jest-util: 29.5.0 + jest-message-util: 30.4.1 + jest-util: 30.4.1 slash: 3.0.0 dev: true - /@jest/core@29.5.0(ts-node@10.9.1): - resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/core@30.0.5(ts-node@10.9.1): + resolution: {integrity: sha512-fKD0OulvRsXF1hmaFgHhVJzczWzA1RXMMo9LTPuFXo9q/alDbME3JIyWYqovWsUBWSoBcsHaGPSLF9rz4l9Qeg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - '@jest/console': 29.5.0 - '@jest/reporters': 29.5.0 - '@jest/test-result': 29.5.0 - '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 + '@jest/console': 30.0.5 + '@jest/pattern': 30.0.1 + '@jest/reporters': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 18.19.130 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.8.0 - exit: 0.1.2 - graceful-fs: 4.2.10 - jest-changed-files: 29.5.0 - jest-config: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) - jest-haste-map: 29.5.0 - jest-message-util: 29.5.0 - jest-regex-util: 29.4.3 - jest-resolve: 29.5.0 - jest-resolve-dependencies: 29.5.0 - jest-runner: 29.5.0 - jest-runtime: 29.5.0 - jest-snapshot: 29.5.0 - jest-util: 29.5.0 - jest-validate: 29.5.0 - jest-watcher: 29.5.0 - micromatch: 4.0.5 - pretty-format: 29.5.0 + ci-info: 4.4.0 + exit-x: 0.2.2 + graceful-fs: 4.2.11 + jest-changed-files: 30.0.5 + jest-config: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) + jest-haste-map: 30.0.5 + jest-message-util: 30.0.5 + jest-regex-util: 30.0.1 + jest-resolve: 30.0.5 + jest-resolve-dependencies: 30.0.5 + jest-runner: 30.0.5 + jest-runtime: 30.0.5 + jest-snapshot: 30.0.5 + jest-util: 30.0.5 + jest-validate: 30.0.5 + jest-watcher: 30.0.5 + micromatch: 4.0.8 + pretty-format: 30.0.5 slash: 3.0.0 - strip-ansi: 6.0.1 transitivePeerDependencies: + - babel-plugin-macros + - esbuild-register - supports-color - ts-node dev: true - /@jest/create-cache-key-function@27.5.1: - resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /@jest/create-cache-key-function@30.4.1: + resolution: {integrity: sha512-R+xGEtzA95NIsvpXJSROG4t01956dDOt17KpamguY4XOnGvdHNFFXE7Er0C1OAsRjOwiIxpKqOvGlznIGZIQlQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.4.1 + dev: true + + /@jest/diff-sequences@30.0.1: + resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dev: true + + /@jest/diff-sequences@30.4.0: + resolution: {integrity: sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dev: true + + /@jest/environment-jsdom-abstract@30.0.5(jsdom@26.1.0): + resolution: {integrity: sha512-gpWwiVxZunkoglP8DCnT3As9x5O8H6gveAOpvaJd2ATAoSh7ZSSCWbr9LQtUMvr8WD3VjG9YnDhsmkCK5WN1rQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + canvas: ^3.0.0 + jsdom: '*' + peerDependenciesMeta: + canvas: + optional: true + dependencies: + '@jest/environment': 30.0.5 + '@jest/fake-timers': 30.0.5 + '@jest/types': 30.0.5 + '@types/jsdom': 21.1.7 + '@types/node': 18.19.130 + jest-mock: 30.0.5 + jest-util: 30.0.5 + jsdom: 26.1.0 + dev: true + + /@jest/environment@30.0.5: + resolution: {integrity: sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 27.5.1 + '@jest/fake-timers': 30.0.5 + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + jest-mock: 30.0.5 dev: true - /@jest/environment@29.5.0: - resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/environment@30.4.1: + resolution: {integrity: sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/fake-timers': 29.5.0 - '@jest/types': 29.5.0 + '@jest/fake-timers': 30.4.1 + '@jest/types': 30.4.1 '@types/node': 18.19.130 - jest-mock: 29.5.0 + jest-mock: 30.4.1 + dev: true + + /@jest/expect-utils@30.0.5: + resolution: {integrity: sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/get-type': 30.0.1 dev: true - /@jest/expect-utils@29.5.0: - resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/expect-utils@30.4.1: + resolution: {integrity: sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - jest-get-type: 29.4.3 + '@jest/get-type': 30.1.0 + dev: true + + /@jest/expect@30.0.5: + resolution: {integrity: sha512-6udac8KKrtTtC+AXZ2iUN/R7dp7Ydry+Fo6FPFnDG54wjVMnb6vW/XNlf7Xj8UDjAE3aAVAsR4KFyKk3TCXmTA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + expect: 30.0.5 + jest-snapshot: 30.0.5 + transitivePeerDependencies: + - supports-color dev: true - /@jest/expect@29.5.0: - resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/expect@30.4.1: + resolution: {integrity: sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - expect: 29.5.0 - jest-snapshot: 29.5.0 + expect: 30.4.1 + jest-snapshot: 30.4.1 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.5.0: - resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/fake-timers@30.0.5: + resolution: {integrity: sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.0.5 + '@sinonjs/fake-timers': 13.0.5 + '@types/node': 18.19.130 + jest-message-util: 30.0.5 + jest-mock: 30.0.5 + jest-util: 30.0.5 + dev: true + + /@jest/fake-timers@30.4.1: + resolution: {integrity: sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 - '@sinonjs/fake-timers': 10.0.2 + '@jest/types': 30.4.1 + '@sinonjs/fake-timers': 15.4.0 '@types/node': 18.19.130 - jest-message-util: 29.5.0 - jest-mock: 29.5.0 - jest-util: 29.5.0 + jest-message-util: 30.4.1 + jest-mock: 30.4.1 + jest-util: 30.4.1 + dev: true + + /@jest/get-type@30.0.1: + resolution: {integrity: sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dev: true + + /@jest/get-type@30.1.0: + resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dev: true + + /@jest/globals@30.0.5: + resolution: {integrity: sha512-7oEJT19WW4oe6HR7oLRvHxwlJk2gev0U9px3ufs8sX9PoD1Eza68KF0/tlN7X0dq/WVsBScXQGgCldA1V9Y/jA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/environment': 30.0.5 + '@jest/expect': 30.0.5 + '@jest/types': 30.0.5 + jest-mock: 30.0.5 + transitivePeerDependencies: + - supports-color dev: true - /@jest/globals@29.5.0: - resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/globals@30.4.1: + resolution: {integrity: sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/expect': 29.5.0 - '@jest/types': 29.5.0 - jest-mock: 29.5.0 + '@jest/environment': 30.4.1 + '@jest/expect': 30.4.1 + '@jest/types': 30.4.1 + jest-mock: 30.4.1 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters@29.5.0: - resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/pattern@30.0.1: + resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@types/node': 18.19.130 + jest-regex-util: 30.0.1 + dev: true + + /@jest/pattern@30.4.0: + resolution: {integrity: sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@types/node': 18.19.130 + jest-regex-util: 30.4.0 + dev: true + + /@jest/reporters@30.0.5: + resolution: {integrity: sha512-mafft7VBX4jzED1FwGC1o/9QUM2xebzavImZMeqnsklgcyxBto8mV4HzNSzUrryJ+8R9MFOM3HgYuDradWR+4g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -2038,121 +2089,220 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.5.0 - '@jest/test-result': 29.5.0 - '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.17 + '@jest/console': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 + '@jridgewell/trace-mapping': 0.3.31 '@types/node': 18.19.130 chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.10 + collect-v8-coverage: 1.0.3 + exit-x: 0.2.2 + glob: 10.5.0 + graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 + istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.5 - jest-message-util: 29.5.0 - jest-util: 29.5.0 - jest-worker: 29.5.0 + jest-message-util: 30.0.5 + jest-util: 30.0.5 + jest-worker: 30.0.5 + slash: 3.0.0 + string-length: 4.0.2 + v8-to-istanbul: 9.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters@30.4.1: + resolution: {integrity: sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 30.4.1 + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1 + '@jest/types': 30.4.1 + '@jridgewell/trace-mapping': 0.3.31 + '@types/node': 18.19.130 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit-x: 0.2.2 + glob: 10.5.0 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.5 + jest-message-util: 30.4.1 + jest-util: 30.4.1 + jest-worker: 30.4.1 slash: 3.0.0 string-length: 4.0.2 - strip-ansi: 6.0.1 v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas@29.4.3: - resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/schemas@30.0.5: + resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@sinclair/typebox': 0.34.49 + dev: true + + /@jest/schemas@30.4.1: + resolution: {integrity: sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@sinclair/typebox': 0.34.49 + dev: true + + /@jest/snapshot-utils@30.0.5: + resolution: {integrity: sha512-XcCQ5qWHLvi29UUrowgDFvV4t7ETxX91CbDczMnoqXPOIcZOxyNdSjm6kV5XMc8+HkxfRegU/MUmnTbJRzGrUQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.0.5 + chalk: 4.1.2 + graceful-fs: 4.2.11 + natural-compare: 1.4.0 + dev: true + + /@jest/snapshot-utils@30.4.1: + resolution: {integrity: sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@sinclair/typebox': 0.25.24 + '@jest/types': 30.4.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + natural-compare: 1.4.0 dev: true - /@jest/source-map@29.4.3: - resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/source-map@30.0.1: + resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.31 callsites: 3.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true - /@jest/test-result@29.5.0: - resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/test-result@30.0.5: + resolution: {integrity: sha512-wPyztnK0gbDMQAJZ43tdMro+qblDHH1Ru/ylzUo21TBKqt88ZqnKKK2m30LKmLLoKtR2lxdpCC/P3g1vfKcawQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/console': 29.5.0 - '@jest/types': 29.5.0 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 + '@jest/console': 30.0.5 + '@jest/types': 30.0.5 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 dev: true - /@jest/test-sequencer@29.5.0: - resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/test-result@30.4.1: + resolution: {integrity: sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/test-result': 29.5.0 - graceful-fs: 4.2.10 - jest-haste-map: 29.5.0 + '@jest/console': 30.4.1 + '@jest/types': 30.4.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 + dev: true + + /@jest/test-sequencer@30.0.5: + resolution: {integrity: sha512-Aea/G1egWoIIozmDD7PBXUOxkekXl7ueGzrsGGi1SbeKgQqCYCIf+wfbflEbf2LiPxL8j2JZGLyrzZagjvW4YQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/test-result': 30.0.5 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.5 + slash: 3.0.0 + dev: true + + /@jest/test-sequencer@30.4.1: + resolution: {integrity: sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/test-result': 30.4.1 + graceful-fs: 4.2.11 + jest-haste-map: 30.4.1 slash: 3.0.0 dev: true - /@jest/transform@29.5.0: - resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/transform@30.0.5: + resolution: {integrity: sha512-Vk8amLQCmuZyy6GbBht1Jfo9RSdBtg7Lks+B0PecnjI8J+PCLQPGh7uI8Q/2wwpW2gLdiAfiHNsmekKlywULqg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@babel/core': 7.21.0 - '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.17 - babel-plugin-istanbul: 6.1.1 + '@babel/core': 7.29.7 + '@jest/types': 30.0.5 + '@jridgewell/trace-mapping': 0.3.31 + babel-plugin-istanbul: 7.0.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.10 - jest-haste-map: 29.5.0 - jest-regex-util: 29.4.3 - jest-util: 29.5.0 - micromatch: 4.0.5 - pirates: 4.0.5 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.5 + jest-regex-util: 30.0.1 + jest-util: 30.0.5 + micromatch: 4.0.8 + pirates: 4.0.7 slash: 3.0.0 - write-file-atomic: 4.0.2 + write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color dev: true - /@jest/types@27.5.1: - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /@jest/transform@30.4.1: + resolution: {integrity: sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.19.130 - '@types/yargs': 16.0.5 + '@babel/core': 7.29.7 + '@jest/types': 30.4.1 + '@jridgewell/trace-mapping': 0.3.31 + babel-plugin-istanbul: 7.0.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: 30.4.1 + jest-regex-util: 30.4.0 + jest-util: 30.4.1 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color dev: true - /@jest/types@29.5.0: - resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/types@30.0.5: + resolution: {integrity: sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/schemas': 29.4.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 + '@jest/pattern': 30.0.1 + '@jest/schemas': 30.0.5 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 18.19.130 - '@types/yargs': 17.0.22 + '@types/yargs': 17.0.35 chalk: 4.1.2 dev: true - /@jridgewell/gen-mapping@0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} + /@jest/types@30.4.1: + resolution: {integrity: sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jest/pattern': 30.4.0 + '@jest/schemas': 30.4.1 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.130 + '@types/yargs': 17.0.35 + chalk: 4.1.2 dev: true /@jridgewell/gen-mapping@0.3.13: @@ -2162,15 +2312,6 @@ packages: '@jridgewell/trace-mapping': 0.3.31 dev: true - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - /@jridgewell/remapping@2.3.5: resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} dependencies: @@ -2183,11 +2324,6 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true @@ -2196,18 +2332,11 @@ packages: resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} dev: true - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@jridgewell/trace-mapping@0.3.31: resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} dependencies: '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.5.5 dev: true /@jridgewell/trace-mapping@0.3.9: @@ -2267,20 +2396,6 @@ packages: reflect-metadata: 0.1.13 dev: true - /@mole-inc/bin-wrapper@8.0.1: - resolution: {integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - bin-check: 4.1.0 - bin-version-check: 5.0.0 - content-disposition: 0.5.4 - ext-name: 5.0.0 - file-type: 17.1.6 - filenamify: 5.1.1 - got: 11.8.6 - os-filter-obj: 2.0.0 - dev: true - /@napi-rs/nice-android-arm-eabi@1.1.1: resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} engines: {node: '>= 10'} @@ -2459,14 +2574,48 @@ packages: dev: true optional: true - /@nestjs/common@10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0): - resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} + /@napi-rs/wasm-runtime@0.2.4: + resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + dependencies: + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 + '@tybys/wasm-util': 0.9.0 + dev: true + + /@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): + resolution: {integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==} + requiresBuild: true peerDependencies: - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 || ^0.2.0 - rxjs: ^7.1.0 - peerDependenciesMeta: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + dev: true + optional: true + + /@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): + resolution: {integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==} + requiresBuild: true + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.2 + dev: true + optional: true + + /@nestjs/common@10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0): + resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} + peerDependencies: + class-transformer: '*' + class-validator: '*' + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: class-transformer: optional: true class-validator: @@ -2531,30 +2680,21 @@ packages: - supports-color dev: true - /@nestjs/schematics@10.2.3(typescript@5.4.5): - resolution: {integrity: sha512-4e8gxaCk7DhBxVUly2PjYL4xC2ifDFexCqq1/u4TtivLGXotVk0wHdYuPYe1tHTHuR1lsOkRbfOCpkdTnigLVg==} + /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@5.4.5): + resolution: {integrity: sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==} peerDependencies: + prettier: ^3.0.0 typescript: '>=4.8.2' + peerDependenciesMeta: + prettier: + optional: true dependencies: - '@angular-devkit/core': 17.3.11 - '@angular-devkit/schematics': 17.3.11 - comment-json: 4.2.5 + '@angular-devkit/core': 19.2.24 + '@angular-devkit/schematics': 19.2.24 + comment-json: 5.0.0 jsonc-parser: 3.3.1 pluralize: 8.0.0 - typescript: 5.4.5 - transitivePeerDependencies: - - chokidar - dev: true - - /@nestjs/schematics@9.2.0(typescript@5.4.5): - resolution: {integrity: sha512-wHpNJDPzM6XtZUOB3gW0J6mkFCSJilzCM3XrHI1o0C8vZmFE1snbmkIXNyoi1eV0Nxh1BMymcgz5vIMJgQtTqw==} - peerDependencies: - typescript: '>=4.3.5' - dependencies: - '@angular-devkit/core': 16.0.1 - '@angular-devkit/schematics': 16.0.1 - jsonc-parser: 3.2.0 - pluralize: 8.0.0 + prettier: 2.8.4 typescript: 5.4.5 transitivePeerDependencies: - chokidar @@ -2600,170 +2740,6 @@ packages: fastq: 1.15.0 dev: true - /@nrwl/devkit@19.0.0(nx@19.0.0): - resolution: {integrity: sha512-fUDTZorVrnqALzxpLHHUd7/ShrE1pxR9la86crFR8gYoIKQPNAgqTAKr+loCG8duYGx2ZObYHrWpH6Xf7MFXNw==} - dependencies: - '@nx/devkit': 19.0.0(nx@19.0.0) - transitivePeerDependencies: - - nx - dev: true - - /@nrwl/eslint-plugin-nx@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-L0ycAcMvMq073uD+JkNPQBAMzzmQxXeKo4yEJvDYVSyTEWtUAGsW9blwv/OkNmoDED4wxRV17Z60+HRFlmvZjg==} - dependencies: - '@nx/eslint-plugin': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - '@typescript-eslint/parser' - - debug - - eslint - - eslint-config-prettier - - nx - - supports-color - - typescript - - verdaccio - dev: true - - /@nrwl/jest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-HXRNWhUkJbNrcsA7Z+vh0se4tlSwMJcPA949rgb9SNBFJ5YeUYcNxOEtdQvJ/kK1eBAzT6rspl7U+eVwhOdg8Q==} - dependencies: - '@nx/jest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - node-notifier - - nx - - supports-color - - ts-node - - typescript - - verdaccio - dev: true - - /@nrwl/js@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-F8tlh24NxnKusca82HFfSwDRpEcUQaJ1z06uQEGx1OvFzCOR40HE/y5EnJhmL5mtAjqhJoQGcHZjX0xL2x7PuA==} - dependencies: - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - nx - - supports-color - - typescript - - verdaccio - dev: true - - /@nrwl/nest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-Cq6syNODWK8ab+GOl4Ss6czgDmFMz2CWBTDq+oul/ue/k40lUHzYXRMUPGWWYSgYBMd8ObWC9K7ejGcRKh2ENA==} - dependencies: - '@nx/nest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - chokidar - - debug - - js-yaml - - node-notifier - - nx - - supports-color - - ts-node - - typescript - - verdaccio - dev: true - - /@nrwl/node@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-ofNrEeL6+L37Keg4RNObW51iOKkVCowYqg+p3hkJ1nm3a8pplSIqdgNIc4aWoTO57zcUyjnliBG1ilcZEyBHoA==} - dependencies: - '@nx/node': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - js-yaml - - node-notifier - - nx - - supports-color - - ts-node - - typescript - - verdaccio - dev: true - - /@nrwl/rollup@19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-ssclfN9CAdEFLAJLGjGzStYagmXuj8snPRLi8FDiHi61r+Uk6HPT5oGecuLsWpb6Us0CtkYGAizErHbiQQHJTA==} - dependencies: - '@nx/rollup': 19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/core' - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/babel__core' - - '@types/node' - - debug - - nx - - supports-color - - ts-node - - typescript - - verdaccio - dev: true - - /@nrwl/tao@19.0.0(@swc/core@1.3.107): - resolution: {integrity: sha512-JPLlATFEsal5G4v8zxGbEkeo1v19QUn0cH3iNEOUz8Abms7oPDfkITq1ElB6Ck8FjePmtP4fdZzU091NUKA1zQ==} - hasBin: true - dependencies: - nx: 19.0.0(@swc/core@1.3.107) - tslib: 2.5.3 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - - /@nrwl/web@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-NVvCvlhANh/ESAb06uP/y8DuRzCNiCf6Cj3BbJtv+C58moO8p3XQ0GwJT9+qPxwpJybzGX9Op+LtwZs0eQQ2ew==} - dependencies: - '@nx/web': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - nx - - supports-color - - typescript - - verdaccio - dev: true - - /@nrwl/workspace@19.0.0(@swc/core@1.3.107): - resolution: {integrity: sha512-Y6VK95Z1lYXaFBQ+fuodXiaAnSPWgT1T6/TDbCuvmn5pvuNjv6heiJFgkDxx9dXVxn5FiNuTue/AEqMhomnIbw==} - dependencies: - '@nx/workspace': 19.0.0(@swc/core@1.3.107) - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - /@nuxtjs/opencollective@0.3.2: resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} engines: {node: '>=8.0.0', npm: '>=5.0.0'} @@ -2776,41 +2752,50 @@ packages: - encoding dev: true - /@nx/devkit@19.0.0(nx@19.0.0): - resolution: {integrity: sha512-Zch2oCBSrPgMVg5ONMjaLlyFCgQ/kVxaSBKoq/ASOEyjYJb5OtfFg+NwWoEkU4v++a1I14uD01xoO0JjBqK0nw==} + /@nx/devkit@22.7.5(nx@22.7.5): + resolution: {integrity: sha512-/63ziS7kdHXYTLLhwWBu9hFwoFFT8xf+PkcQjsNdPqc5JmkYkSew0cE/vp5ORgBpGLWWnFPJgmfqjbJoO2C7jA==} peerDependencies: - nx: '>= 17 <= 20' + nx: '>= 21 <= 23 || ^22.0.0-0' dependencies: - '@nrwl/devkit': 19.0.0(nx@19.0.0) - ejs: 3.1.8 + '@zkochan/js-yaml': 0.0.7 + ejs: 5.0.1 enquirer: 2.3.6 - ignore: 5.2.4 - minimatch: 9.0.3 - nx: 19.0.0(@swc/core@1.3.107) + minimatch: 10.2.5 + nx: 22.7.5(@swc/core@1.15.41) semver: 7.8.5 - tmp: 0.2.1 tslib: 2.5.3 yargs-parser: 21.1.1 dev: true - /@nx/eslint-plugin@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-Mw3zHi9443cgp3KEaqdbkiptXpbEJMLKm4OIrvg2gQMJySqx0+PdvIqAmbor1gqDk1GSS7Xj7s/6cc/F/40pkg==} + /@nx/docker@22.7.5(nx@22.7.5): + resolution: {integrity: sha512-IuizX/ACvAjoTIued7eHFDaknSL6WVfDTMtzxiqaY+iDpdOwCVTC1ZXQZSMba/xEsh4owk4qnSRmJ2eWSWburw==} + dependencies: + '@nx/devkit': 22.7.5(nx@22.7.5) + enquirer: 2.3.6 + tslib: 2.5.3 + transitivePeerDependencies: + - nx + dev: true + + /@nx/eslint-plugin@22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.4.5): + resolution: {integrity: sha512-C9mLUAZjcAKvkAifLNxNBWzvX9RFc/fg+GbO0d50596Lw3Yoz5tRCm4mgpUbVI3mkMIQumjoe8hu9bFx85bXnw==} peerDependencies: - '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 - eslint-config-prettier: ^9.0.0 + '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 + eslint-config-prettier: ^10.0.0 peerDependenciesMeta: eslint-config-prettier: optional: true dependencies: - '@nrwl/eslint-plugin-nx': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@9.1.2)(eslint@8.57.1)(nx@19.0.0)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) + '@phenomnomnominal/tsquery': 6.2.0(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/type-utils': 8.61.1(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.4.5) chalk: 4.1.2 confusing-browser-globals: 1.0.11 - eslint-config-prettier: 9.1.2(eslint@8.57.1) + eslint-config-prettier: 10.1.8(eslint@8.57.1) + globals: 17.6.0 jsonc-eslint-parser: 2.4.2 semver: 7.8.5 tslib: 2.5.3 @@ -2818,8 +2803,6 @@ packages: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - - '@types/node' - debug - eslint - nx @@ -2828,57 +2811,61 @@ packages: - verdaccio dev: true - /@nx/eslint@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0): - resolution: {integrity: sha512-bPrI5SdMRPybOQFeOAbyWgPkogfZCEdP3LR5Wi1aSewhVVYMl5Z3/pEQIpPBRZL6RR36grs9FvjdLuC6ZgMYCw==} + /@nx/eslint@22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5): + resolution: {integrity: sha512-D/85AvnF07ng/fLcSvAE8bxFQKvejUc/MP4pX6aFZgRGrpduo7mTwFMlM/UtOtTTPRRRQVLmM9u7jn4JKROBRw==} peerDependencies: - js-yaml: 4.1.0 + '@nx/jest': 22.7.5 + '@zkochan/js-yaml': 0.0.7 + eslint: ^8.0.0 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: - js-yaml: + '@nx/jest': + optional: true + '@zkochan/js-yaml': optional: true dependencies: - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - '@nx/linter': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) eslint: 8.57.1 + semver: 7.8.5 tslib: 2.5.3 - typescript: 5.4.5 + typescript: 5.9.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - - '@types/node' - debug - nx - supports-color - verdaccio dev: true - /@nx/jest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-826rLBhBuJiTAqXaqVszmuZI7zFz7fbsHpX/oGf3lBCF3By9vumlL4gHCWxUFFea7ELMOcjW85w9k91pXU8Ltw==} + /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-+WlVdtDlVM1dyJKQg/gKiMMs6B4cR8Qh3NT9J2WFPbKdD89DTR771j+WZE572MLijJmqzOE7uNH189kV1qEj0A==} dependencies: - '@jest/reporters': 29.5.0 - '@jest/test-result': 29.5.0 - '@nrwl/jest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - '@phenomnomnominal/tsquery': 5.0.1(typescript@5.4.5) - chalk: 4.1.2 + '@jest/reporters': 30.4.1 + '@jest/test-result': 30.4.1 + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) + '@phenomnomnominal/tsquery': 6.2.0(typescript@5.4.5) identity-obj-proxy: 3.0.0 - jest-config: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) - jest-resolve: 29.5.0 - jest-util: 29.5.0 - minimatch: 9.0.3 - resolve.exports: 1.1.0 + jest-config: 30.4.2(@types/node@18.19.130)(ts-node@10.9.1) + jest-resolve: 30.4.1 + jest-util: 30.0.5 + minimatch: 10.2.5 + picocolors: 1.1.1 + resolve.exports: 2.0.3 + semver: 7.8.5 tslib: 2.5.3 yargs-parser: 21.1.1 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - '@types/node' + - babel-plugin-macros - debug + - esbuild-register - node-notifier - nx - supports-color @@ -2887,10 +2874,10 @@ packages: - verdaccio dev: true - /@nx/js@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-fl+NfPjjBRCjYGLg4HfRGdF2+co2olu5fCm8B8DPuOtBKCMRiEysZATcRofJ8DR5FZWaqnXIzwpZb3Ujz+eDRQ==} + /@nx/js@22.7.5(@swc/core@1.15.41)(nx@22.7.5): + resolution: {integrity: sha512-2nJdlNPwYRldsdmUz+p/O8kF7eVjINaycTO4o1FXn8DL09wLvhxb1kFAaJrGA3Ig6znAnmRVGitccFt1QTPCIg==} peerDependencies: - verdaccio: ^5.0.4 + verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true @@ -2902,102 +2889,85 @@ packages: '@babel/preset-env': 7.29.7(@babel/core@7.29.7) '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) '@babel/runtime': 7.29.7 - '@nrwl/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/workspace': 19.0.0(@swc/core@1.3.107) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/workspace': 22.7.5(@swc/core@1.15.41) + '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.29.7) - babel-plugin-macros: 2.8.0 + babel-plugin-macros: 3.1.0 babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.29.7) chalk: 4.1.2 columnify: 1.6.0 - detect-port: 1.6.1 - fast-glob: 3.2.7 - fs-extra: 11.3.4 - ignore: 5.2.4 + detect-port: 2.1.0 + ignore: 7.0.5 js-tokens: 4.0.0 - minimatch: 9.0.3 - npm-package-arg: 11.0.1 + jsonc-parser: 3.2.0 npm-run-path: 4.0.1 - ora: 5.3.0 + picocolors: 1.1.1 + picomatch: 4.0.4 semver: 7.8.5 source-map-support: 0.5.19 - ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) - tsconfig-paths: 4.1.2 + tinyglobby: 0.2.17 tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - - '@types/node' - - debug - - nx - - supports-color - - typescript - dev: true - - /@nx/linter@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0): - resolution: {integrity: sha512-xRSPc4bP8jSbGmmPIffBzK7uo66Rb8bUKE+14QfGwWC8ih1ITs6mRyNyl/zr3/H4DpZpDm5j96OtvtquzewcSw==} - dependencies: - '@nx/eslint': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@swc/wasm' - - '@types/node' - debug - - js-yaml - nx - supports-color - - verdaccio dev: true - /@nx/nest@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-Ue5Xil+KA85pAvcZMLred/QMVHlHnbqkSmJ/4NSUvW4ltOyEararAeEzzGXpO0qx8VcEoCTF21u4lHtBTtL/yw==} + /@nx/nest@22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-UhCLlH3UjankgIFcQi6ZYEgAKSfKQlk6g9jJJpN+yyPDvoQYDPOr0iPicO+dUJvX+xDOxI/jS8easNuZ64fVPA==} dependencies: - '@nestjs/schematics': 9.2.0(typescript@5.4.5) - '@nrwl/nest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/eslint': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - '@nx/node': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - '@phenomnomnominal/tsquery': 5.0.1(typescript@5.4.5) + '@nestjs/schematics': 11.1.0(prettier@2.8.4)(typescript@5.4.5) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) + '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' + - '@nx/jest' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - '@types/node' + - '@zkochan/js-yaml' + - babel-plugin-macros - chokidar - debug - - js-yaml + - esbuild-register + - eslint - node-notifier - nx + - prettier - supports-color - ts-node - typescript - verdaccio dev: true - /@nx/node@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-It9mywTIf1y3FKf3yl0Aicg7ZyPoSkH18khHtXTHclstYIqHC0+VEMddxBGmk6el/BpSDR9aWpPT0Ljp1oNohg==} + /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5): + resolution: {integrity: sha512-BJckjbyOgClqD6h2mNDhjftSRsvxbuayw0vKpT9sbd1ivAVhUCqNpe/iVP/VEdTsaK3s26hacfifD8EH3fPNWQ==} dependencies: - '@nrwl/node': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/eslint': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0) - '@nx/jest': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/docker': 22.7.5(nx@22.7.5) + '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) + kill-port: 1.6.1 + tcp-port-used: 1.0.3 tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - '@types/node' + - '@zkochan/js-yaml' + - babel-plugin-macros - debug - - js-yaml + - esbuild-register + - eslint - node-notifier - nx - supports-color @@ -3006,114 +2976,104 @@ packages: - verdaccio dev: true - /@nx/nx-darwin-arm64@19.0.0: - resolution: {integrity: sha512-EP0OtW3YGi5WjwFmraXotAaSwU686FJULRuUBQH1rqOvtb11iaCENUp5M39tDe67k/YPnLII+8ZZ7CzOBRWUYA==} - engines: {node: '>= 10'} + /@nx/nx-darwin-arm64@22.7.5: + resolution: {integrity: sha512-eoPtwx0qZqvRUD+VVOHm150AlSYwYoPxkDHBBGqKCn5nzPspb0lLWw8q83crM/L1M928YgK0WmGf3C++7eqsTA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@nx/nx-darwin-x64@19.0.0: - resolution: {integrity: sha512-2mOm3TyksRzXOZdimAwwRKjStdJleiOBJWWUgOhru6SxRLyny613mWIqiTDmKJrytwmeZeaGz3LcxwEJKIeqyA==} - engines: {node: '>= 10'} + /@nx/nx-darwin-x64@22.7.5: + resolution: {integrity: sha512-VLOn/ZoEn3HfjSj+yIHLCM56/el79r+9I28CkZNHaSXJQWZ3edSkcgcfYjVxCurpN2VEwDQHLBeFCH8M+lQ7wQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@nx/nx-freebsd-x64@19.0.0: - resolution: {integrity: sha512-mGxYvOaDCDnVLnIAJo640/jPygfTJ6I7qaU7kj6Pwy4UTQVxzLdHILeqU6UAkgQNl/7fvC3shRsH0JIlogD8ZA==} - engines: {node: '>= 10'} + /@nx/nx-freebsd-x64@22.7.5: + resolution: {integrity: sha512-LEVer/E2xfGvK9Go+imMQoEninOoq/38Z2bhV1SD3AThXrp1xaLFVkW5jQ6juebeVkAeztEoMLFlr576egS0vw==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /@nx/nx-linux-arm-gnueabihf@19.0.0: - resolution: {integrity: sha512-pbnbuxyeRaqidh9SVnkDc7sPgvAcjFrvDG/js8cULwqmQUtEqfk8ue50D1kNH76X53AVrP7ijsJQG96SGjfDxg==} - engines: {node: '>= 10'} + /@nx/nx-linux-arm-gnueabihf@22.7.5: + resolution: {integrity: sha512-NP27EFGpmFJM6RL1Ey/AFJ7gA2xuqtIHaw6jjSNGvfrnZRUNaway30GrVaGGeODf0DsvAty/unqoBMPy6kDHbw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@nx/nx-linux-arm64-gnu@19.0.0: - resolution: {integrity: sha512-lP+nb0aYy4tBuodHIBibWqKCidwoW6psfWkbabrzLwUqqD2tpjCsZxwpvU3jgTRQZsHPWZF2ELYfRuGVnLrqdg==} - engines: {node: '>= 10'} + /@nx/nx-linux-arm64-gnu@22.7.5: + resolution: {integrity: sha512-QLnkJl3HkHsPfpLiNiAiMfpfAeFpic0U1diAxF8RqChOkCpQ7ulvyBVgE1UrQxvhd+gFQ3ed5RNDxtCRw8nTiw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@nx/nx-linux-arm64-musl@19.0.0: - resolution: {integrity: sha512-/dgFejPLv7l0/3T21Y/bhSZPOOfhvzGkvdRulBnGkMC13VCdFlqFIpZf0ghzO+kslOc/W4z5sp+7xTf4CDqp1A==} - engines: {node: '>= 10'} + /@nx/nx-linux-arm64-musl@22.7.5: + resolution: {integrity: sha512-cEP6KmwBgnb38+jTTaibWCjwXcHmigqhTfy0tN1be7WZr6bHxbqNLsXqKRN70PSNA3HouZcxw1cdRL8tqbPBBA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@nx/nx-linux-x64-gnu@19.0.0: - resolution: {integrity: sha512-GBCDFhfi6F9fkQBCYBr4Ef8TzdlQMX6iGQ44cAqzrQjjslBGb7n9xcMhB2b869crMJEPLgOkjEWOJH/52Hr5ng==} - engines: {node: '>= 10'} + /@nx/nx-linux-x64-gnu@22.7.5: + resolution: {integrity: sha512-tbaX1tZCSpGifDNBfDdEZAMxVF3Yg4bhFP/bm1needc0diqb+Zflc0u5tM5/6BWDMITQDwenJVsNiQ8ZdtJURA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@nx/nx-linux-x64-musl@19.0.0: - resolution: {integrity: sha512-soT/eLXBmWK8IHGK+SVgjf98xvPCjGVac/yMl7/ivvcF6LM56h5baN+0vhYbWoYVrkodoG/j7RRnD/Tiobe7Eg==} - engines: {node: '>= 10'} + /@nx/nx-linux-x64-musl@22.7.5: + resolution: {integrity: sha512-H0M7csOZIgPT822LqjxSXzf4MXRND15vIkAQe3F3Jlr3Si8LC3tzbL52aVcRfgb8MF/xOB5U47mSwxWt1M2bPQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@nx/nx-win32-arm64-msvc@19.0.0: - resolution: {integrity: sha512-FJ9msRTLGR/IVceXk63a3E3fyYR8OO1tW8WBNgnmAjZlnJhMPk/UWxglVeV5FdK6+kurwrThbIjlgPsCnSGJfQ==} - engines: {node: '>= 10'} + /@nx/nx-win32-arm64-msvc@22.7.5: + resolution: {integrity: sha512-JTcZch9YAnDL1gbhqePz3DZ4x7iYemLn1yJzrjbbXAmXju2eiiJiZvJJHbV06+SP9HKXDT8RjTKuAWTdVxnHug==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@nx/nx-win32-x64-msvc@19.0.0: - resolution: {integrity: sha512-Vf7PcmTbKj349AAmIHM6y9EDJJHdkpbO5vr0f4kEp4P1WQwglY0/sMu2ocsFzxGCW8D9GjiDiJokxtv309hvZA==} - engines: {node: '>= 10'} + /@nx/nx-win32-x64-msvc@22.7.5: + resolution: {integrity: sha512-ngcMyHdBJ9FSz2nHdbZ7gtJlFq0O2b05sPAsVMkZ18CKzdaA1qrBDJfsMO49hPCny505eiT766+CkKdaCDl5kA==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@nx/rollup@19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5): - resolution: {integrity: sha512-fsPFyRjGfNkIBnhjyWBqAiDkqHZ+IwIcXogP0tvLM6Cbm8ukrFNNDhfgI32pMIx9DJ0ScLJ94aCCudwF31aESw==} + /@nx/rollup@22.7.5(@babel/core@7.29.7)(@swc/core@1.15.41)(nx@22.7.5)(typescript@5.4.5): + resolution: {integrity: sha512-36bLP+XZR7Qiejw1sGc+0R3r2/N4FNPgV8Q1IW8Y+6QpkTCk3jStX1HXyJBW0EwPcIkgQ/PwSkhHeg9ATZei2A==} dependencies: - '@nrwl/rollup': 19.0.0(@babel/core@7.29.7)(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) '@rollup/plugin-babel': 6.1.0(@babel/core@7.29.7)(rollup@4.62.2) '@rollup/plugin-commonjs': 25.0.8(rollup@4.62.2) '@rollup/plugin-image': 3.0.3(rollup@4.62.2) '@rollup/plugin-json': 6.1.0(rollup@4.62.2) '@rollup/plugin-node-resolve': 15.3.1(rollup@4.62.2) - autoprefixer: 10.4.14(postcss@8.4.21) - babel-plugin-transform-async-to-promises: 0.8.18 - chalk: 4.1.2 - postcss: 8.4.21 + '@rollup/plugin-typescript': 12.3.0(rollup@4.62.2)(tslib@2.5.3)(typescript@5.4.5) + autoprefixer: 10.4.14(postcss@8.5.15) + concat-with-sourcemaps: 1.1.0 + picocolors: 1.1.1 + picomatch: 4.0.4 + postcss: 8.5.15 + postcss-modules: 6.0.1(postcss@8.5.15) rollup: 4.62.2 - rollup-plugin-copy: 3.5.0 - rollup-plugin-postcss: 4.0.2(postcss@8.4.21)(ts-node@10.9.1) rollup-plugin-typescript2: 0.36.0(rollup@4.62.2)(typescript@5.4.5) tslib: 2.5.3 transitivePeerDependencies: @@ -3121,48 +3081,65 @@ packages: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - '@types/babel__core' - - '@types/node' - debug - nx - supports-color - - ts-node - typescript - verdaccio dev: true - /@nx/web@19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-IHaEXtUFG9poQHdTnsNitxNs3Fxi4zwpR31SD65o5rp9sTDAo/uYY+0j4H10Bz2nDQxNeJOvqlYBC1XIoXS6sw==} + /@nx/web@22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5): + resolution: {integrity: sha512-mJOx3BknJhdr2T7UD4b4LuWyTa+MyXXJvYymBjHvBuCmWC5o68wuDm2y5kXrZ1WxHJYlqoLZ2281QPVyB+SZ7A==} + peerDependencies: + '@nx/cypress': 22.7.5 + '@nx/eslint': 22.7.5 + '@nx/jest': 22.7.5 + '@nx/playwright': 22.7.5 + '@nx/vite': 22.7.5 + '@nx/webpack': 22.7.5 + peerDependenciesMeta: + '@nx/cypress': + optional: true + '@nx/eslint': + optional: true + '@nx/jest': + optional: true + '@nx/playwright': + optional: true + '@nx/vite': + optional: true + '@nx/webpack': + optional: true dependencies: - '@nrwl/web': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - '@nx/devkit': 19.0.0(nx@19.0.0) - '@nx/js': 19.0.0(@swc/core@1.3.107)(@types/node@18.19.130)(nx@19.0.0)(typescript@5.4.5) - chalk: 4.1.2 - detect-port: 1.6.1 + '@nx/devkit': 22.7.5(nx@22.7.5) + '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) + detect-port: 2.1.0 http-server: 14.1.1 + picocolors: 1.1.1 tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' - '@swc/core' - - '@swc/wasm' - - '@types/node' - debug - nx - supports-color - - typescript - verdaccio dev: true - /@nx/workspace@19.0.0(@swc/core@1.3.107): - resolution: {integrity: sha512-CHGG7PkiDz5BxlxMuGB9abWb+6j97msZXMOW1KjctgK+nsLci4c5XMOKIKhyZPJbfmwnPeRmYyANok3BOIs8GQ==} + /@nx/workspace@22.7.5(@swc/core@1.15.41): + resolution: {integrity: sha512-f3zx8EAOl0ANd2UXZIniBoHfDvNvi2Uy65R9Rp6emdcx7rxsuTU5Eaidryleo9wIQ5cZAcMx7Wvzp5Srj8diKA==} dependencies: - '@nrwl/workspace': 19.0.0(@swc/core@1.3.107) - '@nx/devkit': 19.0.0(nx@19.0.0) + '@nx/devkit': 22.7.5(nx@22.7.5) + '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 19.0.0(@swc/core@1.3.107) + nx: 22.7.5(@swc/core@1.15.41) + picomatch: 4.0.4 + semver: 7.8.5 tslib: 2.5.3 yargs-parser: 21.1.1 transitivePeerDependencies: @@ -3287,15 +3264,32 @@ packages: '@octokit/openapi-types': 16.0.0 dev: true - /@phenomnomnominal/tsquery@5.0.1(typescript@5.4.5): - resolution: {integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==} + /@oxc-project/types@0.137.0: + resolution: {integrity: sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==} + dev: true + + /@phenomnomnominal/tsquery@6.2.0(typescript@5.4.5): + resolution: {integrity: sha512-Vo9nkhfZxDB/sBiqIY3pjDC4mOSyure+AFlEW5hcy/tRE82MqCXjRN4InnVNMldinRt0dLYqg4HAU2XPq5e1LA==} peerDependencies: - typescript: ^3 || ^4 || ^5 + typescript: '>3.0.0' dependencies: - esquery: 1.5.0 + '@types/esquery': 1.5.4 + esquery: 1.7.0 typescript: 5.4.5 dev: true + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.3.6: + resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} + engines: {node: ^14.18.0 || >=16.0.0} + dev: true + /@pnpm/config.env-replace@1.0.0: resolution: {integrity: sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA==} engines: {node: '>=12.22.0'} @@ -3317,6 +3311,12 @@ packages: config-chain: 1.1.13 dev: true + /@quansync/fs@1.0.0: + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + dependencies: + quansync: 1.0.0 + dev: true + /@release-it/bumper@4.0.2(release-it@15.8.0): resolution: {integrity: sha512-HjiFIBNvb67cLTbzdm6EqiSRwpB4MJY4TGJFY/ac5qnIxERWK5gx1zBnwbJZffDSoS46hJMugoXrDbITEfX4gA==} engines: {node: '>=14'} @@ -3348,11 +3348,153 @@ packages: semver: 7.3.8 dev: true - /@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(rollup@4.62.2): - resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 + /@rolldown/binding-android-arm64@1.1.2: + resolution: {integrity: sha512-2cZ+7xRS+DBcuJBJKnfzsbleumJhBqSlJVpuzHC0nTqfd3QQ7Vx2/x5YR/D7cBamKSeWplwo82Fn9lqYUDEMfA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-darwin-arm64@1.1.2: + resolution: {integrity: sha512-RkPMJnygxsgOYdkfqgpwY0/Fzm8d0VQe6HGU2/B00Xa9eqdLbrII+DOKAodbJAn3ZL1AJxGHkZRPYazgGY6Ljw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-darwin-x64@1.1.2: + resolution: {integrity: sha512-Uiczh6vFhwyfd7WNe7Q7mCA4KxAiLdz7jPE/WGizfRpIieoyFuNVMmM8HqZ9HwudTkY6/AeMQwlNJ9NJijguWw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-freebsd-x64@1.1.2: + resolution: {integrity: sha512-+TpdtTRgHiJFjCVFbw311SuLk3KfytPOQQn+VlAEv+gBxYPtL7E6JS9e/tk+8CwxhIZvemJKo4rTKgfWNsKkkA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-arm-gnueabihf@1.1.2: + resolution: {integrity: sha512-4lv1/tkmi7ueIVHnyreaOeUpiZP26BH9rRy6hoYfR9310A2B9nUEVRDvBx69vx64Nr3eTPPRkyciqJJs+j9Jmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-arm64-gnu@1.1.2: + resolution: {integrity: sha512-gBSUVO0eaWgw1JMjK3gB8BMlX2Mk148s2lTiVT3e9vjVxbl7UDfMWWY8CfIaaqiXuM9fVTMxIpUz6CAo/B6Vlw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-arm64-musl@1.1.2: + resolution: {integrity: sha512-LjQP/iZLBu8o8PjIfk4x3At0/mT6h282pvz8Z5LAyhGbu/kDezyO7ea62rF5uoqmgnIYqbN/MqJ3Si3Aymi7xQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-ppc64-gnu@1.1.2: + resolution: {integrity: sha512-X/7bVLWelEsbyWDUSXt7zVsTniLLPIY2n1rH58qr78l9i7MNbbxBWD8gI2vRfBWf4NUXJCUuQnfZDsp32LqsfQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-s390x-gnu@1.1.2: + resolution: {integrity: sha512-gb6dYKW/1KDorGXyy48glEBJs/sxVSC5pcVrox/pFGV4mvwSFeg2sK5L2tRkVsVlh7kueqOgg4GEcuipJcGuKg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-x64-gnu@1.1.2: + resolution: {integrity: sha512-JY4w85pU3iAiJVMh5nuk4/Mh9GjMsupe8MrIN53rwxAZW64GKrWeJBuN6SxQg9QTU5uB1cxyhDzW8jqRn1EABw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-linux-x64-musl@1.1.2: + resolution: {integrity: sha512-xvpA7o5KCYLB0Rwscmuylb1/zHHSUx4g4xilm4prC5jP76pEUlzBmMbgpbh7bVDbId4NcfT96gN5i6mE6UDaiw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-openharmony-arm64@1.1.2: + resolution: {integrity: sha512-p/ts6KBLjuk49Bp21XH77poQGt02iNz7ChgHep7tudPOaLinR/De/RHdxF8w8Yj4r/bF/bqXwH6PZrB2sA+Nvw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-wasm32-wasi@1.1.2: + resolution: {integrity: sha512-VMu/wmrZ9hJzYlRhbw7jK5PODlugyKZ5mOdX78+lS8OvuFkWNQdz1pFLrI2p3P0pjXOmUZ7B48o5VnMH9QOGtg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + requiresBuild: true + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + dev: true + optional: true + + /@rolldown/binding-win32-arm64-msvc@1.1.2: + resolution: {integrity: sha512-xtUJqs8qEkuSviS0n1tsohaPuz3a1SPhZywOji4Oo+sgrJs8daEDMZ0QtqL0OS7dx8PoVpg2J/ZZycPY5I2+Zg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-win32-x64-msvc@1.1.2: + resolution: {integrity: sha512-85YiLQqjUKgSO/Zjnf9e0XIn5Ymrh1fLDWBeAkZqpuBR/3R8TpfoHXuyblqyQrftSSgWO9qpcHN8mkyKsLraoA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rolldown/pluginutils@1.0.1: + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + dev: true + + /@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(rollup@4.62.2): + resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 '@types/babel__core': ^7.1.9 rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -3362,9 +3504,11 @@ packages: optional: true dependencies: '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.29.7 '@rollup/pluginutils': 5.4.0(rollup@4.62.2) rollup: 4.62.2 + transitivePeerDependencies: + - supports-color dev: true /@rollup/plugin-commonjs@25.0.8(rollup@4.62.2): @@ -3425,8 +3569,28 @@ packages: '@types/resolve': 1.20.2 deepmerge: 4.3.0 is-module: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.12 + rollup: 4.62.2 + dev: true + + /@rollup/plugin-typescript@12.3.0(rollup@4.62.2)(tslib@2.5.3)(typescript@5.4.5): + resolution: {integrity: sha512-7DP0/p7y3t67+NabT9f8oTBFE6gGkto4SA6Np2oudYmZE/m1dt8RB0SjL1msMxFpLo631qjRCcBlAbq1ml/Big==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + dependencies: + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + resolve: 1.22.12 rollup: 4.62.2 + tslib: 2.5.3 + typescript: 5.4.5 dev: true /@rollup/pluginutils@4.2.1: @@ -3446,7 +3610,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.4 rollup: 4.62.2 @@ -3652,13 +3816,8 @@ packages: dev: true optional: true - /@sinclair/typebox@0.25.24: - resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} - dev: true - - /@sindresorhus/is@4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + /@sinclair/typebox@0.34.49: + resolution: {integrity: sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==} dev: true /@sindresorhus/is@5.3.0: @@ -3666,43 +3825,54 @@ packages: engines: {node: '>=14.16'} dev: true - /@sinonjs/commons@2.0.0: - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@10.0.2: - resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} + /@sinonjs/fake-timers@13.0.5: + resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + dependencies: + '@sinonjs/commons': 3.0.1 + dev: true + + /@sinonjs/fake-timers@15.4.0: + resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} dependencies: - '@sinonjs/commons': 2.0.0 + '@sinonjs/commons': 3.0.1 dev: true - /@swc/cli@0.3.14(@swc/core@1.3.107): - resolution: {integrity: sha512-0vGqD6FSW67PaZUZABkA+ADKsX7OUY/PwNEz1SbQdCvVk/e4Z36Gwh7mFVBQH9RIsMonTyhV1RHkwkGnEfR3zQ==} + /@swc/cli@0.7.10(@swc/core@1.15.41): + resolution: {integrity: sha512-QQ36Q1VwGTT2YzvMeNe/j1x4DKS277DscNhWc57dIwQn//C+zAgvuSupMB/XkmYqPKQX+8hjn5/cHRJrMvWy0Q==} engines: {node: '>= 16.14.0'} hasBin: true peerDependencies: '@swc/core': ^1.2.66 - chokidar: ^3.5.1 + chokidar: ^4.0.1 peerDependenciesMeta: chokidar: optional: true dependencies: - '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@swc/core': 1.15.41(@swc/helpers@0.5.23) '@swc/counter': 0.1.3 + '@xhmikosr/bin-wrapper': 13.2.0 commander: 8.3.0 - fast-glob: 3.2.12 minimatch: 9.0.9 piscina: 4.9.3 semver: 7.8.5 slash: 3.0.0 source-map: 0.7.4 + tinyglobby: 0.2.17 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color dev: true - /@swc/core-darwin-arm64@1.3.107: - resolution: {integrity: sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==} + /@swc/core-darwin-arm64@1.15.41: + resolution: {integrity: sha512-kREh6J5paQFvP3i7f/4FbqRNOJREutVFVOkder4GVyCBQ39YmER55cW/y1NNjwrchzFqgYswFn0mMDCqbqKzrw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -3710,8 +3880,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.107: - resolution: {integrity: sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==} + /@swc/core-darwin-x64@1.15.41: + resolution: {integrity: sha512-N8B56ESFazZAWZyIkecADSPCwlLEinW7QLMEeotCpv4J7VXwfH+OLkmRL8o96UZ+1355fwHxDTS6/wK7yucvkA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -3719,8 +3889,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.107: - resolution: {integrity: sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==} + /@swc/core-linux-arm-gnueabihf@1.15.41: + resolution: {integrity: sha512-6XrId2fyle0mS5xxON8rU84mPd2Cq1kDJRj+4BnQKTd7u+2kSA6Ww+JkOP0iTNqOqt9OXhPOEAjBHAuonWcdCg==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -3728,8 +3898,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.107: - resolution: {integrity: sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==} + /@swc/core-linux-arm64-gnu@1.15.41: + resolution: {integrity: sha512-ynLIarxlkVnqHn1D0fKOVht6mNU5ks6lrH+MY3kkS+XFaGGgDxFZVjWKJlkYTKm3RCvBTfA8Ng5fLufXheMRKQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3737,8 +3907,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.107: - resolution: {integrity: sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==} + /@swc/core-linux-arm64-musl@1.15.41: + resolution: {integrity: sha512-dXu/5vd4gh8symyhRF+4G7gOPkjmb4pONhh7sl+6GSiW0LOKZlfu5kXmyFbTz9smOT7jgr002qY9b1nujjXt2A==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3746,8 +3916,26 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.107: - resolution: {integrity: sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==} + /@swc/core-linux-ppc64-gnu@1.15.41: + resolution: {integrity: sha512-XGO6zVPXoPE0gf/XnI4jBbafNT13AYgoh6ns0JCSdOetI/kqVf0vhpz7NuNgAzZrMVCsmieqjPoTwViDgh4mOQ==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-s390x-gnu@1.15.41: + resolution: {integrity: sha512-0WUglRwyZtW+iMi7J3iFdrCxreZZIKf4egTwEQfIYRsqFax69A0OrFj+NIoFSE03xBT/IFRrg+S8K6f9Ky+4hA==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-gnu@1.15.41: + resolution: {integrity: sha512-VxkuQK59c0tHm6uJZCUrS3cyA2JhGGfdU6e41SZz0x/JS+4Sm7C1mIc97In14vkZJopEt7yXA2TouCqZDSygEA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3755,8 +3943,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.107: - resolution: {integrity: sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==} + /@swc/core-linux-x64-musl@1.15.41: + resolution: {integrity: sha512-/0qXIu1ZxggLuovLb22vFfKHq2AA4n6Whw5UwmVCHk4pkw7KWnPIQpMCEqUMPsNkFJig7PPp/TSYFu8ZEb2rtQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3764,8 +3952,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.107: - resolution: {integrity: sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==} + /@swc/core-win32-arm64-msvc@1.15.41: + resolution: {integrity: sha512-Y481sMNZM6rECh9VO4+y26N1lWEDAyxnBZskUf37fl90uHE946VHfmiVQWT0uMFOhyJJFovGTRuF4W82dwewUg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -3773,8 +3961,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.107: - resolution: {integrity: sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==} + /@swc/core-win32-ia32-msvc@1.15.41: + resolution: {integrity: sha512-BAchBD5qeUzy3hiPSLJtaaoSm4blCLyYffOF1bGE4ETcV+OisqjUAwDQMJj++4bTpvMCDzwC+Bj3PmQyBCtscw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -3782,8 +3970,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.107: - resolution: {integrity: sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==} + /@swc/core-win32-x64-msvc@1.15.41: + resolution: {integrity: sha512-WOkA+fJ/ViVBQDsSV9JC52NACTe5PhlurA6viASDZGb7HR3KS01ZG7RZ+Bg6SVQFIoq3gSbTsskQVe6EbHFAYw==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -3791,12 +3979,12 @@ packages: dev: true optional: true - /@swc/core@1.3.107(@swc/helpers@0.5.23): - resolution: {integrity: sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==} + /@swc/core@1.15.41(@swc/helpers@0.5.23): + resolution: {integrity: sha512-03nQq/082QRJJiOvp3FGbgxTGyyxMxohPTjhk/W9bD2J0tk4ukITI7goOhOO2WbaHn/lsPmo/zf8+DIXhwpgYQ==} engines: {node: '>=10'} requiresBuild: true peerDependencies: - '@swc/helpers': ^0.5.0 + '@swc/helpers': '>=0.5.17' peerDependenciesMeta: '@swc/helpers': optional: true @@ -3805,16 +3993,18 @@ packages: '@swc/helpers': 0.5.23 '@swc/types': 0.1.27 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.107 - '@swc/core-darwin-x64': 1.3.107 - '@swc/core-linux-arm-gnueabihf': 1.3.107 - '@swc/core-linux-arm64-gnu': 1.3.107 - '@swc/core-linux-arm64-musl': 1.3.107 - '@swc/core-linux-x64-gnu': 1.3.107 - '@swc/core-linux-x64-musl': 1.3.107 - '@swc/core-win32-arm64-msvc': 1.3.107 - '@swc/core-win32-ia32-msvc': 1.3.107 - '@swc/core-win32-x64-msvc': 1.3.107 + '@swc/core-darwin-arm64': 1.15.41 + '@swc/core-darwin-x64': 1.15.41 + '@swc/core-linux-arm-gnueabihf': 1.15.41 + '@swc/core-linux-arm64-gnu': 1.15.41 + '@swc/core-linux-arm64-musl': 1.15.41 + '@swc/core-linux-ppc64-gnu': 1.15.41 + '@swc/core-linux-s390x-gnu': 1.15.41 + '@swc/core-linux-x64-gnu': 1.15.41 + '@swc/core-linux-x64-musl': 1.15.41 + '@swc/core-win32-arm64-msvc': 1.15.41 + '@swc/core-win32-ia32-msvc': 1.15.41 + '@swc/core-win32-x64-msvc': 1.15.41 dev: true /@swc/counter@0.1.3: @@ -3826,14 +4016,16 @@ packages: dependencies: tslib: 2.8.1 - /@swc/jest@0.2.20(@swc/core@1.3.107): - resolution: {integrity: sha512-5qSUBYY1wyIMn7p0Vl9qqV4hMI69oJwZCIPUpBsTFWN2wlwn6RDugzdgCn+bLXVYh+Cxi8bJcZ1uumDgsoL+FA==} + /@swc/jest@0.2.39(@swc/core@1.15.41): + resolution: {integrity: sha512-eyokjOwYd0Q8RnMHri+8/FS1HIrIUKK/sRrFp8c1dThUOfNeCWbLmBP1P5VsKdvmkd25JaH+OKYwEYiAYg9YAA==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: - '@jest/create-cache-key-function': 27.5.1 - '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@jest/create-cache-key-function': 30.4.1 + '@swc/core': 1.15.41(@swc/helpers@0.5.23) + '@swc/counter': 0.1.3 + jsonc-parser: 3.3.1 dev: true /@swc/types@0.1.27: @@ -3842,13 +4034,6 @@ packages: '@swc/counter': 0.1.3 dev: true - /@szmarczak/http-timer@4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - dependencies: - defer-to-connect: 2.0.1 - dev: true - /@szmarczak/http-timer@5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} @@ -3876,16 +4061,6 @@ packages: engines: {node: '>= 6'} dev: true - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true - - /@trysound/sax@0.2.0: - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - dev: true - /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true @@ -3902,11 +4077,25 @@ packages: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true - /@types/babel__core@7.20.0: - resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} + /@tybys/wasm-util@0.10.2: + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + requiresBuild: true dependencies: - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + tslib: 2.5.3 + dev: true + optional: true + + /@tybys/wasm-util@0.9.0: + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + dependencies: + tslib: 2.5.3 + dev: true + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.3 @@ -3915,29 +4104,20 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.29.7 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 dev: true /@types/babel__traverse@7.18.3: resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} dependencies: - '@babel/types': 7.21.2 - dev: true - - /@types/cacheable-request@6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - dependencies: - '@types/http-cache-semantics': 4.0.1 - '@types/keyv': 3.1.4 - '@types/node': 18.19.130 - '@types/responselike': 1.0.0 + '@babel/types': 7.29.7 dev: true /@types/cookiejar@2.1.2: @@ -3950,33 +4130,16 @@ packages: '@types/ms': 0.7.31 dev: true - /@types/estree@1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + /@types/esquery@1.5.4: + resolution: {integrity: sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==} + dependencies: + '@types/estree': 1.0.9 dev: true /@types/estree@1.0.9: resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} dev: true - /@types/fs-extra@8.1.2: - resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} - dependencies: - '@types/node': 18.19.130 - dev: true - - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - dependencies: - '@types/minimatch': 5.1.2 - '@types/node': 18.19.130 - dev: true - - /@types/graceful-fs@4.1.6: - resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} - dependencies: - '@types/node': 18.19.130 - dev: true - /@types/http-cache-semantics@4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true @@ -3985,41 +4148,39 @@ packages: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 dev: true - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest@29.4.0: - resolution: {integrity: sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==} + /@types/jest@30.0.0: + resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} dependencies: - expect: 29.5.0 - pretty-format: 29.5.0 + expect: 30.4.1 + pretty-format: 30.4.1 dev: true - /@types/jsdom@20.0.1: - resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + /@types/jsdom@21.1.7: + resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} dependencies: '@types/node': 18.19.130 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 18.19.130 - dev: true - - /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + /@types/jsesc@2.5.1: + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} dev: true /@types/minimist@1.2.2: @@ -4044,206 +4205,592 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/prettier@2.7.2: - resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + dev: true + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/superagent@4.1.16: + resolution: {integrity: sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==} + dependencies: + '@types/cookiejar': 2.1.2 + '@types/node': 18.19.130 + dev: true + + /@types/supertest@2.0.12: + resolution: {integrity: sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==} + dependencies: + '@types/superagent': 4.1.16 + dev: true + + /@types/tough-cookie@4.0.2: + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + dev: true + + /@types/validator@13.7.13: + resolution: {integrity: sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q==} + dev: true + + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs@17.0.35: + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.3(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.4 + eslint: 8.57.1 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/project-service@8.61.1(typescript@5.4.5): + resolution: {integrity: sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + dependencies: + '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.4.5) + '@typescript-eslint/types': 8.61.1 + debug: 4.4.3 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@7.18.0: + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + dev: true + + /@typescript-eslint/scope-manager@8.61.1: + resolution: {integrity: sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + '@typescript-eslint/types': 8.61.1 + '@typescript-eslint/visitor-keys': 8.61.1 + dev: true + + /@typescript-eslint/tsconfig-utils@8.61.1(typescript@5.4.5): + resolution: {integrity: sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + dependencies: + typescript: 5.4.5 + dev: true + + /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.1 + ts-api-utils: 1.4.3(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@8.61.1(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + dependencies: + '@typescript-eslint/types': 8.61.1 + '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.4.5) + '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.4.5) + debug: 4.4.3 + eslint: 8.57.1 + ts-api-utils: 2.5.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@7.18.0: + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true + + /@typescript-eslint/types@8.61.1: + resolution: {integrity: sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /@typescript-eslint/typescript-estree@7.18.0(typescript@5.4.5): + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.9 + semver: 7.8.5 + ts-api-utils: 1.4.3(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@8.61.1(typescript@5.4.5): + resolution: {integrity: sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + dependencies: + '@typescript-eslint/project-service': 8.61.1(typescript@5.4.5) + '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.4.5) + '@typescript-eslint/types': 8.61.1 + '@typescript-eslint/visitor-keys': 8.61.1 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@8.61.1(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.61.1 + '@typescript-eslint/types': 8.61.1 + '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.4.5) + eslint: 8.57.1 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/visitor-keys@7.18.0: + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@8.61.1: + resolution: {integrity: sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + '@typescript-eslint/types': 8.61.1 + eslint-visitor-keys: 5.0.1 + dev: true + + /@ungap/structured-clone@1.3.1: + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + dev: true + + /@unrs/resolver-binding-android-arm-eabi@1.12.2: + resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-android-arm64@1.12.2: + resolution: {integrity: sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-darwin-arm64@1.12.2: + resolution: {integrity: sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-darwin-x64@1.12.2: + resolution: {integrity: sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-freebsd-x64@1.12.2: + resolution: {integrity: sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2: + resolution: {integrity: sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-arm-musleabihf@1.12.2: + resolution: {integrity: sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-arm64-gnu@1.12.2: + resolution: {integrity: sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-arm64-musl@1.12.2: + resolution: {integrity: sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-loong64-gnu@1.12.2: + resolution: {integrity: sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-loong64-musl@1.12.2: + resolution: {integrity: sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-ppc64-gnu@1.12.2: + resolution: {integrity: sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-riscv64-gnu@1.12.2: + resolution: {integrity: sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@unrs/resolver-binding-linux-riscv64-musl@1.12.2: + resolution: {integrity: sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==} + cpu: [riscv64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + /@unrs/resolver-binding-linux-s390x-gnu@1.12.2: + resolution: {integrity: sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==} + cpu: [s390x] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 18.19.130 + /@unrs/resolver-binding-linux-x64-gnu@1.12.2: + resolution: {integrity: sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@unrs/resolver-binding-linux-x64-musl@1.12.2: + resolution: {integrity: sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@types/superagent@4.1.16: - resolution: {integrity: sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==} - dependencies: - '@types/cookiejar': 2.1.2 - '@types/node': 18.19.130 + /@unrs/resolver-binding-openharmony-arm64@1.12.2: + resolution: {integrity: sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==} + cpu: [arm64] + os: [openharmony] + requiresBuild: true dev: true + optional: true - /@types/supertest@2.0.12: - resolution: {integrity: sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==} + /@unrs/resolver-binding-wasm32-wasi@1.12.2: + resolution: {integrity: sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + requiresBuild: true dependencies: - '@types/superagent': 4.1.16 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) dev: true + optional: true - /@types/tough-cookie@4.0.2: - resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + /@unrs/resolver-binding-win32-arm64-msvc@1.12.2: + resolution: {integrity: sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@types/validator@13.7.13: - resolution: {integrity: sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q==} + /@unrs/resolver-binding-win32-ia32-msvc@1.12.2: + resolution: {integrity: sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@unrs/resolver-binding-win32-x64-msvc@1.12.2: + resolution: {integrity: sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@types/yargs@16.0.5: - resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} + /@xhmikosr/archive-type@7.1.0: + resolution: {integrity: sha512-xZEpnGplg1sNPyEgFh0zbHxqlw5dtYg6viplmWSxUj12+QjU9SKu3U/2G73a15pEjLaOqTefNSZ1fOPUOT4Xgg==} + engines: {node: '>=18'} dependencies: - '@types/yargs-parser': 21.0.0 + file-type: 20.5.0 + transitivePeerDependencies: + - supports-color dev: true - /@types/yargs@17.0.22: - resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==} + /@xhmikosr/bin-check@7.1.0: + resolution: {integrity: sha512-y1O95J4mnl+6MpVmKfMYXec17hMEwE/yeCglFNdx+QvLLtP0yN4rSYcbkXnth+lElBuKKek2NbvOfOGPpUXCvw==} + engines: {node: '>=18'} dependencies: - '@types/yargs-parser': 21.0.0 + execa: 5.1.1 + isexe: 2.0.0 dev: true - /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + /@xhmikosr/bin-wrapper@13.2.0: + resolution: {integrity: sha512-t9U9X0sDPRGDk5TGx4dv5xiOvniVJpXnfTuynVKwHgtib95NYEw4MkZdJqhoSiz820D9m0o6PCqOPMXz0N9fIw==} + engines: {node: '>=18'} dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.1 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.4.5) - typescript: 5.4.5 + '@xhmikosr/bin-check': 7.1.0 + '@xhmikosr/downloader': 15.2.0 + '@xhmikosr/os-filter-obj': 3.0.0 + bin-version-check: 5.1.0 transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - supports-color dev: true - /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + /@xhmikosr/decompress-tar@8.1.0: + resolution: {integrity: sha512-m0q8x6lwxenh1CrsTby0Jrjq4vzW/QU1OLhTHMQLEdHpmjR1lgahGz++seZI0bXF3XcZw3U3xHfqZSz+JPP2Gg==} + engines: {node: '>=18'} dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.4 - eslint: 8.57.1 - typescript: 5.4.5 + file-type: 20.5.0 + is-stream: 2.0.1 + tar-stream: 3.2.0 transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - supports-color dev: true - /@typescript-eslint/scope-manager@7.18.0: - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} + /@xhmikosr/decompress-tarbz2@8.1.0: + resolution: {integrity: sha512-aCLfr3A/FWZnOu5eqnJfme1Z1aumai/WRw55pCvBP+hCGnTFrcpsuiaVN5zmWTR53a8umxncY2JuYsD42QQEbw==} + engines: {node: '>=18'} dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@xhmikosr/decompress-tar': 8.1.0 + file-type: 20.5.0 + is-stream: 2.0.1 + seek-bzip: 2.0.0 + unbzip2-stream: 1.4.3 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color dev: true - /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + /@xhmikosr/decompress-targz@8.1.0: + resolution: {integrity: sha512-fhClQ2wTmzxzdz2OhSQNo9ExefrAagw93qaG1YggoIz/QpI7atSRa7eOHv4JZkpHWs91XNn8Hry3CwUlBQhfPA==} + engines: {node: '>=18'} dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - debug: 4.3.4 - eslint: 8.57.1 - ts-api-utils: 1.4.3(typescript@5.4.5) - typescript: 5.4.5 + '@xhmikosr/decompress-tar': 8.1.0 + file-type: 20.5.0 + is-stream: 2.0.1 transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - supports-color dev: true - /@typescript-eslint/types@7.18.0: - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - dev: true - - /@typescript-eslint/typescript-estree@7.18.0(typescript@5.4.5): - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + /@xhmikosr/decompress-unzip@7.1.0: + resolution: {integrity: sha512-oqTYAcObqTlg8owulxFTqiaJkfv2SHsxxxz9Wg4krJAHVzGWlZsU8tAB30R6ow+aHrfv4Kub6WQ8u04NWVPUpA==} + engines: {node: '>=18'} dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.9 - semver: 7.8.5 - ts-api-utils: 1.4.3(typescript@5.4.5) - typescript: 5.4.5 + file-type: 20.5.0 + get-stream: 6.0.1 + yauzl: 3.4.0 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 + /@xhmikosr/decompress@10.2.1: + resolution: {integrity: sha512-ceGT3K2JR73Usj5o+HM2RRZw0XPUes4rhb7uVTY9PefUQQMpuj8x+V29XVG09JnS7EOj9SIBhHn3K4bFNNb7hA==} + engines: {node: '>=18'} dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) - eslint: 8.57.1 + '@xhmikosr/decompress-tar': 8.1.0 + '@xhmikosr/decompress-tarbz2': 8.1.0 + '@xhmikosr/decompress-targz': 8.1.0 + '@xhmikosr/decompress-unzip': 7.1.0 + graceful-fs: 4.2.11 + strip-dirs: 3.0.0 transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - supports-color - - typescript dev: true - /@typescript-eslint/visitor-keys@7.18.0: - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} + /@xhmikosr/downloader@15.2.0: + resolution: {integrity: sha512-lAqbig3uRGTt0sHNIM4vUG9HoM+mRl8K28WuYxyXLCUT6pyzl4Y4i0LZ3jMEsCYZ6zjPZbO9XkG91OSTd4si7g==} + engines: {node: '>=18'} dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 + '@xhmikosr/archive-type': 7.1.0 + '@xhmikosr/decompress': 10.2.1 + content-disposition: 0.5.4 + defaults: 2.0.2 + ext-name: 5.0.0 + file-type: 20.5.0 + filenamify: 6.0.0 + get-stream: 6.0.1 + got: 13.0.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color dev: true - /@ungap/structured-clone@1.3.1: - resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + /@xhmikosr/os-filter-obj@3.0.0: + resolution: {integrity: sha512-siPY6BD5dQ2SZPl3I0OZBHL27ZqZvLEosObsZRQ1NUB8qcxegwt0T9eKtV96JMFQpIz1elhkzqOg4c/Ri6Dp9A==} + engines: {node: ^14.14.0 || >=16.0.0} + dependencies: + arch: 3.0.0 dev: true /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.5.3 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + /@zkochan/js-yaml@0.0.7: + resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true dependencies: argparse: 2.0.1 @@ -4257,10 +4804,6 @@ packages: through: 2.3.8 dev: true - /abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - dev: true - /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -4269,13 +4812,6 @@ packages: negotiator: 0.6.3 dev: true - /acorn-globals@7.0.1: - resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - dependencies: - acorn: 8.8.2 - acorn-walk: 8.2.0 - dev: true - /acorn-jsx@5.3.2(acorn@8.17.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -4284,14 +4820,6 @@ packages: acorn: 8.17.0 dev: true - /acorn-jsx@5.3.2(acorn@8.8.2): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.8.2 - dev: true - /acorn-loose@8.3.0: resolution: {integrity: sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==} engines: {node: '>=0.4.0'} @@ -4320,9 +4848,9 @@ packages: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true - /address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} + /address@2.0.3: + resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==} + engines: {node: '>= 16.0.0'} dev: true /agent-base@6.0.2: @@ -4334,15 +4862,20 @@ packages: - supports-color dev: true - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + /agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + dev: true + + /ajv-formats@3.0.1(ajv@8.18.0): + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true dependencies: - ajv: 8.12.0 + ajv: 8.18.0 dev: true /ajv@6.12.6: @@ -4356,12 +4889,23 @@ packages: /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + requiresBuild: true dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 dev: true + optional: true + + /ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.2 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + dev: true /all-contributors-cli@6.24.0: resolution: {integrity: sha512-7oSKr2PnqxsOotuSwciltcFTS1eVRdjR0cn99hbElfff7gRQBShVhsf/XBprY41sLcgqTk0l0MKgKv6QNgZdMg==} @@ -4456,6 +5000,11 @@ packages: engines: {node: '>=12'} dev: true + /ansis@4.3.1: + resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} + engines: {node: '>=14'} + dev: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -4468,8 +5017,8 @@ packages: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} dev: true - /arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + /arch@3.0.0: + resolution: {integrity: sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==} dev: true /arg@4.1.3: @@ -4523,6 +5072,15 @@ packages: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true + /ast-kit@3.0.0: + resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} + engines: {node: ^22.18.0 || >=24.11.0} + dependencies: + '@babel/parser': 8.0.0 + estree-walker: 3.0.3 + pathe: 2.0.3 + dev: true + /ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -4555,19 +5113,19 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /autoprefixer@10.4.14(postcss@8.4.21): + /autoprefixer@10.4.14(postcss@8.5.15): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001464 + browserslist: 4.28.2 + caniuse-lite: 1.0.30001799 fraction.js: 4.2.0 normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.21 + picocolors: 1.1.1 + postcss: 8.5.15 postcss-value-parser: 4.2.0 dev: true @@ -4576,16 +5134,25 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@1.13.6: - resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + /axios@1.16.0: + resolution: {integrity: sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==} dependencies: follow-redirects: 1.16.0 form-data: 4.0.6 - proxy-from-env: 1.1.0 + proxy-from-env: 2.1.0 transitivePeerDependencies: - debug dev: true + /b4a@1.8.1: + resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + dev: true + /babel-helper-evaluate-path@0.5.0: resolution: {integrity: sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==} dev: true @@ -4614,19 +5181,37 @@ packages: resolution: {integrity: sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==} dev: true - /babel-jest@29.5.0(@babel/core@7.21.0): - resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /babel-jest@30.0.5(@babel/core@7.29.7): + resolution: {integrity: sha512-mRijnKimhGDMsizTvBTWotwNpzrkHr+VvZUQBof2AufXKB8NXrL1W69TG20EvOz7aevx6FTJIaBuBkYxS8zolg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.8.0 + '@babel/core': ^7.11.0 dependencies: - '@babel/core': 7.21.0 - '@jest/transform': 29.5.0 - '@types/babel__core': 7.20.0 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.5.0(@babel/core@7.21.0) + '@babel/core': 7.29.7 + '@jest/transform': 30.0.5 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 7.0.1 + babel-preset-jest: 30.0.1(@babel/core@7.29.7) chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-jest@30.4.1(@babel/core@7.29.7): + resolution: {integrity: sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + '@babel/core': ^7.11.0 || ^8.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@jest/transform': 30.4.1 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 7.0.1 + babel-preset-jest: 30.4.0(@babel/core@7.29.7) + chalk: 4.1.2 + graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color @@ -4638,42 +5223,49 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.29.7) - '@babel/traverse': 7.21.2 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + /babel-plugin-istanbul@7.0.1: + resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} + engines: {node: '>=12'} dependencies: - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.29.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 6.0.3 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-jest-hoist@29.5.0: - resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /babel-plugin-jest-hoist@30.0.1: + resolution: {integrity: sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 - '@types/babel__core': 7.20.0 - '@types/babel__traverse': 7.18.3 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + '@types/babel__core': 7.20.5 + dev: true + + /babel-plugin-jest-hoist@30.4.0: + resolution: {integrity: sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@types/babel__core': 7.20.5 dev: true - /babel-plugin-macros@2.8.0: - resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} + /babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} dependencies: '@babel/runtime': 7.29.7 - cosmiconfig: 6.0.0 - resolve: 1.22.1 + cosmiconfig: 7.1.0 + resolve: 1.22.12 dev: true /babel-plugin-minify-builtins@0.5.0: @@ -4789,10 +5381,6 @@ packages: - supports-color dev: true - /babel-plugin-transform-async-to-promises@0.8.18: - resolution: {integrity: sha512-WpOrF76nUHijnNn10eBGOHZmXQC8JYRME9rOLxStOga7Av2VO53ehVFvVNImMksVtQuL2/7ZNxEgxnx7oo/3Hw==} - dev: true - /babel-plugin-transform-inline-consecutive-adds@0.4.3: resolution: {integrity: sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==} dev: true @@ -4847,42 +5435,56 @@ packages: optional: true dependencies: '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.29.7 dev: true /babel-plugin-transform-undefined-to-void@6.9.4: resolution: {integrity: sha512-D2UbwxawEY1xVc9svYAUZQM2xarwSNXue2qDIx6CeV2EuMGaes/0su78zlIDIAgE7BvnMw4UpmSo9fDy+znghg==} dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.0): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + /babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7): + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) + dev: true + + /babel-preset-jest@30.0.1(@babel/core@7.29.7): + resolution: {integrity: sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.11.0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.0) - dev: true - - /babel-preset-jest@29.5.0(@babel/core@7.21.0): - resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@babel/core': 7.29.7 + babel-plugin-jest-hoist: 30.0.1 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) + dev: true + + /babel-preset-jest@30.4.0(@babel/core@7.29.7): + resolution: {integrity: sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.11.0 || ^8.0.0-beta.1 dependencies: - '@babel/core': 7.21.0 - babel-plugin-jest-hoist: 29.5.0 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.0) + '@babel/core': 7.29.7 + babel-plugin-jest-hoist: 30.4.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) dev: true /babel-preset-minify@0.5.2: @@ -4917,6 +5519,78 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /balanced-match@4.0.3: + resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} + engines: {node: 20 || >=22} + dev: true + + /bare-events@2.9.1: + resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + dev: true + + /bare-fs@4.7.2: + resolution: {integrity: sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + dependencies: + bare-events: 2.9.1 + bare-path: 3.0.1 + bare-stream: 2.13.3(bare-events@2.9.1) + bare-url: 2.4.5 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + dev: true + + /bare-os@3.9.1: + resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==} + engines: {bare: '>=1.14.0'} + dev: true + + /bare-path@3.0.1: + resolution: {integrity: sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==} + dependencies: + bare-os: 3.9.1 + dev: true + + /bare-stream@2.13.3(bare-events@2.9.1): + resolution: {integrity: sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==} + peerDependencies: + bare-abort-controller: '*' + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-buffer: + optional: true + bare-events: + optional: true + dependencies: + b4a: 1.8.1 + bare-events: 2.9.1 + streamx: 2.28.0 + teex: 1.0.1 + transitivePeerDependencies: + - react-native-b4a + dev: true + + /bare-url@2.4.5: + resolution: {integrity: sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==} + dependencies: + bare-path: 3.0.1 + dev: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -4938,21 +5612,13 @@ packages: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true - /bin-check@4.1.0: - resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} - engines: {node: '>=4'} - dependencies: - execa: 0.7.0 - executable: 4.1.1 - dev: true - - /bin-version-check@5.0.0: - resolution: {integrity: sha512-Q3FMQnS5eZmrBGqmDXLs4dbAn/f+52voP6ykJYmweSA60t6DyH4UTSwZhtbK5UH+LBoWvDljILUQMLRUtsynsA==} + /bin-version-check@5.1.0: + resolution: {integrity: sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==} engines: {node: '>=12'} dependencies: bin-version: 6.0.0 semver: 7.8.5 - semver-truncate: 2.0.0 + semver-truncate: 3.0.0 dev: true /bin-version@6.0.0: @@ -4963,6 +5629,10 @@ packages: find-versions: 5.1.0 dev: true + /birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + dev: true + /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -4999,10 +5669,6 @@ packages: - supports-color dev: true - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: true - /boxen@7.0.2: resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==} engines: {node: '>=14.16'} @@ -5030,6 +5696,13 @@ packages: balanced-match: 1.0.2 dev: true + /brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} + engines: {node: 18 || 20 || >=22} + dependencies: + balanced-match: 4.0.3 + dev: true + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -5037,15 +5710,11 @@ packages: fill-range: 7.0.1 dev: true - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} dependencies: - caniuse-lite: 1.0.30001464 - electron-to-chromium: 1.4.327 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) + fill-range: 7.1.1 dev: true /browserslist@4.28.2: @@ -5103,9 +5772,9 @@ packages: engines: {node: '>= 0.8'} dev: true - /cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + /cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} dev: true /cacheable-lookup@7.0.0: @@ -5126,19 +5795,6 @@ packages: responselike: 3.0.0 dev: true - /cacheable-request@7.0.2: - resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.2 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - dev: true - /cachedir@2.3.0: resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} @@ -5196,19 +5852,6 @@ packages: engines: {node: '>=14.16'} dev: true - /caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001464 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - dev: true - - /caniuse-lite@1.0.30001464: - resolution: {integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==} - dev: true - /caniuse-lite@1.0.30001799: resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} dev: true @@ -5249,8 +5892,13 @@ packages: engines: {node: '>=8'} dev: true - /cjs-module-lexer@1.2.2: - resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} + /ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer@2.2.0: + resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} dev: true /cli-boxes@3.0.0: @@ -5328,12 +5976,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: true - /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -5344,8 +5986,8 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /collect-v8-coverage@1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + /collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} dev: true /color-convert@1.9.3: @@ -5369,14 +6011,6 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - dev: true - - /colorette@1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} - dev: true - /columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} engines: {node: '>=8.0.0'} @@ -5392,9 +6026,9 @@ packages: delayed-stream: 1.0.0 dev: true - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} dev: true /commander@8.3.0: @@ -5402,24 +6036,21 @@ packages: engines: {node: '>= 12'} dev: true - /comment-json@4.2.5: - resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + /comment-json@5.0.0: + resolution: {integrity: sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==} engines: {node: '>= 6'} dependencies: array-timsort: 1.0.3 - core-util-is: 1.0.3 esprima: 4.0.1 - has-own-prop: 2.0.0 - repeat-string: 1.6.1 dev: true - /commitizen@4.3.0(@swc/core@1.3.107): + /commitizen@4.3.0(@swc/core@1.15.41): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@swc/core@1.3.107) + cz-conventional-changelog: 3.3.0(@swc/core@1.15.41) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -5731,14 +6362,14 @@ packages: dependencies: '@types/node': 18.19.130 cosmiconfig: 8.1.0 - ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@4.9.5) typescript: 4.9.5 dev: true optional: true - /cosmiconfig@6.0.0: - resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} - engines: {node: '>=8'} + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} dependencies: '@types/parse-json': 4.0.0 import-fresh: 3.3.0 @@ -5761,16 +6392,17 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + /cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} dependencies: path-key: 3.1.1 @@ -5785,137 +6417,32 @@ packages: type-fest: 1.4.0 dev: true - /css-declaration-sorter@6.3.1(postcss@8.4.21): - resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 - dependencies: - postcss: 8.4.21 - dev: true - - /css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - dev: true - - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - dev: true - - /css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - dev: true - /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true dev: true - /cssnano-preset-default@5.2.14(postcss@8.4.21): - resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.3.1(postcss@8.4.21) - cssnano-utils: 3.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-calc: 8.2.4(postcss@8.4.21) - postcss-colormin: 5.3.1(postcss@8.4.21) - postcss-convert-values: 5.1.3(postcss@8.4.21) - postcss-discard-comments: 5.1.2(postcss@8.4.21) - postcss-discard-duplicates: 5.1.0(postcss@8.4.21) - postcss-discard-empty: 5.1.1(postcss@8.4.21) - postcss-discard-overridden: 5.1.0(postcss@8.4.21) - postcss-merge-longhand: 5.1.7(postcss@8.4.21) - postcss-merge-rules: 5.1.4(postcss@8.4.21) - postcss-minify-font-values: 5.1.0(postcss@8.4.21) - postcss-minify-gradients: 5.1.1(postcss@8.4.21) - postcss-minify-params: 5.1.4(postcss@8.4.21) - postcss-minify-selectors: 5.2.1(postcss@8.4.21) - postcss-normalize-charset: 5.1.0(postcss@8.4.21) - postcss-normalize-display-values: 5.1.0(postcss@8.4.21) - postcss-normalize-positions: 5.1.1(postcss@8.4.21) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.21) - postcss-normalize-string: 5.1.0(postcss@8.4.21) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.21) - postcss-normalize-unicode: 5.1.1(postcss@8.4.21) - postcss-normalize-url: 5.1.0(postcss@8.4.21) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.21) - postcss-ordered-values: 5.1.3(postcss@8.4.21) - postcss-reduce-initial: 5.1.2(postcss@8.4.21) - postcss-reduce-transforms: 5.1.0(postcss@8.4.21) - postcss-svgo: 5.1.0(postcss@8.4.21) - postcss-unique-selectors: 5.1.1(postcss@8.4.21) - dev: true - - /cssnano-utils@3.1.0(postcss@8.4.21): - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - dev: true - - /cssnano@5.1.15(postcss@8.4.21): - resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.21) - lilconfig: 2.1.0 - postcss: 8.4.21 - yaml: 1.10.2 - dev: true - - /csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} - dependencies: - css-tree: 1.1.3 - dev: true - - /cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true - - /cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: true - - /cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} + /cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} + engines: {node: '>=18'} dependencies: - cssom: 0.3.8 + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 dev: true - /cz-conventional-changelog@3.3.0(@swc/core@1.3.107): + /cz-conventional-changelog@3.3.0(@swc/core@1.15.41): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@swc/core@1.3.107) + commitizen: 4.3.0(@swc/core@1.15.41) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.3 optionalDependencies: - '@commitlint/load': 17.4.4(@swc/core@1.3.107) + '@commitlint/load': 17.4.4(@swc/core@1.15.41) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -5948,13 +6475,12 @@ packages: engines: {node: '>= 12'} dev: true - /data-urls@3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} + /data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 dev: true /dateformat@3.0.3: @@ -5983,6 +6509,18 @@ packages: ms: 2.1.3 dev: true + /debug@4.3.1: + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -6020,8 +6558,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + /decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} dev: true /decompress-response@6.0.0: @@ -6035,6 +6573,15 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true + /dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true + /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -6049,12 +6596,22 @@ packages: engines: {node: '>=0.10.0'} dev: true + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true + /defaults@2.0.2: + resolution: {integrity: sha512-cuIw0PImdp76AOfgkjbW4VhQODRmNNcKR73vdCH5cLd/ifj7aamfoXvYgfGkEAjNJZ3ozMIy9Gu2LutUkGEPbA==} + engines: {node: '>=16'} + dev: true + /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -6073,6 +6630,10 @@ packages: object-keys: 1.1.1 dev: true + /defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + dev: true + /degenerator@3.0.2: resolution: {integrity: sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==} engines: {node: '>= 6'} @@ -6122,15 +6683,12 @@ packages: engines: {node: '>=8'} dev: true - /detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} + /detect-port@2.1.0: + resolution: {integrity: sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==} + engines: {node: '>= 16.0.0'} hasBin: true dependencies: - address: 1.2.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color + address: 2.0.3 dev: true /dezalgo@1.0.4: @@ -6144,11 +6702,6 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -6168,40 +6721,6 @@ packages: esutils: 2.0.3 dev: true - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - dev: true - - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true - - /domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - dependencies: - webidl-conversions: 7.0.0 - dev: true - - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: true - - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - dev: true - /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -6231,13 +6750,20 @@ packages: engines: {node: '>=12'} dev: true + /dotenv-expand@12.0.3: + resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} + engines: {node: '>=12'} + dependencies: + dotenv: 16.4.7 + dev: true + /dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} dev: true - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + /dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} dev: true @@ -6245,6 +6771,16 @@ packages: resolution: {integrity: sha512-4liA0PuRkZWQFQjwBypdxPfZaRWiv5tkhMXY2hzsa2pNf5s7U3m9cwUchfNKe8wZQxdGPQQzO6Rm2uGe0rvohQ==} dev: true + /dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + dev: true + /dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -6254,10 +6790,6 @@ packages: gopd: 1.2.0 dev: true - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true @@ -6270,16 +6802,10 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /ejs@3.1.8: - resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} - engines: {node: '>=0.10.0'} + /ejs@5.0.1: + resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} + engines: {node: '>=0.12.18'} hasBin: true - dependencies: - jake: 10.8.5 - dev: true - - /electron-to-chromium@1.4.327: - resolution: {integrity: sha512-DIk2H4g/3ZhjgiABJjVdQvUdMlSABOsjeCm6gmUzIdKxAuFrGiJ8QXMm3i09grZdDBMC/d8MELMrdwYRC0+YHg==} dev: true /electron-to-chromium@1.5.376: @@ -6299,13 +6825,18 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + engines: {node: '>=14'} + dev: true + /encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} dev: true - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + /end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} dependencies: once: 1.4.0 dev: true @@ -6317,15 +6848,16 @@ packages: ansi-colors: 4.1.3 dev: true - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: true - /entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true + /entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + dev: true + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -6399,6 +6931,13 @@ packages: stop-iteration-iterator: 1.0.0 dev: true + /es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + dev: true + /es-object-atoms@1.1.2: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} @@ -6486,21 +7025,8 @@ packages: source-map: 0.6.1 dev: true - /escodegen@2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - dev: true - - /eslint-config-prettier@9.1.2(eslint@8.57.1): - resolution: {integrity: sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==} + /eslint-config-prettier@10.1.8(eslint@8.57.1): + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -6521,6 +7047,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + dev: true + /eslint@8.57.1: resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6569,15 +7100,6 @@ packages: - supports-color dev: true - /espree@9.4.1: - resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.4.3 - dev: true - /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6600,6 +7122,13 @@ packages: estraverse: 5.3.0 dev: true + /esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -6617,14 +7146,16 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.9 + dev: true + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -6639,17 +7170,12 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true - /execa@0.7.0: - resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} - engines: {node: '>=4'} + /events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 + bare-events: 2.9.1 + transitivePeerDependencies: + - bare-abort-controller dev: true /execa@5.1.1: @@ -6682,15 +7208,8 @@ packages: strip-final-newline: 3.0.0 dev: true - /executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - dependencies: - pify: 2.3.0 - dev: true - - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + /exit-x@0.2.2: + resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==} engines: {node: '>= 0.8.0'} dev: true @@ -6701,15 +7220,28 @@ packages: homedir-polyfill: 1.0.3 dev: true - /expect@29.5.0: - resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /expect@30.0.5: + resolution: {integrity: sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/expect-utils': 30.0.5 + '@jest/get-type': 30.0.1 + jest-matcher-utils: 30.0.5 + jest-message-util: 30.0.5 + jest-mock: 30.0.5 + jest-util: 30.0.5 + dev: true + + /expect@30.4.1: + resolution: {integrity: sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/expect-utils': 29.5.0 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-util: 29.5.0 + '@jest/expect-utils': 30.4.1 + '@jest/get-type': 30.1.0 + jest-matcher-utils: 30.4.1 + jest-message-util: 30.4.1 + jest-mock: 30.4.1 + jest-util: 30.4.1 dev: true /express@4.22.1: @@ -6779,6 +7311,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + dev: true + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -6790,17 +7326,6 @@ packages: micromatch: 4.0.5 dev: true - /fast-glob@3.2.7: - resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} - engines: {node: '>=8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true @@ -6813,6 +7338,10 @@ packages: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} dev: true + /fast-uri@3.1.2: + resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + dev: true + /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: @@ -6822,7 +7351,19 @@ packages: /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: - bser: 2.1.1 + bser: 2.1.1 + dev: true + + /fdir@6.5.0(picomatch@4.0.4): + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + dependencies: + picomatch: 4.0.4 dev: true /fetch-blob@3.2.0: @@ -6866,17 +7407,20 @@ packages: flat-cache: 3.0.4 dev: true - /file-type@17.1.6: - resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /file-type@20.4.1: + resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} + engines: {node: '>=18'} dependencies: - readable-web-to-node-stream: 3.0.2 - strtok3: 7.0.0 - token-types: 5.0.1 + '@tokenizer/inflate': 0.2.7 + strtok3: 10.3.5 + token-types: 6.1.2 + uint8array-extras: 1.5.0 + transitivePeerDependencies: + - supports-color dev: true - /file-type@20.4.1: - resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} + /file-type@20.5.0: + resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} engines: {node: '>=18'} dependencies: '@tokenizer/inflate': 0.2.7 @@ -6892,24 +7436,16 @@ packages: engines: {node: '>= 6'} dev: true - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - dependencies: - minimatch: 5.1.6 - dev: true - /filename-reserved-regex@3.0.0: resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /filenamify@5.1.1: - resolution: {integrity: sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==} - engines: {node: '>=12.20'} + /filenamify@6.0.0: + resolution: {integrity: sha512-vqIlNogKeyD3yzrm0yhRMQg8hOVwYcYRfjEoODd49iCprMn4HL85gK3HcykQE53EPIpX3HcAbGA5ELQv216dAQ==} + engines: {node: '>=16'} dependencies: filename-reserved-regex: 3.0.0 - strip-outer: 2.0.0 - trim-repeated: 2.0.0 dev: true /fill-range@7.0.1: @@ -6919,6 +7455,13 @@ packages: to-regex-range: 5.0.1 dev: true + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + /finalhandler@1.3.2: resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} engines: {node: '>= 0.8'} @@ -7034,6 +7577,14 @@ packages: is-callable: 1.2.7 dev: true + /foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + dev: true + /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -7048,6 +7599,17 @@ packages: mime-types: 2.1.35 dev: true + /form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + dev: true + /form-data@4.0.6: resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} @@ -7111,20 +7673,11 @@ packages: universalify: 2.0.0 dev: true - /fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -7143,8 +7696,8 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /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 @@ -7245,18 +7798,6 @@ packages: es-object-atoms: 1.1.2 dev: true - /get-stream@3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - dev: true - - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -7270,6 +7811,17 @@ packages: get-intrinsic: 1.2.0 dev: true + /get-them-args@1.3.2: + resolution: {integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==} + dev: true + + /get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + /get-uri@3.0.2: resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} engines: {node: '>= 6'} @@ -7346,6 +7898,19 @@ packages: is-glob: 4.0.3 dev: true + /glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + dev: true + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -7405,11 +7970,6 @@ packages: which: 1.3.1 dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} @@ -7417,6 +7977,11 @@ packages: type-fest: 0.20.2 dev: true + /globals@17.6.0: + resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} + engines: {node: '>=18'} + dev: true + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} @@ -7424,20 +7989,6 @@ packages: define-properties: 1.2.0 dev: true - /globby@10.0.1: - resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==} - engines: {node: '>=8'} - dependencies: - '@types/glob': 7.2.0 - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - glob: 7.2.3 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -7472,26 +8023,26 @@ packages: engines: {node: '>= 0.4'} dev: true - /got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + /got@12.6.0: + resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} + engines: {node: '>=14.16'} dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.0 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.2 + '@sindresorhus/is': 5.3.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.8 decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.0 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 dev: true - /got@12.6.0: - resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} - engines: {node: '>=14.16'} + /got@13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} dependencies: '@sindresorhus/is': 5.3.0 '@szmarczak/http-timer': 5.0.1 @@ -7510,6 +8061,10 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -7527,6 +8082,19 @@ packages: uglify-js: 3.17.4 dev: true + /handlebars@4.7.9: + resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + dev: true + /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -7550,11 +8118,6 @@ packages: engines: {node: '>=8'} dev: true - /has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - dev: true - /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: @@ -7602,6 +8165,13 @@ packages: function-bind: 1.1.1 dev: true + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + /hasown@2.0.4: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} @@ -7626,6 +8196,10 @@ packages: parse-passwd: 1.0.0 dev: true + /hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} + dev: true + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -7637,13 +8211,6 @@ packages: lru-cache: 6.0.0 dev: true - /hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - lru-cache: 10.4.3 - dev: true - /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -7651,6 +8218,13 @@ packages: whatwg-encoding: 2.0.0 dev: true + /html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + dependencies: + whatwg-encoding: 3.1.1 + dev: true + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -7692,13 +8266,12 @@ packages: - supports-color dev: true - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4 + agent-base: 7.1.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color dev: true @@ -7737,14 +8310,6 @@ packages: - supports-color dev: true - /http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: true - /http2-wrapper@2.2.0: resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} engines: {node: '>=10.19.0'} @@ -7763,6 +8328,16 @@ packages: - supports-color dev: true + /https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + dev: true + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -7787,17 +8362,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-replace-symbols@1.1.0: - resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} - dev: true - - /icss-utils@5.1.0(postcss@8.4.21): + /icss-utils@5.1.0(postcss@8.5.15): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.5.15 dev: true /identity-obj-proxy@3.0.0: @@ -7821,11 +8392,9 @@ packages: engines: {node: '>= 4'} dev: true - /import-cwd@3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} - dependencies: - import-from: 3.0.0 + /ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} dev: true /import-fresh@3.3.0: @@ -7836,20 +8405,13 @@ packages: resolve-from: 4.0.0 dev: true - /import-from@3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - /import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} dev: true - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + /import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} engines: {node: '>=8'} hasBin: true dependencies: @@ -7857,6 +8419,11 @@ packages: resolve-cwd: 3.0.0 dev: true + /import-without-cache@0.4.0: + resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} + engines: {node: ^22.18.0 || >=24.0.0} + dev: true + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -7977,6 +8544,12 @@ packages: wrap-ansi: 8.1.0 dev: true + /inspect-with-kind@1.0.5: + resolution: {integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==} + dependencies: + kind-of: 6.0.3 + dev: true + /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -7991,6 +8564,11 @@ packages: engines: {node: '>= 0.10'} dev: true + /ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} + engines: {node: '>=4'} + dev: true + /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} dev: true @@ -8166,11 +8744,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-plain-object@3.0.1: - resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} - engines: {node: '>=0.10.0'} - dev: true - /is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -8183,7 +8756,7 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.9 dev: true /is-regex@1.1.4: @@ -8210,11 +8783,6 @@ packages: protocols: 2.0.1 dev: true - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -8271,6 +8839,10 @@ packages: engines: {node: '>=12'} dev: true + /is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + dev: true + /is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true @@ -8298,6 +8870,15 @@ packages: engines: {node: '>=12'} dev: true + /is2@2.0.1: + resolution: {integrity: sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==} + engines: {node: '>=v0.10.0'} + dependencies: + deep-is: 0.1.4 + ip-regex: 2.1.0 + is-url: 1.2.4 + dev: true + /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true @@ -8319,15 +8900,15 @@ packages: engines: {node: '>=8'} dev: true - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + /istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} dependencies: - '@babel/core': 7.21.0 - '@babel/parser': 7.21.2 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 7.8.5 transitivePeerDependencies: - supports-color dev: true @@ -8341,13 +8922,13 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + /istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 + '@jridgewell/trace-mapping': 0.3.31 + debug: 4.4.3 istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true @@ -8376,56 +8957,84 @@ packages: iterate-iterator: 1.0.2 dev: true - /jake@10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} - hasBin: true + /jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} dependencies: - async: 3.2.4 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 dev: true - /jest-changed-files@29.5.0: - resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-changed-files@30.0.5: + resolution: {integrity: sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: execa: 5.1.1 + jest-util: 30.0.5 p-limit: 3.1.0 dev: true - /jest-circus@29.5.0: - resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-circus@30.0.5: + resolution: {integrity: sha512-h/sjXEs4GS+NFFfqBDYT7y5Msfxh04EwWLhQi0F8kuWpe+J/7tICSlswU8qvBqumR3kFgHbfu7vU6qruWWBPug==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/expect': 29.5.0 - '@jest/test-result': 29.5.0 - '@jest/types': 29.5.0 + '@jest/environment': 30.0.5 + '@jest/expect': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 18.19.130 chalk: 4.1.2 co: 4.6.0 - dedent: 0.7.0 + dedent: 1.7.2 + is-generator-fn: 2.1.0 + jest-each: 30.0.5 + jest-matcher-utils: 30.0.5 + jest-message-util: 30.0.5 + jest-runtime: 30.0.5 + jest-snapshot: 30.0.5 + jest-util: 30.0.5 + p-limit: 3.1.0 + pretty-format: 30.0.5 + pure-rand: 7.0.1 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-circus@30.4.2: + resolution: {integrity: sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/environment': 30.4.1 + '@jest/expect': 30.4.1 + '@jest/test-result': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 18.19.130 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.7.2 is-generator-fn: 2.1.0 - jest-each: 29.5.0 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-runtime: 29.5.0 - jest-snapshot: 29.5.0 - jest-util: 29.5.0 + jest-each: 30.4.1 + jest-matcher-utils: 30.4.1 + jest-message-util: 30.4.1 + jest-runtime: 30.4.2 + jest-snapshot: 30.4.1 + jest-util: 30.4.1 p-limit: 3.1.0 - pretty-format: 29.5.0 - pure-rand: 6.0.0 + pretty-format: 30.4.1 + pure-rand: 7.0.1 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true - /jest-cli@29.5.0(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-cli@30.0.5(@types/node@18.19.130)(ts-node@10.9.1): + resolution: {integrity: sha512-Sa45PGMkBZzF94HMrlX4kUyPOwUpdZasaliKN3mifvDmkhLYqLLg8HQTzn6gq7vJGahFYMQjXgyJWfYImKZzOw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8433,194 +9042,339 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.5.0(ts-node@10.9.1) - '@jest/test-result': 29.5.0 - '@jest/types': 29.5.0 + '@jest/core': 30.0.5(ts-node@10.9.1) + '@jest/test-result': 30.0.5 + '@jest/types': 30.0.5 chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) - jest-util: 29.5.0 - jest-validate: 29.5.0 - prompts: 2.4.2 - yargs: 17.7.1 + exit-x: 0.2.2 + import-local: 3.2.0 + jest-config: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) + jest-util: 30.0.5 + jest-validate: 30.0.5 + yargs: 17.7.3 transitivePeerDependencies: - '@types/node' + - babel-plugin-macros + - esbuild-register - supports-color - ts-node dev: true - /jest-config@29.5.0(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-config@30.0.5(@types/node@18.19.130)(ts-node@10.9.1): + resolution: {integrity: sha512-aIVh+JNOOpzUgzUnPn5FLtyVnqc3TQHVMupYtyeURSb//iLColiMIR8TxCIDKyx9ZgjKnXGucuW68hCxgbrwmA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: '@types/node': '*' + esbuild-register: '>=3.4.0' ts-node: '>=9.0.0' peerDependenciesMeta: '@types/node': optional: true + esbuild-register: + optional: true ts-node: optional: true dependencies: - '@babel/core': 7.21.0 - '@jest/test-sequencer': 29.5.0 - '@jest/types': 29.5.0 + '@babel/core': 7.29.7 + '@jest/get-type': 30.0.1 + '@jest/pattern': 30.0.1 + '@jest/test-sequencer': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 18.19.130 - babel-jest: 29.5.0(@babel/core@7.21.0) + babel-jest: 30.0.5(@babel/core@7.29.7) chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.0 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 29.5.0 - jest-environment-node: 29.5.0 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.5.0 - jest-runner: 29.5.0 - jest-util: 29.5.0 - jest-validate: 29.5.0 - micromatch: 4.0.5 + ci-info: 4.4.0 + deepmerge: 4.3.1 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-circus: 30.0.5 + jest-docblock: 30.0.1 + jest-environment-node: 30.0.5 + jest-regex-util: 30.0.1 + jest-resolve: 30.0.5 + jest-runner: 30.0.5 + jest-util: 30.0.5 + jest-validate: 30.0.5 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 30.0.5 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-config@30.4.2(@types/node@18.19.130)(ts-node@10.9.1): + resolution: {integrity: sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + '@types/node': '*' + esbuild-register: '>=3.4.0' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + esbuild-register: + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.29.7 + '@jest/get-type': 30.1.0 + '@jest/pattern': 30.4.0 + '@jest/test-sequencer': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 18.19.130 + babel-jest: 30.4.1(@babel/core@7.29.7) + chalk: 4.1.2 + ci-info: 4.4.0 + deepmerge: 4.3.1 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-circus: 30.4.2 + jest-docblock: 30.4.0 + jest-environment-node: 30.4.1 + jest-regex-util: 30.4.0 + jest-resolve: 30.4.1 + jest-runner: 30.4.2 + jest-util: 30.4.1 + jest-validate: 30.4.1 parse-json: 5.2.0 - pretty-format: 29.5.0 + pretty-format: 30.4.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true - /jest-diff@29.5.0: - resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-diff@30.0.5: + resolution: {integrity: sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: + '@jest/diff-sequences': 30.0.1 + '@jest/get-type': 30.0.1 chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 + pretty-format: 30.0.5 dev: true - /jest-docblock@29.4.3: - resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-diff@30.4.1: + resolution: {integrity: sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/diff-sequences': 30.4.0 + '@jest/get-type': 30.1.0 + chalk: 4.1.2 + pretty-format: 30.4.1 + dev: true + + /jest-docblock@30.0.1: + resolution: {integrity: sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-docblock@30.4.0: + resolution: {integrity: sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: detect-newline: 3.1.0 dev: true - /jest-each@29.5.0: - resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-each@30.0.5: + resolution: {integrity: sha512-dKjRsx1uZ96TVyejD3/aAWcNKy6ajMaN531CwWIsrazIqIoXI9TnnpPlkrEYku/8rkS3dh2rbH+kMOyiEIv0xQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/get-type': 30.0.1 + '@jest/types': 30.0.5 chalk: 4.1.2 - jest-get-type: 29.4.3 - jest-util: 29.5.0 - pretty-format: 29.5.0 + jest-util: 30.0.5 + pretty-format: 30.0.5 dev: true - /jest-environment-jsdom@29.5.0: - resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-each@30.4.1: + resolution: {integrity: sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/get-type': 30.1.0 + '@jest/types': 30.4.1 + chalk: 4.1.2 + jest-util: 30.4.1 + pretty-format: 30.4.1 + dev: true + + /jest-environment-jsdom@30.0.5: + resolution: {integrity: sha512-BmnDEoAH+jEjkPrvE9DTKS2r3jYSJWlN/r46h0/DBUxKrkgt2jAZ5Nj4wXLAcV1KWkRpcFqA5zri9SWzJZ1cCg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - canvas: ^2.5.0 + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true dependencies: - '@jest/environment': 29.5.0 - '@jest/fake-timers': 29.5.0 - '@jest/types': 29.5.0 - '@types/jsdom': 20.0.1 + '@jest/environment': 30.0.5 + '@jest/environment-jsdom-abstract': 30.0.5(jsdom@26.1.0) + '@types/jsdom': 21.1.7 '@types/node': 18.19.130 - jest-mock: 29.5.0 - jest-util: 29.5.0 - jsdom: 20.0.3 + jsdom: 26.1.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: true - /jest-environment-node@29.5.0: - resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-environment-node@30.0.5: + resolution: {integrity: sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/environment': 30.0.5 + '@jest/fake-timers': 30.0.5 + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + jest-mock: 30.0.5 + jest-util: 30.0.5 + jest-validate: 30.0.5 + dev: true + + /jest-environment-node@30.4.1: + resolution: {integrity: sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/fake-timers': 29.5.0 - '@jest/types': 29.5.0 + '@jest/environment': 30.4.1 + '@jest/fake-timers': 30.4.1 + '@jest/types': 30.4.1 '@types/node': 18.19.130 - jest-mock: 29.5.0 - jest-util: 29.5.0 + jest-mock: 30.4.1 + jest-util: 30.4.1 + jest-validate: 30.4.1 dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-haste-map@30.0.5: + resolution: {integrity: sha512-dkmlWNlsTSR0nH3nRfW5BKbqHefLZv0/6LCccG0xFCTWcJu8TuEwG+5Cm75iBfjVoockmO6J35o5gxtFSn5xeg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 30.0.1 + jest-util: 30.0.5 + jest-worker: 30.0.5 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 dev: true - /jest-haste-map@29.5.0: - resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-haste-map@30.4.1: + resolution: {integrity: sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 - '@types/graceful-fs': 4.1.6 + '@jest/types': 30.4.1 '@types/node': 18.19.130 anymatch: 3.1.3 fb-watchman: 2.0.2 - graceful-fs: 4.2.10 - jest-regex-util: 29.4.3 - jest-util: 29.5.0 - jest-worker: 29.5.0 - micromatch: 4.0.5 + graceful-fs: 4.2.11 + jest-regex-util: 30.4.0 + jest-util: 30.4.1 + jest-worker: 30.4.1 + picomatch: 4.0.4 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 + dev: true + + /jest-leak-detector@30.0.5: + resolution: {integrity: sha512-3Uxr5uP8jmHMcsOtYMRB/zf1gXN3yUIc+iPorhNETG54gErFIiUhLvyY/OggYpSMOEYqsmRxmuU4ZOoX5jpRFg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/get-type': 30.0.1 + pretty-format: 30.0.5 dev: true - /jest-leak-detector@29.5.0: - resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-leak-detector@30.4.1: + resolution: {integrity: sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - jest-get-type: 29.4.3 - pretty-format: 29.5.0 + '@jest/get-type': 30.1.0 + pretty-format: 30.4.1 dev: true - /jest-matcher-utils@29.5.0: - resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-matcher-utils@30.0.5: + resolution: {integrity: sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: + '@jest/get-type': 30.0.1 chalk: 4.1.2 - jest-diff: 29.5.0 - jest-get-type: 29.4.3 - pretty-format: 29.5.0 + jest-diff: 30.0.5 + pretty-format: 30.0.5 dev: true - /jest-message-util@29.5.0: - resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-matcher-utils@30.4.1: + resolution: {integrity: sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@babel/code-frame': 7.18.6 - '@jest/types': 29.5.0 - '@types/stack-utils': 2.0.1 + '@jest/get-type': 30.1.0 chalk: 4.1.2 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - pretty-format: 29.5.0 + jest-diff: 30.4.1 + pretty-format: 30.4.1 + dev: true + + /jest-message-util@30.0.5: + resolution: {integrity: sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@babel/code-frame': 7.29.7 + '@jest/types': 30.0.5 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 30.0.5 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-message-util@30.4.1: + resolution: {integrity: sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@babel/code-frame': 7.29.7 + '@jest/types': 30.4.1 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-util: 30.4.1 + picomatch: 4.0.4 + pretty-format: 30.4.1 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-mock@29.5.0: - resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-mock@30.0.5: + resolution: {integrity: sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + jest-util: 30.0.5 + dev: true + + /jest-mock@30.4.1: + resolution: {integrity: sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 30.4.1 '@types/node': 18.19.130 - jest-util: 29.5.0 + jest-util: 30.4.1 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): + /jest-pnp-resolver@1.2.3(jest-resolve@30.0.5): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -8629,180 +9383,348 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 29.5.0 + jest-resolve: 30.0.5 dev: true - /jest-regex-util@29.4.3: - resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-pnp-resolver@1.2.3(jest-resolve@30.4.1): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 30.4.1 dev: true - /jest-resolve-dependencies@29.5.0: - resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-regex-util@30.0.1: + resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dev: true + + /jest-regex-util@30.4.0: + resolution: {integrity: sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dev: true + + /jest-resolve-dependencies@30.0.5: + resolution: {integrity: sha512-/xMvBR4MpwkrHW4ikZIWRttBBRZgWK4d6xt3xW1iRDSKt4tXzYkMkyPfBnSCgv96cpkrctfXs6gexeqMYqdEpw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - jest-regex-util: 29.4.3 - jest-snapshot: 29.5.0 + jest-regex-util: 30.0.1 + jest-snapshot: 30.0.5 transitivePeerDependencies: - supports-color dev: true - /jest-resolve@29.5.0: - resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-resolve@30.0.5: + resolution: {integrity: sha512-d+DjBQ1tIhdz91B79mywH5yYu76bZuE96sSbxj8MkjWVx5WNdt1deEFRONVL4UkKLSrAbMkdhb24XN691yDRHg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: chalk: 4.1.2 - graceful-fs: 4.2.10 - jest-haste-map: 29.5.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) - jest-util: 29.5.0 - jest-validate: 29.5.0 - resolve: 1.22.1 - resolve.exports: 2.0.1 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.5 + jest-pnp-resolver: 1.2.3(jest-resolve@30.0.5) + jest-util: 30.0.5 + jest-validate: 30.0.5 + slash: 3.0.0 + unrs-resolver: 1.12.2 + dev: true + + /jest-resolve@30.4.1: + resolution: {integrity: sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 30.4.1 + jest-pnp-resolver: 1.2.3(jest-resolve@30.4.1) + jest-util: 30.4.1 + jest-validate: 30.4.1 slash: 3.0.0 + unrs-resolver: 1.12.2 dev: true - /jest-runner@29.5.0: - resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-runner@30.0.5: + resolution: {integrity: sha512-JcCOucZmgp+YuGgLAXHNy7ualBx4wYSgJVWrYMRBnb79j9PD0Jxh0EHvR5Cx/r0Ce+ZBC4hCdz2AzFFLl9hCiw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/console': 29.5.0 - '@jest/environment': 29.5.0 - '@jest/test-result': 29.5.0 - '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 + '@jest/console': 30.0.5 + '@jest/environment': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 18.19.130 chalk: 4.1.2 emittery: 0.13.1 - graceful-fs: 4.2.10 - jest-docblock: 29.4.3 - jest-environment-node: 29.5.0 - jest-haste-map: 29.5.0 - jest-leak-detector: 29.5.0 - jest-message-util: 29.5.0 - jest-resolve: 29.5.0 - jest-runtime: 29.5.0 - jest-util: 29.5.0 - jest-watcher: 29.5.0 - jest-worker: 29.5.0 + exit-x: 0.2.2 + graceful-fs: 4.2.11 + jest-docblock: 30.0.1 + jest-environment-node: 30.0.5 + jest-haste-map: 30.0.5 + jest-leak-detector: 30.0.5 + jest-message-util: 30.0.5 + jest-resolve: 30.0.5 + jest-runtime: 30.0.5 + jest-util: 30.0.5 + jest-watcher: 30.0.5 + jest-worker: 30.0.5 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime@29.5.0: - resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-runner@30.4.2: + resolution: {integrity: sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/fake-timers': 29.5.0 - '@jest/globals': 29.5.0 - '@jest/source-map': 29.4.3 - '@jest/test-result': 29.5.0 - '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 + '@jest/console': 30.4.1 + '@jest/environment': 30.4.1 + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1 + '@jest/types': 30.4.1 '@types/node': 18.19.130 chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-haste-map: 29.5.0 - jest-message-util: 29.5.0 - jest-mock: 29.5.0 - jest-regex-util: 29.4.3 - jest-resolve: 29.5.0 - jest-snapshot: 29.5.0 - jest-util: 29.5.0 + emittery: 0.13.1 + exit-x: 0.2.2 + graceful-fs: 4.2.11 + jest-docblock: 30.4.0 + jest-environment-node: 30.4.1 + jest-haste-map: 30.4.1 + jest-leak-detector: 30.4.1 + jest-message-util: 30.4.1 + jest-resolve: 30.4.1 + jest-runtime: 30.4.2 + jest-util: 30.4.1 + jest-watcher: 30.4.1 + jest-worker: 30.4.1 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime@30.0.5: + resolution: {integrity: sha512-7oySNDkqpe4xpX5PPiJTe5vEa+Ak/NnNz2bGYZrA1ftG3RL3EFlHaUkA1Cjx+R8IhK0Vg43RML5mJedGTPNz3A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/environment': 30.0.5 + '@jest/fake-timers': 30.0.5 + '@jest/globals': 30.0.5 + '@jest/source-map': 30.0.1 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + chalk: 4.1.2 + cjs-module-lexer: 2.2.0 + collect-v8-coverage: 1.0.3 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.5 + jest-message-util: 30.0.5 + jest-mock: 30.0.5 + jest-regex-util: 30.0.1 + jest-resolve: 30.0.5 + jest-snapshot: 30.0.5 + jest-util: 30.0.5 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /jest-snapshot@29.5.0: - resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-runtime@30.4.2: + resolution: {integrity: sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@babel/core': 7.21.0 - '@babel/generator': 7.21.1 - '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.0) - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.0) - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - '@jest/expect-utils': 29.5.0 - '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 - '@types/babel__traverse': 7.18.3 - '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.0) + '@jest/environment': 30.4.1 + '@jest/fake-timers': 30.4.1 + '@jest/globals': 30.4.1 + '@jest/source-map': 30.0.1 + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 18.19.130 chalk: 4.1.2 - expect: 29.5.0 - graceful-fs: 4.2.10 - jest-diff: 29.5.0 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.5.0 - jest-message-util: 29.5.0 - jest-util: 29.5.0 - natural-compare: 1.4.0 - pretty-format: 29.5.0 + cjs-module-lexer: 2.2.0 + collect-v8-coverage: 1.0.3 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-haste-map: 30.4.1 + jest-message-util: 30.4.1 + jest-mock: 30.4.1 + jest-regex-util: 30.4.0 + jest-resolve: 30.4.1 + jest-snapshot: 30.4.1 + jest-util: 30.4.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot@30.0.5: + resolution: {integrity: sha512-T00dWU/Ek3LqTp4+DcW6PraVxjk28WY5Ua/s+3zUKSERZSNyxTqhDXCWKG5p2HAJ+crVQ3WJ2P9YVHpj1tkW+g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + '@jest/expect-utils': 30.0.5 + '@jest/get-type': 30.0.1 + '@jest/snapshot-utils': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) + chalk: 4.1.2 + expect: 30.0.5 + graceful-fs: 4.2.11 + jest-diff: 30.0.5 + jest-matcher-utils: 30.0.5 + jest-message-util: 30.0.5 + jest-util: 30.0.5 + pretty-format: 30.0.5 + semver: 7.8.5 + synckit: 0.11.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot@30.4.1: + resolution: {integrity: sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + '@jest/expect-utils': 30.4.1 + '@jest/get-type': 30.1.0 + '@jest/snapshot-utils': 30.4.1 + '@jest/transform': 30.4.1 + '@jest/types': 30.4.1 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) + chalk: 4.1.2 + expect: 30.4.1 + graceful-fs: 4.2.11 + jest-diff: 30.4.1 + jest-matcher-utils: 30.4.1 + jest-message-util: 30.4.1 + jest-util: 30.4.1 + pretty-format: 30.4.1 semver: 7.8.5 + synckit: 0.11.13 transitivePeerDependencies: - supports-color dev: true - /jest-util@29.5.0: - resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-util@30.0.5: + resolution: {integrity: sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 30.0.5 '@types/node': 18.19.130 chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.10 - picomatch: 2.3.1 + ci-info: 4.4.0 + graceful-fs: 4.2.11 + picomatch: 4.0.4 + dev: true + + /jest-util@30.4.1: + resolution: {integrity: sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/types': 30.4.1 + '@types/node': 18.19.130 + chalk: 4.1.2 + ci-info: 4.4.0 + graceful-fs: 4.2.11 + picomatch: 4.0.4 + dev: true + + /jest-validate@30.0.5: + resolution: {integrity: sha512-ouTm6VFHaS2boyl+k4u+Qip4TSH7Uld5tyD8psQ8abGgt2uYYB8VwVfAHWHjHc0NWmGGbwO5h0sCPOGHHevefw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/get-type': 30.0.1 + '@jest/types': 30.0.5 + camelcase: 6.3.0 + chalk: 4.1.2 + leven: 3.1.0 + pretty-format: 30.0.5 dev: true - /jest-validate@29.5.0: - resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-validate@30.4.1: + resolution: {integrity: sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/get-type': 30.1.0 + '@jest/types': 30.4.1 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 29.4.3 leven: 3.1.0 - pretty-format: 29.5.0 + pretty-format: 30.4.1 + dev: true + + /jest-watcher@30.0.5: + resolution: {integrity: sha512-z9slj/0vOwBDBjN3L4z4ZYaA+pG56d6p3kTUhFRYGvXbXMWhXmb/FIxREZCD06DYUwDKKnj2T80+Pb71CQ0KEg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/test-result': 30.0.5 + '@jest/types': 30.0.5 + '@types/node': 18.19.130 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 30.0.5 + string-length: 4.0.2 dev: true - /jest-watcher@29.5.0: - resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-watcher@30.4.1: + resolution: {integrity: sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/test-result': 29.5.0 - '@jest/types': 29.5.0 + '@jest/test-result': 30.4.1 + '@jest/types': 30.4.1 '@types/node': 18.19.130 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 29.5.0 + jest-util: 30.4.1 string-length: 4.0.2 dev: true - /jest-worker@29.5.0: - resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-worker@30.0.5: + resolution: {integrity: sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@types/node': 18.19.130 + '@ungap/structured-clone': 1.3.1 + jest-util: 30.0.5 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest-worker@30.4.1: + resolution: {integrity: sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@types/node': 18.19.130 - jest-util: 29.5.0 + '@ungap/structured-clone': 1.3.1 + jest-util: 30.4.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.5.0(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest@30.0.5(@types/node@18.19.130)(ts-node@10.9.1): + resolution: {integrity: sha512-y2mfcJywuTUkvLm2Lp1/pFX8kTgMO5yyQGq/Sk/n2mN7XWYp4JsCZ/QXW34M8YScgk8bPZlREH04f6blPnoHnQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8810,12 +9732,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.5.0(ts-node@10.9.1) - '@jest/types': 29.5.0 - import-local: 3.1.0 - jest-cli: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) + '@jest/core': 30.0.5(ts-node@10.9.1) + '@jest/types': 30.0.5 + import-local: 3.2.0 + jest-cli: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' + - babel-plugin-macros + - esbuild-register - supports-color - ts-node dev: true @@ -8839,58 +9763,41 @@ packages: argparse: 2.0.1 dev: true - /jsdom@20.0.3: - resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} - engines: {node: '>=14'} + /jsdom@26.1.0: + resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} + engines: {node: '>=18'} peerDependencies: - canvas: ^2.5.0 + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true dependencies: - abab: 2.0.6 - acorn: 8.8.2 - acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 - decimal.js: 10.4.3 - domexception: 4.0.0 - escodegen: 2.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 + cssstyle: 4.6.0 + data-urls: 5.0.0 + decimal.js: 10.6.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.2 - parse5: 7.1.2 + nwsapi: 2.2.24 + parse5: 7.3.0 + rrweb-cssom: 0.8.0 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.2 - w3c-xmlserializer: 4.0.0 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - ws: 8.12.1 - xml-name-validator: 4.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.21.0 + xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: true - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - /jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -8944,9 +9851,9 @@ packages: resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.2 + acorn: 8.17.0 eslint-visitor-keys: 3.4.3 - espree: 9.4.1 + espree: 9.6.1 semver: 7.8.5 dev: true @@ -8954,10 +9861,6 @@ packages: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - /jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} dev: true @@ -8965,7 +9868,7 @@ packages: /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: @@ -8973,7 +9876,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonparse@1.3.1: @@ -8987,16 +9890,19 @@ packages: json-buffer: 3.0.1 dev: true + /kill-port@1.6.1: + resolution: {integrity: sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==} + hasBin: true + dependencies: + get-them-args: 1.3.2 + shell-exec: 1.0.2 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} dev: true - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - /latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} @@ -9025,11 +9931,6 @@ packages: type-check: 0.4.0 dev: true - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: true - /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true @@ -9043,7 +9944,7 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -9126,7 +10027,9 @@ packages: /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + requiresBuild: true dev: true + optional: true /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -9153,11 +10056,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true - /lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9167,13 +10065,6 @@ packages: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} dev: true - /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - dev: true - /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -9192,11 +10083,10 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} - engines: {node: '>=12'} + /magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.5.5 dev: true /magic-string@0.30.21: @@ -9205,18 +10095,11 @@ packages: '@jridgewell/sourcemap-codec': 1.5.5 dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - dev: true - /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.3.0 + semver: 6.3.1 dev: true /make-error@1.3.6: @@ -9244,10 +10127,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - dev: true - /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -9300,6 +10179,14 @@ packages: picomatch: 2.3.1 dev: true + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + /mikro-orm@5.6.13: resolution: {integrity: sha512-AH5XSDREChcrpKTWqy5zgPlX8tE4+kSw/GKv7D5ZtiH8MVnq4vrNEB0OvD+DKPzj2RlT/sp9Gjnlw4U80CAp0g==} engines: {node: '>= 14.0.0'} @@ -9344,11 +10231,6 @@ packages: engines: {node: '>=12'} dev: true - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true - /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -9369,6 +10251,13 @@ packages: hasBin: true dev: true + /minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + dependencies: + brace-expansion: 5.0.6 + dev: true + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -9382,13 +10271,6 @@ packages: brace-expansion: 2.1.1 dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.1.1 - dev: true - /minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -9413,6 +10295,11 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true + /minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -9468,12 +10355,18 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.13: + resolution: {integrity: sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true + /napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + dev: true + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -9529,14 +10422,6 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - dev: true - - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - /node-releases@2.0.48: resolution: {integrity: sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==} engines: {node: '>=18'} @@ -9571,33 +10456,11 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true - /normalize-url@8.0.0: resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} engines: {node: '>=14.16'} 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.2 - proc-log: 3.0.0 - semver: 7.8.5 - validate-npm-package-name: 5.0.1 - dev: true - - /npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -9612,75 +10475,145 @@ packages: path-key: 4.0.0 dev: true - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - dependencies: - boolbase: 1.0.0 - dev: true - - /nwsapi@2.2.2: - resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} + /nwsapi@2.2.24: + resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} dev: true - /nx@19.0.0(@swc/core@1.3.107): - resolution: {integrity: sha512-+9gykv680iCeF7W+8FtQpeS0Z2NOIyBbvKZv4J3XQq+6g+2fHXicSmsurx2z1VmaRZlOZPH32SbKk+4GNcwJCg==} + /nx@22.7.5(@swc/core@1.15.41): + resolution: {integrity: sha512-zoxsJabb33jl1QYnalDn0bicryrEBgSzdKp90d7VGGv/jDgzKrcLg/hw2ZxeYiOjWPIT/o8QNT9G9vTs4dv3AQ==} hasBin: true requiresBuild: true peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 + '@swc-node/register': ^1.11.1 + '@swc/core': ^1.15.8 peerDependenciesMeta: '@swc-node/register': optional: true '@swc/core': optional: true dependencies: - '@nrwl/tao': 19.0.0(@swc/core@1.3.107) - '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 + '@emnapi/wasi-threads': 1.0.4 + '@jest/diff-sequences': 30.0.1 + '@napi-rs/wasm-runtime': 0.2.4 + '@swc/core': 1.15.41(@swc/helpers@0.5.23) + '@tybys/wasm-util': 0.9.0 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.46 - '@zkochan/js-yaml': 0.0.6 - axios: 1.13.6 + '@zkochan/js-yaml': 0.0.7 + ansi-colors: 4.1.3 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + argparse: 2.0.1 + asynckit: 0.4.0 + axios: 1.16.0 + balanced-match: 4.0.3 + base64-js: 1.5.1 + bl: 4.1.0 + brace-expansion: 5.0.6 + buffer: 5.7.1 + call-bind-apply-helpers: 1.0.2 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 + clone: 1.0.4 + color-convert: 2.0.1 + color-name: 1.1.4 + combined-stream: 1.0.8 + defaults: 1.0.4 + define-lazy-prop: 2.0.0 + delayed-stream: 1.0.0 + dotenv: 16.4.7 + dotenv-expand: 12.0.3 + dunder-proto: 1.0.1 + ejs: 5.0.1 + emoji-regex: 8.0.0 + end-of-stream: 1.4.5 enquirer: 2.3.6 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + escalade: 3.2.0 + escape-string-regexp: 1.0.5 figures: 3.2.0 flat: 5.0.2 - fs-extra: 11.3.4 - ignore: 5.2.4 - jest-diff: 29.5.0 - js-yaml: 4.1.0 + follow-redirects: 1.16.0 + form-data: 4.0.5 + fs-constants: 1.0.0 + function-bind: 1.1.2 + get-caller-file: 2.0.5 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + has-flag: 4.0.0 + has-symbols: 1.1.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + ieee754: 1.2.1 + ignore: 7.0.5 + inherits: 2.0.4 + is-docker: 2.2.1 + is-fullwidth-code-point: 3.0.0 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + is-wsl: 2.2.0 + json5: 2.2.3 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 - minimatch: 9.0.3 - node-machine-id: 1.1.12 + log-symbols: 4.1.0 + math-intrinsics: 1.1.0 + mime-db: 1.52.0 + mime-types: 2.1.35 + mimic-fn: 2.1.0 + minimatch: 10.2.5 + minimist: 1.2.8 npm-run-path: 4.0.1 + once: 1.4.0 + onetime: 5.1.2 open: 8.4.2 ora: 5.3.0 - semver: 7.8.5 + path-key: 3.1.1 + picocolors: 1.1.1 + proxy-from-env: 2.1.0 + readable-stream: 3.6.2 + require-directory: 2.1.1 + resolve.exports: 2.0.3 + restore-cursor: 3.1.0 + safe-buffer: 5.2.1 + semver: 7.7.4 + signal-exit: 3.0.7 + smol-toml: 1.6.1 string-width: 4.2.3 - strong-log-transformer: 2.1.0 + string_decoder: 1.3.0 + strip-ansi: 6.0.1 + strip-bom: 3.0.0 + supports-color: 7.2.0 tar-stream: 2.2.0 - tmp: 0.2.1 - tsconfig-paths: 4.1.2 - tslib: 2.5.3 - yargs: 17.7.1 + tmp: 0.2.6 + tree-kill: 1.2.2 + tsconfig-paths: 4.2.0 + tslib: 2.8.1 + util-deprecate: 1.0.2 + wcwidth: 1.0.1 + wrap-ansi: 7.0.0 + wrappy: 1.0.2 + y18n: 5.0.8 + yaml: 2.9.0 + yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 19.0.0 - '@nx/nx-darwin-x64': 19.0.0 - '@nx/nx-freebsd-x64': 19.0.0 - '@nx/nx-linux-arm-gnueabihf': 19.0.0 - '@nx/nx-linux-arm64-gnu': 19.0.0 - '@nx/nx-linux-arm64-musl': 19.0.0 - '@nx/nx-linux-x64-gnu': 19.0.0 - '@nx/nx-linux-x64-musl': 19.0.0 - '@nx/nx-win32-arm64-msvc': 19.0.0 - '@nx/nx-win32-x64-msvc': 19.0.0 + '@nx/nx-darwin-arm64': 22.7.5 + '@nx/nx-darwin-x64': 22.7.5 + '@nx/nx-freebsd-x64': 22.7.5 + '@nx/nx-linux-arm-gnueabihf': 22.7.5 + '@nx/nx-linux-arm64-gnu': 22.7.5 + '@nx/nx-linux-arm64-musl': 22.7.5 + '@nx/nx-linux-x64-gnu': 22.7.5 + '@nx/nx-linux-x64-musl': 22.7.5 + '@nx/nx-win32-arm64-msvc': 22.7.5 + '@nx/nx-win32-x64-msvc': 22.7.5 transitivePeerDependencies: - debug dev: true @@ -9714,6 +10647,11 @@ packages: object-keys: 1.1.1 dev: true + /obug@2.1.3: + resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} + engines: {node: '>=12.20.0'} + dev: true + /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -9830,13 +10768,6 @@ packages: wcwidth: 1.0.1 dev: true - /os-filter-obj@2.0.0: - resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} - engines: {node: '>=4'} - dependencies: - arch: 2.2.0 - dev: true - /os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -9855,21 +10786,11 @@ packages: engines: {node: '>=0.10.0'} dev: true - /p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - dev: true - /p-cancelable@3.0.0: resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} engines: {node: '>=12.20'} dev: true - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - /p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -9912,21 +10833,6 @@ packages: p-limit: 3.1.0 dev: true - /p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} - dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 - dev: true - - /p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - dependencies: - p-finally: 1.0.0 - dev: true - /p-try@1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} @@ -9963,6 +10869,10 @@ packages: netmask: 2.0.2 dev: true + /package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + dev: true + /package-json@8.1.0: resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==} engines: {node: '>=14.16'} @@ -10021,6 +10931,12 @@ packages: entities: 4.4.0 dev: true + /parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + dependencies: + entities: 6.0.1 + dev: true + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -10041,11 +10957,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true - /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -10060,6 +10971,14 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true + /path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + dev: true + /path-to-regexp@0.1.13: resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} dev: true @@ -10080,9 +10999,8 @@ packages: engines: {node: '>=8'} dev: true - /peek-readable@5.0.0: - resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} - engines: {node: '>=14.16'} + /pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} dev: true /pegjs@0.10.0: @@ -10091,12 +11009,12 @@ packages: hasBin: true dev: true - /pg-connection-string@2.5.0: - resolution: {integrity: sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==} + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /pg-connection-string@2.5.0: + resolution: {integrity: sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==} dev: true /picocolors@1.1.1: @@ -10108,11 +11026,6 @@ packages: engines: {node: '>=8.6'} dev: true - /picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} - engines: {node: '>=12'} - dev: true - /picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} @@ -10133,8 +11046,8 @@ packages: engines: {node: '>=10'} dev: true - /pirates@4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + /pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} dev: true @@ -10167,382 +11080,82 @@ packages: - supports-color dev: true - /postcss-calc@8.2.4(postcss@8.4.21): - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} - peerDependencies: - postcss: ^8.2.2 - dependencies: - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-colormin@5.3.1(postcss@8.4.21): - resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-convert-values@5.1.3(postcss@8.4.21): - resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-discard-comments@5.1.2(postcss@8.4.21): - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - dev: true - - /postcss-discard-duplicates@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - dev: true - - /postcss-discard-empty@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - dev: true - - /postcss-discard-overridden@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - dev: true - - /postcss-load-config@3.1.4(postcss@8.4.21)(ts-node@10.9.1): - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - postcss: 8.4.21 - ts-node: 10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5) - yaml: 1.10.2 - dev: true - - /postcss-merge-longhand@5.1.7(postcss@8.4.21): - resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.21) - dev: true - - /postcss-merge-rules@5.1.4(postcss@8.4.21): - resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-minify-font-values@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-gradients@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-params@5.1.4(postcss@8.4.21): - resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - cssnano-utils: 3.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-selectors@5.2.1(postcss@8.4.21): - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): - resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + /postcss-modules-extract-imports@3.1.0(postcss@8.5.15): + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.5.15 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): - resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + /postcss-modules-local-by-default@4.2.0(postcss@8.5.15): + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-selector-parser: 7.1.4 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.21): - resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + /postcss-modules-scope@3.2.1(postcss@8.5.15): + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 + postcss: 8.5.15 + postcss-selector-parser: 7.1.4 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.21): + /postcss-modules-values@4.0.0(postcss@8.5.15): 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.21) - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 dev: true - /postcss-modules@4.3.1(postcss@8.4.21): - resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} + /postcss-modules@6.0.1(postcss@8.5.15): + resolution: {integrity: sha512-zyo2sAkVvuZFFy0gc2+4O+xar5dYlaVy/ebO24KT0ftk/iJevSNyPyQellsBLlnccwh7f6V6Y4GvuKRYToNgpQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-replace-symbols: 1.1.0 + icss-utils: 5.1.0(postcss@8.5.15) lodash.camelcase: 4.3.0 - postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) - postcss-modules-scope: 3.0.0(postcss@8.4.21) - postcss-modules-values: 4.0.0(postcss@8.4.21) + postcss: 8.5.15 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.15) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.15) + postcss-modules-scope: 3.2.1(postcss@8.5.15) + postcss-modules-values: 4.0.0(postcss@8.5.15) string-hash: 1.1.3 dev: true - /postcss-normalize-charset@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - dev: true - - /postcss-normalize-display-values@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-positions@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-string@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-unicode@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-url@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - normalize-url: 6.1.0 - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-whitespace@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-ordered-values@5.1.3(postcss@8.4.21): - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 3.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-reduce-initial@5.1.2(postcss@8.4.21): - resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - postcss: 8.4.21 - dev: true - - /postcss-reduce-transforms@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + /postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-svgo@5.1.0(postcss@8.4.21): - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - svgo: 2.8.0 - dev: true - - /postcss-unique-selectors@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 - dev: true - /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 + nanoid: 3.3.13 + picocolors: 1.1.1 + source-map-js: 1.2.1 dev: true /prelude-ls@1.1.2: @@ -10561,18 +11174,23 @@ packages: hasBin: true dev: true - /pretty-format@29.5.0: - resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /pretty-format@30.0.5: + resolution: {integrity: sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/schemas': 29.4.3 + '@jest/schemas': 30.0.5 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 dev: true - /proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /pretty-format@30.4.1: + resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + dependencies: + '@jest/schemas': 30.4.1 + ansi-styles: 5.2.0 + react-is-18: /react-is@18.3.1 + react-is-19: /react-is@19.2.7 dev: true /process-nextick-args@2.0.1: @@ -10591,19 +11209,6 @@ packages: iterate-value: 1.0.2 dev: true - /promise.series@0.2.0: - resolution: {integrity: sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==} - engines: {node: '>=0.12'} - dev: true - - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: true - /proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: true @@ -10640,19 +11245,9 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - dev: true - - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: true - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 + /proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} dev: true /punycode@2.3.0: @@ -10660,6 +11255,11 @@ packages: engines: {node: '>=6'} dev: true + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + /pupa@3.1.0: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} @@ -10667,8 +11267,8 @@ packages: escape-goat: 4.0.0 dev: true - /pure-rand@6.0.0: - resolution: {integrity: sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw==} + /pure-rand@7.0.1: + resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} dev: true /q@1.5.1: @@ -10690,8 +11290,8 @@ packages: side-channel: 1.1.1 dev: true - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + /quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} dev: true /queue-microtask@1.2.3: @@ -10743,8 +11343,12 @@ packages: strip-json-comments: 2.0.1 dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true + + /react-is@19.2.7: + resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} dev: true /read-pkg-up@3.0.0: @@ -10813,11 +11417,13 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-web-to-node-stream@3.0.2: - resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} - engines: {node: '>=8'} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: - readable-stream: 3.6.1 + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 dev: true /rechoir@0.6.2: @@ -10839,13 +11445,6 @@ packages: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: true - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - dev: true - /regenerate-unicode-properties@10.2.2: resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} @@ -10870,18 +11469,6 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpu-core@5.3.1: - resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==} - engines: {node: '>=4'} - dependencies: - '@babel/regjsgen': 0.8.0 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 - regjsparser: 0.9.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 - dev: true - /regexpu-core@6.4.0: resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} @@ -10916,14 +11503,7 @@ packages: resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true dependencies: - jsesc: 3.1.0 - dev: true - - /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - dependencies: - jsesc: 0.5.0 + jsesc: 3.1.0 dev: true /release-it@15.8.0: @@ -10962,11 +11542,6 @@ packages: - supports-color dev: true - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -11023,13 +11598,12 @@ packages: dev: true optional: true - /resolve.exports@1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} - engines: {node: '>=10'} + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve.exports@2.0.1: - resolution: {integrity: sha512-OEJWVeimw8mgQuj3HfkNl4KqRevH7lzeQNaWRPfx0PPse7Jk6ozcsG4FKVgtzDsC1KUF+YlTHh17NcgHOPykLw==} + /resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} dev: true @@ -11053,12 +11627,6 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - dependencies: - lowercase-keys: 2.0.0 - dev: true - /responselike@3.0.0: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} engines: {node: '>=14.16'} @@ -11119,39 +11687,62 @@ packages: glob: 7.2.3 dev: true - /rollup-plugin-copy@3.5.0: - resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==} - engines: {node: '>=8.3'} + /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@5.4.5): + resolution: {integrity: sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==} + engines: {node: ^22.18.0 || >=24.11.0} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20260325.1' + rolldown: ^1.0.0 + typescript: ^5.0.0 || ^6.0.0 + vue-tsc: ~3.2.0 || ~3.3.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true dependencies: - '@types/fs-extra': 8.1.2 - colorette: 1.4.0 - fs-extra: 8.1.0 - globby: 10.0.1 - is-plain-object: 3.0.1 + '@babel/generator': 8.0.0 + '@babel/helper-validator-identifier': 8.0.2 + '@babel/parser': 8.0.0 + ast-kit: 3.0.0 + birpc: 4.0.0 + dts-resolver: 3.0.0 + get-tsconfig: 5.0.0-beta.5 + obug: 2.1.3 + rolldown: 1.1.2 + typescript: 5.4.5 + transitivePeerDependencies: + - oxc-resolver dev: true - /rollup-plugin-postcss@4.0.2(postcss@8.4.21)(ts-node@10.9.1): - resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==} - engines: {node: '>=10'} - peerDependencies: - postcss: 8.x + /rolldown@1.1.2: + resolution: {integrity: sha512-x0CrQQqCXWGeI8dTvFfN/Dnv3yMKT9hv5jFjlOreKAx9wqLq9wz7VvLLHyaAXC90/CpggTu9SisSbsJJTPSjNQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true dependencies: - chalk: 4.1.2 - concat-with-sourcemaps: 1.1.0 - cssnano: 5.1.15(postcss@8.4.21) - import-cwd: 3.0.0 - p-queue: 6.6.2 - pify: 5.0.0 - postcss: 8.4.21 - postcss-load-config: 3.1.4(postcss@8.4.21)(ts-node@10.9.1) - postcss-modules: 4.3.1(postcss@8.4.21) - promise.series: 0.2.0 - resolve: 1.22.1 - rollup-pluginutils: 2.8.2 - safe-identifier: 0.4.2 - style-inject: 0.3.0 - transitivePeerDependencies: - - ts-node + '@oxc-project/types': 0.137.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.1.2 + '@rolldown/binding-darwin-arm64': 1.1.2 + '@rolldown/binding-darwin-x64': 1.1.2 + '@rolldown/binding-freebsd-x64': 1.1.2 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.2 + '@rolldown/binding-linux-arm64-gnu': 1.1.2 + '@rolldown/binding-linux-arm64-musl': 1.1.2 + '@rolldown/binding-linux-ppc64-gnu': 1.1.2 + '@rolldown/binding-linux-s390x-gnu': 1.1.2 + '@rolldown/binding-linux-x64-gnu': 1.1.2 + '@rolldown/binding-linux-x64-musl': 1.1.2 + '@rolldown/binding-openharmony-arm64': 1.1.2 + '@rolldown/binding-wasm32-wasi': 1.1.2 + '@rolldown/binding-win32-arm64-msvc': 1.1.2 + '@rolldown/binding-win32-x64-msvc': 1.1.2 dev: true /rollup-plugin-typescript2@0.36.0(rollup@4.62.2)(typescript@5.4.5): @@ -11169,12 +11760,6 @@ packages: typescript: 5.4.5 dev: true - /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - /rollup@4.62.2: resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -11207,7 +11792,11 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.62.2 '@rollup/rollup-win32-x64-gnu': 4.62.2 '@rollup/rollup-win32-x64-msvc': 4.62.2 - fsevents: 2.3.2 + fsevents: 2.3.3 + dev: true + + /rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} dev: true /run-async@2.4.1: @@ -11248,10 +11837,6 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-identifier@0.4.2: - resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} - dev: true - /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: @@ -11275,6 +11860,13 @@ packages: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true + /seek-bzip@2.0.0: + resolution: {integrity: sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==} + hasBin: true + dependencies: + commander: 6.2.1 + dev: true + /semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} @@ -11287,11 +11879,11 @@ packages: engines: {node: '>=12'} dev: true - /semver-truncate@2.0.0: - resolution: {integrity: sha512-Rh266MLDYNeML5h90ttdMwfXe1+Nc4LAWd9X1KdJe8pPHP4kFmvLZALtsMNHNdvTyQygbEC0D59sIz47DIaq8w==} - engines: {node: '>=8'} + /semver-truncate@3.0.0: + resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} + engines: {node: '>=12'} dependencies: - semver: 6.3.0 + semver: 7.8.5 dev: true /semver@5.7.1: @@ -11317,6 +11909,12 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + dev: true + /semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} @@ -11422,13 +12020,6 @@ packages: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 - dev: true - /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -11436,16 +12027,15 @@ packages: shebang-regex: 3.0.0 dev: true - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true - /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true + /shell-exec@1.0.2: + resolution: {integrity: sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==} + dev: true + /shelljs@0.8.5: resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} @@ -11508,8 +12098,9 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} dev: true /slash@3.0.0: @@ -11527,6 +12118,11 @@ packages: engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: true + /smol-toml@1.6.1: + resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==} + engines: {node: '>= 18'} + dev: true + /socks-proxy-agent@5.0.1: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} @@ -11560,8 +12156,8 @@ packages: is-plain-obj: 1.1.0 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: true @@ -11627,11 +12223,6 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - dev: true - /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -11661,6 +12252,17 @@ packages: engines: {node: '>=10.0.0'} dev: true + /streamx@2.28.0: + resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.7 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + dev: true + /string-hash@1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true @@ -11769,9 +12371,11 @@ packages: engines: {node: '>=8'} dev: true - /strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} + /strip-dirs@3.0.0: + resolution: {integrity: sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==} + dependencies: + inspect-with-kind: 1.0.5 + is-plain-obj: 1.1.0 dev: true /strip-final-newline@2.0.0: @@ -11801,21 +12405,6 @@ packages: engines: {node: '>=8'} dev: true - /strip-outer@2.0.0: - resolution: {integrity: sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /strong-log-transformer@2.1.0: - resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} - engines: {node: '>=4'} - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - /strtok3@10.3.5: resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} @@ -11823,29 +12412,6 @@ packages: '@tokenizer/token': 0.3.0 dev: true - /strtok3@7.0.0: - resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} - engines: {node: '>=14.16'} - dependencies: - '@tokenizer/token': 0.3.0 - peek-readable: 5.0.0 - dev: true - - /style-inject@0.3.0: - resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} - dev: true - - /stylehacks@5.1.1(postcss@8.4.21): - resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 - dev: true - /superagent@8.0.9: resolution: {integrity: sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -11900,33 +12466,57 @@ packages: engines: {node: '>= 0.4'} dev: true - /svgo@2.8.0: - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} - engines: {node: '>=10.13.0'} - hasBin: true - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 4.3.0 - css-tree: 1.1.3 - csso: 4.2.0 - picocolors: 1.0.0 - stable: 0.1.8 - dev: true - /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true + /synckit@0.11.13: + resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.3.6 + dev: true + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} dependencies: bl: 4.1.0 - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 fs-constants: 1.0.0 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 + dev: true + + /tar-stream@3.2.0: + resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==} + dependencies: + b4a: 1.8.1 + bare-fs: 4.7.2 + fast-fifo: 1.3.2 + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + dev: true + + /tcp-port-used@1.0.3: + resolution: {integrity: sha512-4CEQ3qRJYo+mtEbJ+OoQu3dF4TDkwaO3RDVC4UzP5cpAOIUWwuwPjD7sdxDFFqsMUjsXVVYBMlg/boAaloThMA==} + dependencies: + debug: 4.3.1 + is2: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + dependencies: + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a dev: true /temp@0.9.4: @@ -11946,6 +12536,14 @@ packages: minimatch: 3.1.2 dev: true + /text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} + dependencies: + b4a: 1.8.1 + transitivePeerDependencies: + - react-native-b4a + dev: true + /text-extensions@1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} @@ -11972,6 +12570,30 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true + /tinyexec@1.2.4: + resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + engines: {node: '>=18'} + dev: true + + /tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + dev: true + + /tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + dev: true + + /tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + dependencies: + tldts-core: 6.1.86 + dev: true + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -11979,22 +12601,15 @@ packages: os-tmpdir: 1.0.2 dev: true - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 + /tmp@0.2.6: + resolution: {integrity: sha512-5sJPdPjfI5Kx+qbrDesxkglRBxW//g7hCsqspEjwkewGvBMGIKMOTKzLt1hFVJzyadba3lDUN20O9qhvbQUSTA==} + engines: {node: '>=14.14'} dev: true /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -12007,14 +12622,6 @@ packages: engines: {node: '>=0.6'} dev: true - /token-types@5.0.1: - resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} - engines: {node: '>=14.16'} - dependencies: - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - dev: true - /token-types@6.1.2: resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} engines: {node: '>=14.16'} @@ -12028,25 +12635,27 @@ packages: resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} dev: true - /tough-cookie@4.1.2: - resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} - engines: {node: '>=6'} + /tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} dependencies: - psl: 1.9.0 - punycode: 2.3.0 - universalify: 0.2.0 - url-parse: 1.5.10 + tldts: 6.1.86 dev: true /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} + /tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} + engines: {node: '>=18'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 + dev: true + + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true dev: true /trim-newlines@3.0.1: @@ -12054,13 +12663,6 @@ packages: engines: {node: '>=8'} dev: true - /trim-repeated@2.0.0: - resolution: {integrity: sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==} - engines: {node: '>=12'} - dependencies: - escape-string-regexp: 5.0.0 - dev: true - /ts-api-utils@1.4.3(typescript@5.4.5): resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -12070,18 +12672,28 @@ packages: typescript: 5.4.5 dev: true - /ts-jest@29.1.5(@babel/core@7.29.7)(jest@29.5.0)(typescript@5.4.5): - resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + /ts-api-utils@2.5.0(typescript@5.4.5): + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + dependencies: + typescript: 5.4.5 + dev: true + + /ts-jest@29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.4.5): + resolution: {integrity: sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 + '@jest/transform': ^29.0.0 || ^30.0.0 + '@jest/types': ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: '>=4.3 <7' peerDependenciesMeta: '@babel/core': optional: true @@ -12093,21 +12705,25 @@ packages: optional: true esbuild: optional: true + jest-util: + optional: true dependencies: '@babel/core': 7.29.7 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.5.0(@types/node@18.19.130)(ts-node@10.9.1) - jest-util: 29.5.0 + handlebars: 4.7.9 + jest: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) + jest-util: 30.0.5 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.8.5 + type-fest: 4.41.0 typescript: 5.4.5 yargs-parser: 21.1.1 dev: true - /ts-node@10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@4.9.5): + /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12122,7 +12738,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@swc/core': 1.15.41(@swc/helpers@0.5.23) '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -12140,7 +12756,7 @@ packages: dev: true optional: true - /ts-node@10.9.1(@swc/core@1.3.107)(@types/node@18.19.130)(typescript@5.4.5): + /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12155,7 +12771,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.107(@swc/helpers@0.5.23) + '@swc/core': 1.15.41(@swc/helpers@0.5.23) '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -12172,8 +12788,8 @@ packages: yn: 3.1.1 dev: true - /tsconfig-paths@4.1.2: - resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} dependencies: json5: 2.2.3 @@ -12181,6 +12797,63 @@ packages: strip-bom: 3.0.0 dev: true + /tsdown@0.22.3(typescript@5.4.5): + resolution: {integrity: sha512-louqbfA8Qf//B9jTTL0FPtXTNpjCWv1VPkbcmQMph2pTpzs+LnB1tbe4tDDRVpo2BjF5SgUXaTZe45SxB8pWHg==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.22.3 + '@tsdown/exe': 0.22.3 + '@vitejs/devtools': '*' + publint: ^0.3.8 + tsx: '*' + typescript: ^5.0.0 || ^6.0.0 + unplugin-unused: ^0.5.0 + unrun: '*' + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + tsx: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + unrun: + optional: true + dependencies: + ansis: 4.3.1 + cac: 7.0.0 + defu: 6.1.7 + empathic: 2.0.1 + hookable: 6.1.1 + import-without-cache: 0.4.0 + obug: 2.1.3 + picomatch: 4.0.4 + rolldown: 1.1.2 + rolldown-plugin-dts: 0.26.0(rolldown@1.1.2)(typescript@5.4.5) + semver: 7.8.5 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tree-kill: 1.2.2 + typescript: 5.4.5 + unconfig-core: 7.5.0 + transitivePeerDependencies: + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - vue-tsc + dev: true + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true @@ -12254,6 +12927,11 @@ packages: engines: {node: '>=14.16'} dev: true + /type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + dev: true + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -12294,6 +12972,12 @@ packages: hasBin: true dev: true + /typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -12323,6 +13007,20 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + dependencies: + buffer: 5.7.1 + through: 2.3.8 + dev: true + + /unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + dev: true + /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true @@ -12340,11 +13038,6 @@ packages: unicode-property-aliases-ecmascript: 2.1.0 dev: true - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - dev: true - /unicode-match-property-value-ecmascript@2.2.1: resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} @@ -12359,7 +13052,7 @@ packages: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} dependencies: - qs: 6.11.1 + qs: 6.14.2 dev: true /unique-string@3.0.0: @@ -12378,11 +13071,6 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: true - /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} @@ -12393,15 +13081,34 @@ packages: engines: {node: '>= 0.8'} dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + /unrs-resolver@1.12.2: + resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} + requiresBuild: true dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 + napi-postinstall: 0.3.4 + optionalDependencies: + '@unrs/resolver-binding-android-arm-eabi': 1.12.2 + '@unrs/resolver-binding-android-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-x64': 1.12.2 + '@unrs/resolver-binding-freebsd-x64': 1.12.2 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-arm64-musl': 1.12.2 + '@unrs/resolver-binding-linux-loong64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-loong64-musl': 1.12.2 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-musl': 1.12.2 + '@unrs/resolver-binding-linux-s390x-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-musl': 1.12.2 + '@unrs/resolver-binding-openharmony-arm64': 1.12.2 + '@unrs/resolver-binding-wasm32-wasi': 1.12.2 + '@unrs/resolver-binding-win32-arm64-msvc': 1.12.2 + '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 + '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 dev: true /update-browserslist-db@1.2.3(browserslist@4.28.2): @@ -12450,13 +13157,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: true - /user-home@2.0.0: resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} engines: {node: '>=0.10.0'} @@ -12486,7 +13186,7 @@ packages: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.31 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 dev: true @@ -12498,11 +13198,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /validator@13.9.0: resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} engines: {node: '>= 0.10'} @@ -12522,11 +13217,11 @@ packages: acorn-walk: 8.2.0 dev: true - /w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} + /w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} dependencies: - xml-name-validator: 4.0.0 + xml-name-validator: 5.0.0 dev: true /walker@1.0.8: @@ -12558,20 +13253,29 @@ packages: /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation dependencies: iconv-lite: 0.6.3 dev: true - /whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + dependencies: + iconv-lite: 0.6.3 dev: true - /whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: true + + /whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} + engines: {node: '>=18'} dependencies: - tr46: 3.0.0 + tr46: 5.1.1 webidl-conversions: 7.0.0 dev: true @@ -12701,16 +13405,16 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 - signal-exit: 3.0.7 + signal-exit: 4.1.0 dev: true - /ws@8.12.1: - resolution: {integrity: sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==} + /ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -12727,9 +13431,9 @@ packages: engines: {node: '>=12'} dev: true - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} dev: true /xmlchars@2.2.0: @@ -12754,10 +13458,6 @@ packages: engines: {node: '>=10'} dev: true - /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - dev: true - /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true @@ -12771,6 +13471,12 @@ packages: engines: {node: '>= 6'} dev: true + /yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + dev: true + /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -12819,12 +13525,25 @@ packages: yargs-parser: 20.2.9 dev: true - /yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -12832,6 +13551,13 @@ packages: yargs-parser: 21.1.1 dev: true + /yauzl@3.4.0: + resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==} + engines: {node: '>=12'} + dependencies: + pend: 1.2.0 + dev: true + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs new file mode 100644 index 000000000..a93496af2 --- /dev/null +++ b/tools/scripts/build-packages.mjs @@ -0,0 +1,122 @@ +// Build all publishable @automapper packages with tsdown (dual cjs/esm + dual dts) +// and generate contract-correct dist package.json (exports map, main/module/types). +// Usage: node tools/scripts/build-packages.mjs [pkgName ...] (default: all) +import { execFileSync } from 'node:child_process'; +import { readFileSync, writeFileSync, copyFileSync, mkdirSync, existsSync, rmSync } from 'node:fs'; +import { resolve, dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); +const TSDOWN = resolve(ROOT, 'node_modules/.bin/tsdown'); +const HEAP = '--max-old-space-size=8192'; + +// One published npm package = one entry here. `subpaths` build into subdirs and +// become subpath exports of the same package (the @automapper/classes case). +const PACKAGES = [ + { dir: 'packages/core', out: 'dist/packages/core' }, + { + dir: 'packages/classes', + out: 'dist/packages/classes', + subpaths: [ + { key: './mapped-types', srcDir: 'packages/classes/mapped-types', sub: 'mapped-types' }, + { key: './transformer-plugin', srcDir: 'packages/classes/transformer-plugin', sub: 'transformer-plugin' }, + ], + }, + { dir: 'packages/pojos', out: 'dist/packages/pojos' }, + { dir: 'packages/nestjs', out: 'dist/packages/nestjs' }, + { dir: 'packages/mikro', out: 'dist/packages/mikro' }, + { dir: 'packages/sequelize', out: 'dist/packages/sequelize' }, +]; + +// Always external (compiler/runtime helpers); `typescript/lib/tsserverlibrary` +// is a subpath specifier that `typescript` alone does not match. +const ALWAYS_EXTERNAL = ['typescript', 'typescript/lib/tsserverlibrary', 'tslib']; + +// Everything third-party lives in the ROOT package.json (deps + devDeps) since +// this isn't a pnpm workspace yet; treat all of it as external so only each +// package's own source is bundled. The packages themselves under-declare peers. +const rootManifest = JSON.parse(readFileSync(resolve(ROOT, 'package.json'), 'utf8')); +const ROOT_EXTERNAL = [ + ...Object.keys(rootManifest.dependencies || {}), + ...Object.keys(rootManifest.devDependencies || {}), + '@automapper/core', + '@automapper/classes', +]; + +// Derive externals: root third-party + this package's own deps/peerDeps + the +// always-external compiler/runtime helpers. Anything a consumer is expected to +// provide (reflect-metadata, @automapper/*, nest, mikro, sequelize, rxjs...) +// stays external rather than being bundled in. +function deriveExternal(srcDir) { + const p = resolve(ROOT, srcDir, 'package.json'); + const m = existsSync(p) ? JSON.parse(readFileSync(p, 'utf8')) : {}; + return [ + ...new Set([ + ...ROOT_EXTERNAL, + ...Object.keys(m.dependencies || {}), + ...Object.keys(m.peerDependencies || {}), + ...ALWAYS_EXTERNAL, + ]), + ]; +} + +const only = process.argv.slice(2); +const targets = only.length ? PACKAGES.filter((p) => only.includes(p.dir.split('/').pop())) : PACKAGES; + +function tsdown({ entry, outDir, external, tsconfig }) { + const args = [entry, '--format', 'cjs,esm', '--dts', '--out-dir', outDir]; + for (const e of external) args.push('--external', e); + if (tsconfig) args.push('--tsconfig', tsconfig); + execFileSync(TSDOWN, args, { + cwd: ROOT, + stdio: 'inherit', + env: { ...process.env, NODE_OPTIONS: `${process.env.NODE_OPTIONS || ''} ${HEAP}`.trim() }, + }); +} + +const condFor = (prefix) => ({ + import: { types: `${prefix}index.d.mts`, default: `${prefix}index.mjs` }, + require: { types: `${prefix}index.d.cts`, default: `${prefix}index.cjs` }, +}); + +for (const pkg of targets) { + const srcPkgPath = resolve(ROOT, pkg.dir, 'package.json'); + const manifest = JSON.parse(readFileSync(srcPkgPath, 'utf8')); + const outAbs = resolve(ROOT, pkg.out); + rmSync(outAbs, { recursive: true, force: true }); + mkdirSync(outAbs, { recursive: true }); + + // main entry + tsdown({ + entry: resolve(ROOT, pkg.dir, 'src/index.ts'), + outDir: pkg.out, + external: deriveExternal(pkg.dir), + tsconfig: existsSync(resolve(ROOT, pkg.dir, 'tsconfig.lib.json')) ? resolve(ROOT, pkg.dir, 'tsconfig.lib.json') : undefined, + }); + + const exportsMap = { '.': condFor('./') }; + + // subpaths (classes) + for (const sp of pkg.subpaths || []) { + tsdown({ + entry: resolve(ROOT, sp.srcDir, 'src/index.ts'), + outDir: `${pkg.out}/${sp.sub}`, + external: deriveExternal(sp.srcDir), + tsconfig: existsSync(resolve(ROOT, sp.srcDir, 'tsconfig.lib.json')) ? resolve(ROOT, sp.srcDir, 'tsconfig.lib.json') : undefined, + }); + exportsMap[sp.key] = condFor(`./${sp.sub}/`); + } + + // dist package.json: preserve metadata, set entry points + exports map + manifest.main = './index.cjs'; + manifest.module = './index.mjs'; + manifest.types = './index.d.cts'; + manifest.exports = exportsMap; + writeFileSync(resolve(outAbs, 'package.json'), JSON.stringify(manifest, null, 2) + '\n'); + + // README asset + const readme = resolve(ROOT, pkg.dir, 'src/README.md'); + if (existsSync(readme)) copyFileSync(readme, resolve(outAbs, 'README.md')); + + console.log(`\n✔ packaged ${manifest.name} -> ${pkg.out}`); +} From a0fb384921258e0fdccbf007f2f80fe20a34969f Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:15:43 -0400 Subject: [PATCH 05/73] chore(repo): per-package tsdown build targets, drop @nx/rollup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - each published package has its own 'package' target running 'node tools/scripts/build-packages.mjs '; root 'package' script runs 'nx run-many --target=package' so the root builds all of them - classes target builds main + mapped-types + transformer-plugin subpaths + the frontend shim (shim/index.js, bare tsc) in one step - removed the now-dead @nx/rollup dep and all package-lib/package-all targets - mapped-types/transformer-plugin no longer have standalone package targets (built as subpaths by the classes target) note: zod (unpublished, not in package flow) still references @nx/rollup in its build target — left for the Step 2 executor cleanup. Co-Authored-By: Claude Opus 4.8 (1M context) --- package.json | 3 +- packages/classes/mapped-types/project.json | 23 - packages/classes/project.json | 22 +- .../classes/transformer-plugin/project.json | 18 - packages/core/project.json | 31 +- packages/mikro/project.json | 22 +- packages/nestjs/project.json | 23 +- packages/pojos/project.json | 17 +- packages/sequelize/project.json | 22 +- pnpm-lock.yaml | 641 ------------------ tools/scripts/build-packages.mjs | 12 + 11 files changed, 29 insertions(+), 805 deletions(-) diff --git a/package.json b/package.json index d192d46b7..9591ec37d 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "release": "dotenv release-it --", "release:beta": "dotenv release-it -- major --preRelease=beta", "test": "nx run-many --all --target=test --parallel", - "package": "node tools/scripts/build-packages.mjs", + "package": "nx run-many --target=package", "publish": "nx run-many --target=publish --all --parallel" }, "private": true, @@ -31,7 +31,6 @@ "@nx/jest": "22.7.5", "@nx/js": "22.7.5", "@nx/nest": "22.7.5", - "@nx/rollup": "22.7.5", "@nx/web": "22.7.5", "@nx/workspace": "22.7.5", "@release-it/bumper": "4.0.2", diff --git a/packages/classes/mapped-types/project.json b/packages/classes/mapped-types/project.json index 54858f757..fa7a985df 100644 --- a/packages/classes/mapped-types/project.json +++ b/packages/classes/mapped-types/project.json @@ -4,29 +4,6 @@ "sourceRoot": "packages/classes/mapped-types/src", "tags": ["classes"], "targets": { - "package": { - "command": "NX_CLOUD=true nx package-lib classes-mapped-types" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], - "options": { - "project": "packages/classes/mapped-types/package.json", - "outputPath": "dist/packages/classes/mapped-types", - "entryFile": "packages/classes/mapped-types/src/index.ts", - "tsConfig": "packages/classes/mapped-types/tsconfig.lib.json", - "assets": ["packages/classes/mapped-types/src/README.md"], - "compiler": "babel", - "external": [ - "typescript", - "tslib", - "@automapper/core", - "@automapper/classes" - ], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true - } - }, "lint": { "executor": "@nx/eslint:lint" }, diff --git a/packages/classes/project.json b/packages/classes/project.json index 3947ce402..e9e2c37fd 100644 --- a/packages/classes/project.json +++ b/packages/classes/project.json @@ -7,27 +7,9 @@ "targets": { "package": { "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/classes"], "options": { - "commands": [ - "nx package-lib classes", - "tsc packages/classes/shim/index.ts --outDir dist/packages/classes/shim/" - ], - "parallel": false - } - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], - "options": { - "project": "packages/classes/package.json", - "outputPath": "dist/packages/classes", - "entryFile": "packages/classes/src/index.ts", - "tsConfig": "packages/classes/tsconfig.lib.json", - "assets": ["packages/classes/src/README.md"], - "compiler": "babel", - "external": ["typescript", "tslib", "@automapper/core"], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true + "command": "node tools/scripts/build-packages.mjs classes" } }, "lint": { diff --git a/packages/classes/transformer-plugin/project.json b/packages/classes/transformer-plugin/project.json index 50e14fddb..0d6aed256 100644 --- a/packages/classes/transformer-plugin/project.json +++ b/packages/classes/transformer-plugin/project.json @@ -4,24 +4,6 @@ "sourceRoot": "packages/classes/transformer-plugin/src", "tags": ["classes"], "targets": { - "package": { - "command": "NX_CLOUD=true nx package-lib classes-transformer-plugin" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], - "options": { - "project": "packages/classes/transformer-plugin/package.json", - "outputPath": "dist/packages/classes/transformer-plugin", - "entryFile": "packages/classes/transformer-plugin/src/index.ts", - "tsConfig": "packages/classes/transformer-plugin/tsconfig.lib.json", - "assets": ["packages/classes/transformer-plugin/src/README.md"], - "compiler": "babel", - "external": ["typescript", "tslib", "@automapper/classes"], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true - } - }, "lint": { "executor": "@nx/eslint:lint" }, diff --git a/packages/core/project.json b/packages/core/project.json index b081522d9..c5d20d238 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -6,37 +6,10 @@ "tags": ["core"], "targets": { "package": { - "command": "NX_CLOUD=true nx package-lib core" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], - "options": { - "project": "packages/core/package.json", - "outputPath": "dist/packages/core", - "entryFile": "packages/core/src/index.ts", - "tsConfig": "packages/core/tsconfig.lib.json", - "assets": ["packages/core/src/README.md"], - "compiler": "babel", - "external": ["typescript", "tslib"], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true - } - }, - "package-all": { "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/core"], "options": { - "commands": [ - "nx package core", - "nx package classes", - "nx package classes-mapped-types", - "nx package classes-transformer-plugin", - "nx package pojos", - "nx package nestjs", - "nx package mikro", - "nx package sequelize" - ], - "parallel": false + "command": "node tools/scripts/build-packages.mjs core" } }, "lint": { diff --git a/packages/mikro/project.json b/packages/mikro/project.json index c077fdef4..7dff6deb9 100644 --- a/packages/mikro/project.json +++ b/packages/mikro/project.json @@ -5,26 +5,10 @@ "tags": ["mikro"], "targets": { "package": { - "command": "NX_CLOUD=true nx package-lib mikro" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], + "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/mikro"], "options": { - "project": "packages/mikro/package.json", - "outputPath": "dist/packages/mikro", - "entryFile": "packages/mikro/src/index.ts", - "tsConfig": "packages/mikro/tsconfig.lib.json", - "assets": ["packages/mikro/src/README.md"], - "compiler": "babel", - "external": [ - "typescript", - "tslib", - "@automapper/core", - "@automapper/classes" - ], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true + "command": "node tools/scripts/build-packages.mjs mikro" } }, "lint": { diff --git a/packages/nestjs/project.json b/packages/nestjs/project.json index e04acefc1..67b6e5e12 100644 --- a/packages/nestjs/project.json +++ b/packages/nestjs/project.json @@ -5,27 +5,10 @@ "tags": ["nestjs"], "targets": { "package": { - "command": "NX_CLOUD=true nx package-lib nestjs" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], + "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/nestjs"], "options": { - "project": "packages/nestjs/package.json", - "outputPath": "dist/packages/nestjs", - "entryFile": "packages/nestjs/src/index.ts", - "tsConfig": "packages/nestjs/tsconfig.lib.json", - "assets": ["packages/nestjs/src/README.md"], - "compiler": "babel", - "external": [ - "typescript", - "tslib", - "@automapper/core", - "@nestjs/common", - "rxjs" - ], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true + "command": "node tools/scripts/build-packages.mjs nestjs" } }, "lint": { diff --git a/packages/pojos/project.json b/packages/pojos/project.json index 8a8be2916..55d51b5a1 100644 --- a/packages/pojos/project.json +++ b/packages/pojos/project.json @@ -5,21 +5,10 @@ "tags": ["pojos"], "targets": { "package": { - "command": "NX_CLOUD=true nx package-lib pojos" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], + "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/pojos"], "options": { - "project": "packages/pojos/package.json", - "outputPath": "dist/packages/pojos", - "entryFile": "packages/pojos/src/index.ts", - "tsConfig": "packages/pojos/tsconfig.lib.json", - "assets": ["packages/pojos/src/README.md"], - "compiler": "babel", - "external": ["typescript", "tslib", "@automapper/core"], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true + "command": "node tools/scripts/build-packages.mjs pojos" } }, "lint": { diff --git a/packages/sequelize/project.json b/packages/sequelize/project.json index 178640618..ca23688c6 100644 --- a/packages/sequelize/project.json +++ b/packages/sequelize/project.json @@ -5,26 +5,10 @@ "tags": ["sequelize"], "targets": { "package": { - "command": "NX_CLOUD=true nx package-lib sequelize" - }, - "package-lib": { - "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], + "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/sequelize"], "options": { - "project": "packages/sequelize/package.json", - "outputPath": "dist/packages/sequelize", - "entryFile": "packages/sequelize/src/index.ts", - "tsConfig": "packages/sequelize/tsconfig.lib.json", - "assets": ["packages/sequelize/src/README.md"], - "compiler": "babel", - "external": [ - "typescript", - "tslib", - "@automapper/core", - "@automapper/classes" - ], - "format": ["cjs", "esm"], - "babelUpwardRootMode": true + "command": "node tools/scripts/build-packages.mjs sequelize" } }, "lint": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e5c0bdf0..2df53847b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,9 +49,6 @@ devDependencies: '@nx/nest': specifier: 22.7.5 version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/rollup': - specifier: 22.7.5 - version: 22.7.5(@babel/core@7.29.7)(@swc/core@1.15.41)(nx@22.7.5)(typescript@5.4.5) '@nx/web': specifier: 22.7.5 version: 22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) @@ -3056,39 +3053,6 @@ packages: dev: true optional: true - /@nx/rollup@22.7.5(@babel/core@7.29.7)(@swc/core@1.15.41)(nx@22.7.5)(typescript@5.4.5): - resolution: {integrity: sha512-36bLP+XZR7Qiejw1sGc+0R3r2/N4FNPgV8Q1IW8Y+6QpkTCk3jStX1HXyJBW0EwPcIkgQ/PwSkhHeg9ATZei2A==} - dependencies: - '@nx/devkit': 22.7.5(nx@22.7.5) - '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@rollup/plugin-babel': 6.1.0(@babel/core@7.29.7)(rollup@4.62.2) - '@rollup/plugin-commonjs': 25.0.8(rollup@4.62.2) - '@rollup/plugin-image': 3.0.3(rollup@4.62.2) - '@rollup/plugin-json': 6.1.0(rollup@4.62.2) - '@rollup/plugin-node-resolve': 15.3.1(rollup@4.62.2) - '@rollup/plugin-typescript': 12.3.0(rollup@4.62.2)(tslib@2.5.3)(typescript@5.4.5) - autoprefixer: 10.4.14(postcss@8.5.15) - concat-with-sourcemaps: 1.1.0 - picocolors: 1.1.1 - picomatch: 4.0.4 - postcss: 8.5.15 - postcss-modules: 6.0.1(postcss@8.5.15) - rollup: 4.62.2 - rollup-plugin-typescript2: 0.36.0(rollup@4.62.2)(typescript@5.4.5) - tslib: 2.5.3 - transitivePeerDependencies: - - '@babel/core' - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - '@types/babel__core' - - debug - - nx - - supports-color - - typescript - - verdaccio - dev: true - /@nx/web@22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5): resolution: {integrity: sha512-mJOx3BknJhdr2T7UD4b4LuWyTa+MyXXJvYymBjHvBuCmWC5o68wuDm2y5kXrZ1WxHJYlqoLZ2281QPVyB+SZ7A==} peerDependencies: @@ -3490,332 +3454,6 @@ packages: resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} dev: true - /@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(rollup@4.62.2): - resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - rollup: - optional: true - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - rollup: 4.62.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@rollup/plugin-commonjs@25.0.8(rollup@4.62.2): - resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 8.1.0 - is-reference: 1.2.1 - magic-string: 0.30.21 - rollup: 4.62.2 - dev: true - - /@rollup/plugin-image@3.0.3(rollup@4.62.2): - resolution: {integrity: sha512-qXWQwsXpvD4trSb8PeFPFajp8JLpRtqqOeNYRUKnEQNHm7e5UP7fuSRcbjQAJ7wDZBbnJvSdY5ujNBQd9B1iFg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - mini-svg-data-uri: 1.4.4 - rollup: 4.62.2 - dev: true - - /@rollup/plugin-json@6.1.0(rollup@4.62.2): - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - rollup: 4.62.2 - dev: true - - /@rollup/plugin-node-resolve@15.3.1(rollup@4.62.2): - resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.0 - is-module: 1.0.0 - resolve: 1.22.12 - rollup: 4.62.2 - dev: true - - /@rollup/plugin-typescript@12.3.0(rollup@4.62.2)(tslib@2.5.3)(typescript@5.4.5): - resolution: {integrity: sha512-7DP0/p7y3t67+NabT9f8oTBFE6gGkto4SA6Np2oudYmZE/m1dt8RB0SjL1msMxFpLo631qjRCcBlAbq1ml/Big==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0||^4.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - resolve: 1.22.12 - rollup: 4.62.2 - tslib: 2.5.3 - typescript: 5.4.5 - dev: true - - /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - - /@rollup/pluginutils@5.4.0(rollup@4.62.2): - resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.9 - estree-walker: 2.0.2 - picomatch: 4.0.4 - rollup: 4.62.2 - dev: true - - /@rollup/rollup-android-arm-eabi@4.62.2: - resolution: {integrity: sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.62.2: - resolution: {integrity: sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.62.2: - resolution: {integrity: sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.62.2: - resolution: {integrity: sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-freebsd-arm64@4.62.2: - resolution: {integrity: sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-freebsd-x64@4.62.2: - resolution: {integrity: sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.62.2: - resolution: {integrity: sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-musleabihf@4.62.2: - resolution: {integrity: sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.62.2: - resolution: {integrity: sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.62.2: - resolution: {integrity: sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-loong64-gnu@4.62.2: - resolution: {integrity: sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-loong64-musl@4.62.2: - resolution: {integrity: sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-ppc64-gnu@4.62.2: - resolution: {integrity: sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-ppc64-musl@4.62.2: - resolution: {integrity: sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.62.2: - resolution: {integrity: sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-musl@4.62.2: - resolution: {integrity: sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-s390x-gnu@4.62.2: - resolution: {integrity: sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.62.2: - resolution: {integrity: sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.62.2: - resolution: {integrity: sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-openbsd-x64@4.62.2: - resolution: {integrity: sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-openharmony-arm64@4.62.2: - resolution: {integrity: sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==} - cpu: [arm64] - os: [openharmony] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.62.2: - resolution: {integrity: sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.62.2: - resolution: {integrity: sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-gnu@4.62.2: - resolution: {integrity: sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.62.2: - resolution: {integrity: sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@sinclair/typebox@0.34.49: resolution: {integrity: sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==} dev: true @@ -4205,10 +3843,6 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - dev: true - /@types/stack-utils@2.0.3: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true @@ -5113,22 +4747,6 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /autoprefixer@10.4.14(postcss@8.5.15): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001799 - fraction.js: 4.2.0 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - dev: true - /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -6068,10 +5686,6 @@ packages: - '@swc/wasm' dev: true - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -6097,12 +5711,6 @@ packages: typedarray: 0.0.6 dev: true - /concat-with-sourcemaps@1.1.0: - resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} - dependencies: - source-map: 0.6.1 - dev: true - /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -6417,12 +6025,6 @@ packages: type-fest: 1.4.0 dev: true - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: true - /cssstyle@4.6.0: resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} @@ -6591,11 +6193,6 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge@4.3.0: - resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} - engines: {node: '>=0.10.0'} - dev: true - /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -7146,10 +6743,6 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: @@ -7477,15 +7070,6 @@ packages: - supports-color dev: true - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true - /find-config@1.0.0: resolution: {integrity: sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==} engines: {node: '>= 0.12'} @@ -7642,10 +7226,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: true - /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -7655,15 +7235,6 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra@11.1.0: resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} engines: {node: '>=14.14'} @@ -7734,12 +7305,6 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true - /generic-names@4.0.0: - resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} - dependencies: - loader-utils: 3.2.1 - dev: true - /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -7922,18 +7487,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - /global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} @@ -8362,15 +7915,6 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.5.15 - dev: true - /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} engines: {node: '>=4'} @@ -8703,10 +8247,6 @@ packages: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: true - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -8753,12 +8293,6 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 1.0.9 - dev: true - /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -9950,11 +9484,6 @@ packages: strip-bom: 3.0.0 dev: true - /loader-utils@3.2.1: - resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} - engines: {node: '>= 12.13.0'} - dev: true - /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -9977,10 +9506,6 @@ packages: p-locate: 5.0.0 dev: true - /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: true - /lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: true @@ -10089,12 +9614,6 @@ packages: '@jridgewell/sourcemap-codec': 1.5.5 dev: true - /magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - dev: true - /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -10246,11 +9765,6 @@ packages: engines: {node: '>=4'} dev: true - /mini-svg-data-uri@1.4.4: - resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - hasBin: true - dev: true - /minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -10264,13 +9778,6 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.1.1 - dev: true - /minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -10355,12 +9862,6 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nanoid@3.3.13: - resolution: {integrity: sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - /napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -10451,11 +9952,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: true - /normalize-url@8.0.0: resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} engines: {node: '>=14.16'} @@ -11080,84 +10576,6 @@ packages: - supports-color dev: true - /postcss-modules-extract-imports@3.1.0(postcss@8.5.15): - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.5.15 - dev: true - - /postcss-modules-local-by-default@4.2.0(postcss@8.5.15): - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-selector-parser: 7.1.4 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-modules-scope@3.2.1(postcss@8.5.15): - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.4 - dev: true - - /postcss-modules-values@4.0.0(postcss@8.5.15): - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - dev: true - - /postcss-modules@6.0.1(postcss@8.5.15): - resolution: {integrity: sha512-zyo2sAkVvuZFFy0gc2+4O+xar5dYlaVy/ebO24KT0ftk/iJevSNyPyQellsBLlnccwh7f6V6Y4GvuKRYToNgpQ==} - peerDependencies: - postcss: ^8.0.0 - dependencies: - generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.5.15) - lodash.camelcase: 4.3.0 - postcss: 8.5.15 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.15) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.15) - postcss-modules-scope: 3.2.1(postcss@8.5.15) - postcss-modules-values: 4.0.0(postcss@8.5.15) - string-hash: 1.1.3 - dev: true - - /postcss-selector-parser@7.1.4: - resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true - - /postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.13 - picocolors: 1.1.1 - source-map-js: 1.2.1 - dev: true - /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -11745,56 +11163,6 @@ packages: '@rolldown/binding-win32-x64-msvc': 1.1.2 dev: true - /rollup-plugin-typescript2@0.36.0(rollup@4.62.2)(typescript@5.4.5): - resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} - peerDependencies: - rollup: '>=1.26.3' - typescript: '>=2.4.0' - dependencies: - '@rollup/pluginutils': 4.2.1 - find-cache-dir: 3.3.2 - fs-extra: 10.1.0 - rollup: 4.62.2 - semver: 7.8.5 - tslib: 2.8.1 - typescript: 5.4.5 - dev: true - - /rollup@4.62.2: - resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.9 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.62.2 - '@rollup/rollup-android-arm64': 4.62.2 - '@rollup/rollup-darwin-arm64': 4.62.2 - '@rollup/rollup-darwin-x64': 4.62.2 - '@rollup/rollup-freebsd-arm64': 4.62.2 - '@rollup/rollup-freebsd-x64': 4.62.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.62.2 - '@rollup/rollup-linux-arm-musleabihf': 4.62.2 - '@rollup/rollup-linux-arm64-gnu': 4.62.2 - '@rollup/rollup-linux-arm64-musl': 4.62.2 - '@rollup/rollup-linux-loong64-gnu': 4.62.2 - '@rollup/rollup-linux-loong64-musl': 4.62.2 - '@rollup/rollup-linux-ppc64-gnu': 4.62.2 - '@rollup/rollup-linux-ppc64-musl': 4.62.2 - '@rollup/rollup-linux-riscv64-gnu': 4.62.2 - '@rollup/rollup-linux-riscv64-musl': 4.62.2 - '@rollup/rollup-linux-s390x-gnu': 4.62.2 - '@rollup/rollup-linux-x64-gnu': 4.62.2 - '@rollup/rollup-linux-x64-musl': 4.62.2 - '@rollup/rollup-openbsd-x64': 4.62.2 - '@rollup/rollup-openharmony-arm64': 4.62.2 - '@rollup/rollup-win32-arm64-msvc': 4.62.2 - '@rollup/rollup-win32-ia32-msvc': 4.62.2 - '@rollup/rollup-win32-x64-gnu': 4.62.2 - '@rollup/rollup-win32-x64-msvc': 4.62.2 - fsevents: 2.3.3 - dev: true - /rrweb-cssom@0.8.0: resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} dev: true @@ -12156,11 +11524,6 @@ packages: is-plain-obj: 1.1.0 dev: true - /source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - dev: true - /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -12263,10 +11626,6 @@ packages: - react-native-b4a dev: true - /string-hash@1.1.3: - resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} - dev: true - /string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index a93496af2..f0a236bc4 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -17,6 +17,9 @@ const PACKAGES = [ { dir: 'packages/classes', out: 'dist/packages/classes', + // Frontend bundler-alias shim (no-op @AutoMap); published as shim/index.js, + // compiled with bare tsc to match the 8.x contract. Not in the exports map. + shim: 'packages/classes/shim/index.ts', subpaths: [ { key: './mapped-types', srcDir: 'packages/classes/mapped-types', sub: 'mapped-types' }, { key: './transformer-plugin', srcDir: 'packages/classes/transformer-plugin', sub: 'transformer-plugin' }, @@ -107,6 +110,15 @@ for (const pkg of targets) { exportsMap[sp.key] = condFor(`./${sp.sub}/`); } + // frontend shim (classes): bare tsc, matches the 8.x published shim/index.js + if (pkg.shim) { + execFileSync( + resolve(ROOT, 'node_modules/.bin/tsc'), + [resolve(ROOT, pkg.shim), '--outDir', resolve(outAbs, 'shim')], + { cwd: ROOT, stdio: 'inherit' } + ); + } + // dist package.json: preserve metadata, set entry points + exports map manifest.main = './index.cjs'; manifest.module = './index.mjs'; From fc1117068e5aac21e53b12fe76eb4e4864b6773d Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:17:47 -0400 Subject: [PATCH 06/73] perf(core): rewrite set() as index-walk, drop per-level alloc set() recursed with path.slice(1) (fresh array per level) and Object.assign( object, {[base]: value}) (1-key temp object per level) on the default member return path. Walk the original path by index and write the leaf directly, mirroring setMutate. Behavior-preserving (set.spec + full suite green). Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/utils/set.ts | 34 +++++++++++++++++------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/core/src/lib/utils/set.ts b/packages/core/src/lib/utils/set.ts index 4c8c3a5b3..bbd36c717 100644 --- a/packages/core/src/lib/utils/set.ts +++ b/packages/core/src/lib/utils/set.ts @@ -1,28 +1,32 @@ export function set>( object: T, path: string[], - value: unknown + value: unknown, + index = 0 ): (T & { [p: string]: unknown }) | T { - const { decomposedPath, base } = decomposePath(path); + const obj = object as Record; - if (base === undefined) { + // empty path writes the '' key (preserves prior decomposePath base='' behavior) + if (path.length < 1) { + obj[''] = value; return object; } - // assign an empty object in order to spread object - assignEmpty(object, base); + const base = path[index]; - // Determine if there is still layers to traverse - value = - decomposedPath.length <= 1 - ? value - : set( - object[base] as Record, - decomposedPath.slice(1), - value - ); + // leaf: write directly. Avoids the per-level `Object.assign({[base]: value})` + // temp object and `path.slice(1)` array allocation of the old recursion + // (mirrors setMutate, which already does this). + if (index >= path.length - 1) { + obj[base] = value; + return object; + } - return Object.assign(object, { [base]: value }); + if (!Object.prototype.hasOwnProperty.call(object, base)) { + obj[base] = {}; + } + set(obj[base] as Record, path, value, index + 1); + return object; } export function setMutate>( From c313fa852938cb26d5b2951cc460fee4dd8ae51f Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:19:47 -0400 Subject: [PATCH 07/73] perf(core): remove dead hasNullMetadata scan in map() Per mapped member, map() did metadataMap.get(dest) + Array.find(...) === null. Array.prototype.find returns an element or undefined, never null, so the result was structurally always false -- an O(members^2) scan computing a constant. Deleted (behavior-preserving), along with the now-unused getMetadataMap/ metadataMap, isPrimitiveArrayEqual and MetadataClassId imports. note: the '=== null' may have been intended as 'metaFn() == null' (cf. the 'treat as-is' comment). That would be a behavior change, not folded in here -- flagged for separate investigation. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/mappings/map.ts | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index be55049cd..48ed9e415 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -1,4 +1,4 @@ -import { getErrorHandler, getMetadataMap } from '../symbols'; +import { getErrorHandler } from '../symbols'; import type { Constructor, Dictionary, @@ -7,13 +7,12 @@ import type { Mapping, MetadataIdentifier, } from '../types'; -import { MapFnClassId, MetadataClassId, TransformationType } from '../types'; +import { MapFnClassId, TransformationType } from '../types'; import { assertUnmappedProperties } from '../utils/assert-unmapped-properties'; import { get } from '../utils/get'; import { getMapping } from '../utils/get-mapping'; import { isDateConstructor } from '../utils/is-date-constructor'; import { isEmpty } from '../utils/is-empty'; -import { isPrimitiveArrayEqual } from '../utils/is-primitive-array-equal'; import { isPrimitiveConstructor } from '../utils/is-primitive-constructor'; import { set, setMutate } from '../utils/set'; import { mapMember } from './map-member'; @@ -130,7 +129,6 @@ export function map< } = options ?? {}; const errorHandler = getErrorHandler(mapper); - const metadataMap = getMetadataMap(mapper); const destination: TDestination = mapDestinationConstructor( sourceObject, @@ -220,17 +218,6 @@ Original error: ${originalError}`; transformationMapFn[MapFnClassId.type] === TransformationType.MapInitialize ) { - // check if metadata as destinationMemberPath is null - const destinationMetadata = metadataMap.get(destinationIdentifier); - const hasNullMetadata = - destinationMetadata && - destinationMetadata.find((metadata) => - isPrimitiveArrayEqual( - metadata[MetadataClassId.propertyKeys], - destinationMemberPath - ) - ) === null; - const mapInitializedValue = ( transformationMapFn[MapFnClassId.fn] as MapInitializeReturn< TSource, @@ -242,7 +229,6 @@ Original error: ${originalError}`; // if null/undefined // if isDate, isFile - // if metadata is null, treat as-is // if it has same identifier that are not primitives or Date // if the initialized value was converted with typeConverter if ( @@ -251,7 +237,6 @@ Original error: ${originalError}`; Object.prototype.toString .call(mapInitializedValue) .slice(8, -1) === 'File' || - hasNullMetadata || hasSameIdentifier || isTypedConverted ) { From 89eb581590ba92552b59a577c607152996c714ce Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:20:37 -0400 Subject: [PATCH 08/73] fix(core): guard isDateConstructor against nullish input Object.getPrototypeOf(null|undefined) throws. isDateConstructor is called before the primitive check in @automapper/classes get-metadata-list, so a user type factory returning nullish or [] (-> meta[0] undefined) crashed with a cryptic 'Cannot convert undefined or null to object'. Return false for nullish. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/utils/is-date-constructor.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/core/src/lib/utils/is-date-constructor.ts b/packages/core/src/lib/utils/is-date-constructor.ts index 0df595a98..5447cab69 100644 --- a/packages/core/src/lib/utils/is-date-constructor.ts +++ b/packages/core/src/lib/utils/is-date-constructor.ts @@ -4,5 +4,9 @@ * @param {Function} value */ export function isDateConstructor(value: unknown): boolean { + // guard: Object.getPrototypeOf(null|undefined) throws. Reachable from + // @automapper/classes get-metadata-list when a user type factory returns + // nullish/[] (isDateConstructor is called before the primitive check there). + if (value == null) return false; return Object.getPrototypeOf(value) === Date || value === Date; } From 21a0f28d44a445d2674bfde3fa1ae3c0b113c6cf Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:21:47 -0400 Subject: [PATCH 09/73] perf(core): compute shouldRunImplicitMap lazily in mapMember The 4 primitive/date predicate calls ran eagerly for every forMember member but are only read in the Condition/NullSubstitution/UndefinedSubstitution cases. Moved inside that case behind the existing value != null guard, so MapFrom/ FromValue/MapWith/ConvertUsing/MapWithArguments/MapDefer skip them. The || ordering is preserved (isPrimitiveConstructor short-circuits before isDate). Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/mappings/map-member.ts | 41 +++++++++++--------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/packages/core/src/lib/mappings/map-member.ts b/packages/core/src/lib/mappings/map-member.ts index 63e14abb1..4c692bf7a 100644 --- a/packages/core/src/lib/mappings/map-member.ts +++ b/packages/core/src/lib/mappings/map-member.ts @@ -33,12 +33,6 @@ export function mapMember< const transformationType: TransformationType = transformationMapFn[MapFnClassId.type]; const mapFn = transformationMapFn[MapFnClassId.fn]; - const shouldRunImplicitMap = !( - isPrimitiveConstructor(sourceMemberIdentifier) || - isPrimitiveConstructor(destinationMemberIdentifier) || - isDateConstructor(sourceMemberIdentifier) || - isDateConstructor(destinationMemberIdentifier) - ); switch (transformationType) { case TransformationType.MapFrom: @@ -75,18 +69,29 @@ export function mapMember< mapFn as ConditionReturn[MapFnClassId.fn] )(sourceObject, destinationMemberPath); - if (shouldRunImplicitMap && value != null) { - value = Array.isArray(value) - ? mapper.mapArray( - value, - sourceMemberIdentifier as MetadataIdentifier, - destinationMemberIdentifier as MetadataIdentifier - ) - : mapper.map( - value, - sourceMemberIdentifier as MetadataIdentifier, - destinationMemberIdentifier as MetadataIdentifier - ); + if (value != null) { + // primitive/date identifiers => no implicit (member) mapping. + // Computed lazily: only Condition/Null/Undefined reach this, so + // the other transformation types skip these predicate calls. + const shouldRunImplicitMap = !( + isPrimitiveConstructor(sourceMemberIdentifier) || + isPrimitiveConstructor(destinationMemberIdentifier) || + isDateConstructor(sourceMemberIdentifier) || + isDateConstructor(destinationMemberIdentifier) + ); + if (shouldRunImplicitMap) { + value = Array.isArray(value) + ? mapper.mapArray( + value, + sourceMemberIdentifier as MetadataIdentifier, + destinationMemberIdentifier as MetadataIdentifier + ) + : mapper.map( + value, + sourceMemberIdentifier as MetadataIdentifier, + destinationMemberIdentifier as MetadataIdentifier + ); + } } break; From ca3dbb84c7f57e0df0f8b490ace8155d300106c0 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 22:44:28 -0400 Subject: [PATCH 10/73] chore(benchmark): add packages/benchmark-core workspace package - introduce pnpm-workspace.yaml (packages/*) to enable workspace:* references - packages/benchmark-core: node app benchmarking the core map/mapArray hot path via the pojos strategy + mitata (flat 8-prop and nested+array fixtures) - references @automapper/core and @automapper/pojos with workspace:* - core/pojos source package.json expose exports -> ./src/index.ts for workspace dev resolution (benchmark runs through tsx). build-packages overwrites exports for the published dist -- verified dist exports unchanged, attw clean, 114 tests green - run: pnpm --filter @automapper/benchmark-core bench Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/benchmark-core/node_modules/.bin/tsx | 17 + .../node_modules/@automapper/core | 1 + .../node_modules/@automapper/pojos | 1 + packages/benchmark-core/node_modules/mitata | 1 + packages/benchmark-core/node_modules/tsx | 1 + packages/benchmark-core/package.json | 18 + packages/benchmark-core/src/bench.ts | 104 + packages/benchmark-core/tsconfig.json | 11 + .../classes/node_modules/@automapper/core | 1 + .../classes/node_modules/reflect-metadata | 1 + packages/core/package.json | 3 + .../mikro/node_modules/@automapper/classes | 1 + packages/mikro/node_modules/@mikro-orm/core | 1 + packages/mikro/node_modules/reflect-metadata | 1 + packages/nestjs/node_modules/@automapper/core | 1 + packages/nestjs/node_modules/@nestjs/common | 1 + packages/nestjs/node_modules/@nestjs/core | 1 + packages/pojos/node_modules/@automapper/core | 1 + packages/pojos/package.json | 3 + .../node_modules/@automapper/classes | 1 + .../sequelize/node_modules/reflect-metadata | 1 + packages/sequelize/node_modules/sequelize | 1 + pnpm-lock.yaml | 8523 +++++++++++++++-- pnpm-workspace.yaml | 2 + 24 files changed, 7822 insertions(+), 875 deletions(-) create mode 100755 packages/benchmark-core/node_modules/.bin/tsx create mode 120000 packages/benchmark-core/node_modules/@automapper/core create mode 120000 packages/benchmark-core/node_modules/@automapper/pojos create mode 120000 packages/benchmark-core/node_modules/mitata create mode 120000 packages/benchmark-core/node_modules/tsx create mode 100644 packages/benchmark-core/package.json create mode 100644 packages/benchmark-core/src/bench.ts create mode 100644 packages/benchmark-core/tsconfig.json create mode 120000 packages/classes/node_modules/@automapper/core create mode 120000 packages/classes/node_modules/reflect-metadata create mode 120000 packages/mikro/node_modules/@automapper/classes create mode 120000 packages/mikro/node_modules/@mikro-orm/core create mode 120000 packages/mikro/node_modules/reflect-metadata create mode 120000 packages/nestjs/node_modules/@automapper/core create mode 120000 packages/nestjs/node_modules/@nestjs/common create mode 120000 packages/nestjs/node_modules/@nestjs/core create mode 120000 packages/pojos/node_modules/@automapper/core create mode 120000 packages/sequelize/node_modules/@automapper/classes create mode 120000 packages/sequelize/node_modules/reflect-metadata create mode 120000 packages/sequelize/node_modules/sequelize create mode 100644 pnpm-workspace.yaml diff --git a/packages/benchmark-core/node_modules/.bin/tsx b/packages/benchmark-core/node_modules/.bin/tsx new file mode 100755 index 000000000..9c297e231 --- /dev/null +++ b/packages/benchmark-core/node_modules/.bin/tsx @@ -0,0 +1,17 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -z "$NODE_PATH" ]; then + export NODE_PATH="/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/node_modules" +else + export NODE_PATH="/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/node_modules:$NODE_PATH" +fi +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/cli.mjs" "$@" +else + exec node "$basedir/../../../../node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/cli.mjs" "$@" +fi diff --git a/packages/benchmark-core/node_modules/@automapper/core b/packages/benchmark-core/node_modules/@automapper/core new file mode 120000 index 000000000..5e990a823 --- /dev/null +++ b/packages/benchmark-core/node_modules/@automapper/core @@ -0,0 +1 @@ +../../../core \ No newline at end of file diff --git a/packages/benchmark-core/node_modules/@automapper/pojos b/packages/benchmark-core/node_modules/@automapper/pojos new file mode 120000 index 000000000..e6e570472 --- /dev/null +++ b/packages/benchmark-core/node_modules/@automapper/pojos @@ -0,0 +1 @@ +../../../pojos \ No newline at end of file diff --git a/packages/benchmark-core/node_modules/mitata b/packages/benchmark-core/node_modules/mitata new file mode 120000 index 000000000..ecd3f09c4 --- /dev/null +++ b/packages/benchmark-core/node_modules/mitata @@ -0,0 +1 @@ +../../../node_modules/.pnpm/mitata@1.0.34/node_modules/mitata \ No newline at end of file diff --git a/packages/benchmark-core/node_modules/tsx b/packages/benchmark-core/node_modules/tsx new file mode 120000 index 000000000..9aac85117 --- /dev/null +++ b/packages/benchmark-core/node_modules/tsx @@ -0,0 +1 @@ +../../../node_modules/.pnpm/tsx@4.22.4/node_modules/tsx \ No newline at end of file diff --git a/packages/benchmark-core/package.json b/packages/benchmark-core/package.json new file mode 100644 index 000000000..6d15e9770 --- /dev/null +++ b/packages/benchmark-core/package.json @@ -0,0 +1,18 @@ +{ + "name": "@automapper/benchmark-core", + "version": "0.0.0", + "private": true, + "type": "module", + "description": "Benchmark harness for @automapper/core hot path (map / mapArray)", + "scripts": { + "bench": "tsx src/bench.ts" + }, + "dependencies": { + "@automapper/core": "workspace:*", + "@automapper/pojos": "workspace:*" + }, + "devDependencies": { + "mitata": "^1.0.0", + "tsx": "^4.19.0" + } +} diff --git a/packages/benchmark-core/src/bench.ts b/packages/benchmark-core/src/bench.ts new file mode 100644 index 000000000..3aa936811 --- /dev/null +++ b/packages/benchmark-core/src/bench.ts @@ -0,0 +1,104 @@ +import { createMap, createMapper } from '@automapper/core'; +import { pojos, PojosMetadataMap } from '@automapper/pojos'; +import { bench, group, run } from 'mitata'; + +// --------------------------------------------------------------------------- +// Metadata (pojos strategy — exercises the same core map() hot path as classes +// without decorator/reflect-metadata setup). +// --------------------------------------------------------------------------- +PojosMetadataMap.create('Address', { + street: String, + city: String, + zip: String, +}); +PojosMetadataMap.create('AddressDto', { + street: String, + city: String, + zip: String, +}); + +// flat: 8 primitive members (default mapInitialize path -> set()) +PojosMetadataMap.create('User', { + firstName: String, + lastName: String, + email: String, + age: Number, + active: Boolean, + role: String, + score: Number, + createdAt: String, +}); +PojosMetadataMap.create('UserDto', { + firstName: String, + lastName: String, + email: String, + age: Number, + active: Boolean, + role: String, + score: Number, + createdAt: String, +}); + +// nested: object member (2 levels) + primitive array +PojosMetadataMap.create('Profile', { + id: String, + username: String, + address: 'Address', + tags: [String], +}); +PojosMetadataMap.create('ProfileDto', { + id: String, + username: String, + address: 'AddressDto', + tags: [String], +}); + +const mapper = createMapper({ strategyInitializer: pojos() }); +createMap(mapper, 'Address', 'AddressDto'); +createMap(mapper, 'User', 'UserDto'); +createMap(mapper, 'Profile', 'ProfileDto'); + +// --------------------------------------------------------------------------- +// Fixtures +// --------------------------------------------------------------------------- +const makeUser = (i: number) => ({ + firstName: `First${i}`, + lastName: `Last${i}`, + email: `user${i}@example.com`, + age: 20 + (i % 50), + active: i % 2 === 0, + role: i % 3 === 0 ? 'admin' : 'user', + score: i * 1.5, + createdAt: 'Fri Jun 19 2026', +}); + +const makeProfile = (i: number) => ({ + id: `id-${i}`, + username: `user${i}`, + address: { street: `${i} Main St`, city: 'Town', zip: `${10000 + i}` }, + tags: ['a', 'b', 'c'], +}); + +const user = makeUser(1); +const users100 = Array.from({ length: 100 }, (_, i) => makeUser(i)); +const users1000 = Array.from({ length: 1000 }, (_, i) => makeUser(i)); + +const profile = makeProfile(1); +const profiles1000 = Array.from({ length: 1000 }, (_, i) => makeProfile(i)); + +// --------------------------------------------------------------------------- +// Benchmarks (mitata returns the value as a sink to defeat DCE) +// --------------------------------------------------------------------------- +group('pojos / flat (8 primitive members)', () => { + bench('map x1', () => mapper.map(user, 'User', 'UserDto')); + bench('mapArray x100', () => mapper.mapArray(users100, 'User', 'UserDto')); + bench('mapArray x1000', () => mapper.mapArray(users1000, 'User', 'UserDto')); +}); + +group('pojos / nested (object member + array)', () => { + bench('map x1', () => mapper.map(profile, 'Profile', 'ProfileDto')); + bench('mapArray x1000', () => + mapper.mapArray(profiles1000, 'Profile', 'ProfileDto')); +}); + +await run(); diff --git a/packages/benchmark-core/tsconfig.json b/packages/benchmark-core/tsconfig.json new file mode 100644 index 000000000..7808c443c --- /dev/null +++ b/packages/benchmark-core/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "esnext", + "moduleResolution": "bundler", + "strict": true, + "skipLibCheck": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"] +} diff --git a/packages/classes/node_modules/@automapper/core b/packages/classes/node_modules/@automapper/core new file mode 120000 index 000000000..306069b76 --- /dev/null +++ b/packages/classes/node_modules/@automapper/core @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@automapper+core@8.8.1/node_modules/@automapper/core \ No newline at end of file diff --git a/packages/classes/node_modules/reflect-metadata b/packages/classes/node_modules/reflect-metadata new file mode 120000 index 000000000..ca05e9f17 --- /dev/null +++ b/packages/classes/node_modules/reflect-metadata @@ -0,0 +1 @@ +../../../node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index 0c3a3f71c..c51b592a2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,6 +3,9 @@ "version": "0.0.0", "type": "module", "sideEffects": false, + "exports": { + ".": "./src/index.ts" + }, "engines": { "node": ">=16.0.0" }, diff --git a/packages/mikro/node_modules/@automapper/classes b/packages/mikro/node_modules/@automapper/classes new file mode 120000 index 000000000..28f798d71 --- /dev/null +++ b/packages/mikro/node_modules/@automapper/classes @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@automapper+classes@8.8.1_@automapper+core@8.8.1_reflect-metadata@0.1.13/node_modules/@automapper/classes \ No newline at end of file diff --git a/packages/mikro/node_modules/@mikro-orm/core b/packages/mikro/node_modules/@mikro-orm/core new file mode 120000 index 000000000..732e44357 --- /dev/null +++ b/packages/mikro/node_modules/@mikro-orm/core @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@mikro-orm+core@5.6.13/node_modules/@mikro-orm/core \ No newline at end of file diff --git a/packages/mikro/node_modules/reflect-metadata b/packages/mikro/node_modules/reflect-metadata new file mode 120000 index 000000000..ca05e9f17 --- /dev/null +++ b/packages/mikro/node_modules/reflect-metadata @@ -0,0 +1 @@ +../../../node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata \ No newline at end of file diff --git a/packages/nestjs/node_modules/@automapper/core b/packages/nestjs/node_modules/@automapper/core new file mode 120000 index 000000000..306069b76 --- /dev/null +++ b/packages/nestjs/node_modules/@automapper/core @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@automapper+core@8.8.1/node_modules/@automapper/core \ No newline at end of file diff --git a/packages/nestjs/node_modules/@nestjs/common b/packages/nestjs/node_modules/@nestjs/common new file mode 120000 index 000000000..832512266 --- /dev/null +++ b/packages/nestjs/node_modules/@nestjs/common @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@nestjs+common@10.4.22_reflect-metadata@0.1.13_rxjs@7.8.1/node_modules/@nestjs/common \ No newline at end of file diff --git a/packages/nestjs/node_modules/@nestjs/core b/packages/nestjs/node_modules/@nestjs/core new file mode 120000 index 000000000..b8dd9700c --- /dev/null +++ b/packages/nestjs/node_modules/@nestjs/core @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@nestjs+core@10.4.22_@nestjs+common@10.4.22_@nestjs+platform-express@10.4.22_reflect-metadata@0.1.13_rxjs@7.8.1/node_modules/@nestjs/core \ No newline at end of file diff --git a/packages/pojos/node_modules/@automapper/core b/packages/pojos/node_modules/@automapper/core new file mode 120000 index 000000000..306069b76 --- /dev/null +++ b/packages/pojos/node_modules/@automapper/core @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@automapper+core@8.8.1/node_modules/@automapper/core \ No newline at end of file diff --git a/packages/pojos/package.json b/packages/pojos/package.json index bc5b947ed..60e9cd3e9 100644 --- a/packages/pojos/package.json +++ b/packages/pojos/package.json @@ -3,6 +3,9 @@ "version": "0.0.0", "type": "module", "sideEffects": false, + "exports": { + ".": "./src/index.ts" + }, "engines": { "node": ">=16.0.0" }, diff --git a/packages/sequelize/node_modules/@automapper/classes b/packages/sequelize/node_modules/@automapper/classes new file mode 120000 index 000000000..28f798d71 --- /dev/null +++ b/packages/sequelize/node_modules/@automapper/classes @@ -0,0 +1 @@ +../../../../node_modules/.pnpm/@automapper+classes@8.8.1_@automapper+core@8.8.1_reflect-metadata@0.1.13/node_modules/@automapper/classes \ No newline at end of file diff --git a/packages/sequelize/node_modules/reflect-metadata b/packages/sequelize/node_modules/reflect-metadata new file mode 120000 index 000000000..ca05e9f17 --- /dev/null +++ b/packages/sequelize/node_modules/reflect-metadata @@ -0,0 +1 @@ +../../../node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata \ No newline at end of file diff --git a/packages/sequelize/node_modules/sequelize b/packages/sequelize/node_modules/sequelize new file mode 120000 index 000000000..3f26d2929 --- /dev/null +++ b/packages/sequelize/node_modules/sequelize @@ -0,0 +1 @@ +../../../node_modules/.pnpm/sequelize@6.29.2/node_modules/sequelize \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2df53847b..9be35e702 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,156 +4,599 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@swc/helpers': - specifier: 0.5.23 - version: 0.5.23 - tslib: - specifier: ~2.5.0 - version: 2.5.0 - -devDependencies: - '@mikro-orm/core': - specifier: 5.6.13 - version: 5.6.13 - '@nestjs/common': - specifier: 10.4.22 - version: 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/core': - specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/platform-express': - specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) - '@nestjs/schematics': - specifier: 11.1.0 - version: 11.1.0(prettier@2.8.4)(typescript@5.4.5) - '@nestjs/testing': - specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) - '@nx/devkit': - specifier: 22.7.5 - version: 22.7.5(nx@22.7.5) - '@nx/eslint': - specifier: 22.7.5 - version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) - '@nx/eslint-plugin': - specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.4.5) - '@nx/jest': - specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/js': - specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@nx/nest': - specifier: 22.7.5 - version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5) - '@nx/web': - specifier: 22.7.5 - version: 22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) - '@nx/workspace': - specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41) - '@release-it/bumper': - specifier: 4.0.2 - version: 4.0.2(release-it@15.8.0) - '@release-it/conventional-changelog': - specifier: 5.1.1 - version: 5.1.1(release-it@15.8.0) - '@swc/cli': - specifier: 0.7.10 - version: 0.7.10(@swc/core@1.15.41) - '@swc/core': - specifier: 1.15.41 - version: 1.15.41(@swc/helpers@0.5.23) - '@swc/jest': - specifier: 0.2.39 - version: 0.2.39(@swc/core@1.15.41) - '@types/jest': - specifier: 30.0.0 - version: 30.0.0 - '@types/node': - specifier: 18.19.130 - version: 18.19.130 - '@types/supertest': - specifier: 2.0.12 - version: 2.0.12 - '@typescript-eslint/eslint-plugin': - specifier: 7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/parser': - specifier: 7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.4.5) - all-contributors-cli: - specifier: 6.24.0 - version: 6.24.0 - babel-preset-minify: - specifier: 0.5.2 - version: 0.5.2 - commitizen: - specifier: 4.3.0 - version: 4.3.0(@swc/core@1.15.41) - cz-customizable: - specifier: 7.0.0 - version: 7.0.0 - dotenv-cli: - specifier: 7.0.0 - version: 7.0.0 - eslint: - specifier: 8.57.1 - version: 8.57.1 - eslint-config-prettier: - specifier: 10.1.8 - version: 10.1.8(eslint@8.57.1) - fs-extra: - specifier: ^11.1.0 - version: 11.1.0 - jest: - specifier: 30.0.5 - version: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) - jest-environment-jsdom: - specifier: 30.0.5 - version: 30.0.5 - jest-util: - specifier: 30.0.5 - version: 30.0.5 - nx: - specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41) - prettier: - specifier: 2.8.4 - version: 2.8.4 - reflect-metadata: - specifier: ~0.1.13 - version: 0.1.13 - release-it: - specifier: 15.8.0 - version: 15.8.0 - rxjs: - specifier: ~7.8.0 - version: 7.8.0 - sequelize: - specifier: 6.29.2 - version: 6.29.2 - supertest: - specifier: 6.3.3 - version: 6.3.3 - ts-jest: - specifier: 29.4.11 - version: 29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.4.5) - ts-node: - specifier: 10.9.1 - version: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) - tsdown: - specifier: ^0.22.3 - version: 0.22.3(typescript@5.4.5) - typescript: - specifier: 5.4.5 - version: 5.4.5 +importers: + + .: + dependencies: + '@swc/helpers': + specifier: 0.5.23 + version: 0.5.23 + tslib: + specifier: ~2.5.0 + version: 2.5.0 + devDependencies: + '@mikro-orm/core': + specifier: 5.6.13 + version: 5.6.13 + '@nestjs/common': + specifier: 10.4.22 + version: 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/core': + specifier: 10.4.22 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/platform-express': + specifier: 10.4.22 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) + '@nestjs/schematics': + specifier: 11.1.0 + version: 11.1.0(prettier@2.8.4)(typescript@5.4.5) + '@nestjs/testing': + specifier: 10.4.22 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) + '@nx/devkit': + specifier: 22.7.5 + version: 22.7.5(nx@22.7.5) + '@nx/eslint': + specifier: 22.7.5 + version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) + '@nx/eslint-plugin': + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.4.5) + '@nx/jest': + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/js': + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41)(nx@22.7.5) + '@nx/nest': + specifier: 22.7.5 + version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/web': + specifier: 22.7.5 + version: 22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) + '@nx/workspace': + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41) + '@release-it/bumper': + specifier: 4.0.2 + version: 4.0.2(release-it@15.8.0) + '@release-it/conventional-changelog': + specifier: 5.1.1 + version: 5.1.1(release-it@15.8.0) + '@swc/cli': + specifier: 0.7.10 + version: 0.7.10(@swc/core@1.15.41) + '@swc/core': + specifier: 1.15.41 + version: 1.15.41(@swc/helpers@0.5.23) + '@swc/jest': + specifier: 0.2.39 + version: 0.2.39(@swc/core@1.15.41) + '@types/jest': + specifier: 30.0.0 + version: 30.0.0 + '@types/node': + specifier: 18.19.130 + version: 18.19.130 + '@types/supertest': + specifier: 2.0.12 + version: 2.0.12 + '@typescript-eslint/eslint-plugin': + specifier: 7.18.0 + version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': + specifier: 7.18.0 + version: 7.18.0(eslint@8.57.1)(typescript@5.4.5) + all-contributors-cli: + specifier: 6.24.0 + version: 6.24.0 + babel-preset-minify: + specifier: 0.5.2 + version: 0.5.2 + commitizen: + specifier: 4.3.0 + version: 4.3.0(@swc/core@1.15.41) + cz-customizable: + specifier: 7.0.0 + version: 7.0.0 + dotenv-cli: + specifier: 7.0.0 + version: 7.0.0 + eslint: + specifier: 8.57.1 + version: 8.57.1 + eslint-config-prettier: + specifier: 10.1.8 + version: 10.1.8(eslint@8.57.1) + fs-extra: + specifier: ^11.1.0 + version: 11.1.0 + jest: + specifier: 30.0.5 + version: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) + jest-environment-jsdom: + specifier: 30.0.5 + version: 30.0.5 + jest-util: + specifier: 30.0.5 + version: 30.0.5 + nx: + specifier: 22.7.5 + version: 22.7.5(@swc/core@1.15.41) + prettier: + specifier: 2.8.4 + version: 2.8.4 + reflect-metadata: + specifier: ~0.1.13 + version: 0.1.13 + release-it: + specifier: 15.8.0 + version: 15.8.0 + rxjs: + specifier: ~7.8.0 + version: 7.8.0 + sequelize: + specifier: 6.29.2 + version: 6.29.2 + supertest: + specifier: 6.3.3 + version: 6.3.3 + ts-jest: + specifier: 29.4.11 + version: 29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.4.5) + ts-node: + specifier: 10.9.1 + version: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) + tsdown: + specifier: ^0.22.3 + version: 0.22.3(typescript@5.4.5) + typescript: + specifier: 5.4.5 + version: 5.4.5 + + packages/benchmark-core: + dependencies: + '@automapper/core': + specifier: workspace:* + version: link:../core + '@automapper/pojos': + specifier: workspace:* + version: link:../pojos + devDependencies: + mitata: + specifier: ^1.0.0 + version: 1.0.34 + tsx: + specifier: ^4.19.0 + version: 4.22.4 + + packages/classes: + dependencies: + '@automapper/core': + specifier: latest + version: 8.8.1 + reflect-metadata: + specifier: ~0.1.13 + version: 0.1.13 + + packages/core: {} + + packages/documentation: + dependencies: + '@docusaurus/core': + specifier: 2.3.1 + version: 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/preset-classic': + specifier: 2.3.1 + version: 2.3.1(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5) + '@mdx-js/react': + specifier: ^1.6.22 + version: 1.6.22(react@17.0.2) + clsx: + specifier: ^1.2.1 + version: 1.2.1 + prism-react-renderer: + specifier: ^1.3.5 + version: 1.3.5(react@17.0.2) + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 2.3.1 + version: 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + + packages/documentations: + dependencies: + '@docusaurus/core': + specifier: 2.0.0-beta.21 + version: 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/preset-classic': + specifier: 2.0.0-beta.21 + version: 2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5) + '@mdx-js/react': + specifier: ^1.6.22 + version: 1.6.22(react@17.0.2) + '@mikro-orm/core': + specifier: ~5.1.1 + version: 5.1.5 + '@nestjs/common': + specifier: ~8.4.3 + version: 8.4.7(reflect-metadata@0.1.13)(rxjs@7.5.7) + '@nestjs/core': + specifier: ~8.4.3 + version: 8.4.7(@nestjs/common@8.4.7)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.5.7) + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + clsx: + specifier: ^1.1.1 + version: 1.2.1 + docusaurus-plugin-typedoc: + specifier: 0.17.2 + version: 0.17.2(typedoc-plugin-markdown@3.11.14)(typedoc@0.22.13) + prism-react-renderer: + specifier: ^1.2.1 + version: 1.3.5(react@17.0.2) + react: + specifier: ^17.0.1 + version: 17.0.2 + react-dom: + specifier: ^17.0.1 + version: 17.0.2(react@17.0.2) + reflect-metadata: + specifier: ~0.1.13 + version: 0.1.13 + rxjs: + specifier: ~7.5.5 + version: 7.5.7 + sequelize: + specifier: ~6.17.0 + version: 6.17.0 + tslib: + specifier: ~2.3.1 + version: 2.3.1 + typedoc: + specifier: 0.22.13 + version: 0.22.13(typescript@4.5.5) + typedoc-plugin-markdown: + specifier: 3.11.14 + version: 3.11.14(typedoc@0.22.13) + typescript: + specifier: ~4.5.5 + version: 4.5.5 + + packages/integration-test: {} + + packages/mikro: + dependencies: + '@automapper/classes': + specifier: latest + version: 8.8.1(@automapper/core@8.8.1)(reflect-metadata@0.1.13) + '@mikro-orm/core': + specifier: ^5.0.0 + version: 5.6.13 + reflect-metadata: + specifier: ~0.1.13 + version: 0.1.13 + + packages/nestjs: + dependencies: + '@automapper/core': + specifier: latest + version: 8.8.1 + '@nestjs/common': + specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + version: 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/core': + specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.1) + + packages/pojos: + dependencies: + '@automapper/core': + specifier: latest + version: 8.8.1 + + packages/sequelize: + dependencies: + '@automapper/classes': + specifier: latest + version: 8.8.1(@automapper/core@8.8.1)(reflect-metadata@0.1.13) + reflect-metadata: + specifier: ~0.1.13 + version: 0.1.13 + sequelize: + specifier: ^6.0.0 + version: 6.29.2 + + packages/zod: {} packages: + /@algolia/abtesting@1.21.0: + resolution: {integrity: sha512-kGvHfBa9oQCvZh0YXeguSToBD9GNJ+gzUZQ9KPTg+KSsM36obYcsKPoX0NnlJtPflHXu7RkMaIi44xs9meR6Zw==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3): + resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: false + + /@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3): + resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} + peerDependencies: + search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: false + + /@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0): + resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) + '@algolia/client-search': 5.55.0 + algoliasearch: 5.55.0 + dev: false + + /@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0): + resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 5.55.0 + algoliasearch: 5.55.0 + dev: false + + /@algolia/cache-browser-local-storage@4.27.0: + resolution: {integrity: sha512-YGog2s57sO20lvpa+hv5XLAAmiTI1kHsCMRtPVfiaOdIQnvRla21lfH08onqEbZihOPVI8GULwt79zQB2ymKzg==} + dependencies: + '@algolia/cache-common': 4.27.0 + dev: false + + /@algolia/cache-common@4.27.0: + resolution: {integrity: sha512-Sr8zjNXj82p6lO4W9CdzfF0m0/9h/H6VAdSHOTtimm/cTzXIYXRI2IZq7+Nt2ljJ7Ukx+7dIFcxQjE57eQSPsw==} + dev: false + + /@algolia/cache-in-memory@4.27.0: + resolution: {integrity: sha512-abgMRTcVD0IllNvMM9JFhxtyLn1v6Ey7mQ7+BGS3JCzvkCX7KZqlS0BIuVUDgx9sPIfOeNsG/awGzMmP50TwZw==} + dependencies: + '@algolia/cache-common': 4.27.0 + dev: false + + /@algolia/client-abtesting@5.55.0: + resolution: {integrity: sha512-Zt2GjIm7vsaf7K23tk5JmtcVNc38G9p0C2L2Lrm06miyLE/NL2etHtHInvuLc1DjxTp7Y2nId4X/tzwo372K8Q==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/client-account@4.27.0: + resolution: {integrity: sha512-sSHxwrKTKJrwfoR/LcQJZfmiWJcM5d9Rp7afMChxOcdGdkSdIwrNBC8SCcHRenA3GsZ6mg+j6px7KWYxJ34btA==} + dependencies: + '@algolia/client-common': 4.27.0 + '@algolia/client-search': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /@algolia/client-analytics@4.27.0: + resolution: {integrity: sha512-MqIDyxODljn9ZC4oqjQD0kez2a4zjIJ9ywA/b7cIiUiK/tDjZNTVjYd9WXMKQlXnWUwfrfXJZClVVqN1iCXS+Q==} + dependencies: + '@algolia/client-common': 4.27.0 + '@algolia/client-search': 4.27.0 + '@algolia/requester-common': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /@algolia/client-analytics@5.55.0: + resolution: {integrity: sha512-7BueMuWYg/KBA2EX9zsQ+3OAleEyrJcB+SV5Al/9pLjMQq5mXB/8M5HaUPqZwN812g5kLzj9j43VThlZgWq0hg==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/client-common@4.27.0: + resolution: {integrity: sha512-ZrT6l/YPQgyIUuBCxcYPeXol2VBLUMuNb1rKXrm6z1f/iTiwqtnEEb16/6CC11+Re0ZGXrdcMVrgDRrzveQ1aQ==} + dependencies: + '@algolia/requester-common': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /@algolia/client-common@5.55.0: + resolution: {integrity: sha512-pJZIyhvUrs+B7c5Lw0iP5yP/NsqJMda7pKRYbfG4KtfGIVSMcAalZhdqL5UX8Z9DOC4KxO9tKV5RDeVjZU0VfQ==} + engines: {node: '>= 14.0.0'} + dev: false + + /@algolia/client-insights@5.55.0: + resolution: {integrity: sha512-RydkKDhx0GWTYuw0ndTXHGM8hD8hgwftKE65FfnJZb5bPc9CevOqv3qNPUQiviAwkqT9hQNH31uDGeV3yZkgfA==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/client-personalization@4.27.0: + resolution: {integrity: sha512-OZqaFFVm+10hAlmxpiTWi/o2n+YKBESbSqSy2yXAumPH/kaK4moJHFblbh8IkV3KZR0lLm4hzPtn8Q2nWNiDUA==} + dependencies: + '@algolia/client-common': 4.27.0 + '@algolia/requester-common': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /@algolia/client-personalization@5.55.0: + resolution: {integrity: sha512-XiS7gdFq/COWiwdWXZ8+RHuewfEo03TkGESk44zU8zTc/Z6R8fm4DNmV52swJKkeB2N9iC7NKpgpM22OOkcgTw==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/client-query-suggestions@5.55.0: + resolution: {integrity: sha512-LBEJ/q+hn1nJ0aYg5IcWgLNCPjWHTahWmpHNx1qUZMho+9CyWM6LaEnhac45UHjQm/j0m374HP685VrpL133lA==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/client-search@4.27.0: + resolution: {integrity: sha512-qmX/f67ay0eZ4V5Io8fWWOcUVo/gqre2yei1PnmEhQU2Gul6ushg25QnNrfu4BODiRrw1rwYveZaLCiHvcUxrQ==} + dependencies: + '@algolia/client-common': 4.27.0 + '@algolia/requester-common': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /@algolia/client-search@5.55.0: + resolution: {integrity: sha512-2/9jUXKH4IcdU5qxH6cbDH46ZBe46G7xr+MrcHwgEXZcUfdAvUgLSH53MAWuMgxvw0G5yoqiWMifHc62Os0fiQ==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/events@4.0.1: + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + dev: false + + /@algolia/ingestion@1.55.0: + resolution: {integrity: sha512-80tKsQgxXWo+jK0v4YGCHqyTEXawhAKYyr3kOdN51ElfRqUFjZNPVhZk6vRiqSqXfvrH85ytacT3cbJR6+qolA==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/logger-common@4.27.0: + resolution: {integrity: sha512-pIrmQRXtDV+zTMVXKtKCosC2rWhn0F0TdUeb9etA6RiAz6jY6bY6f0+JX7YekDK09SnmZMLIyUa7Jci+Ied9bw==} + dev: false + + /@algolia/logger-console@4.27.0: + resolution: {integrity: sha512-UWvta8BxsR/u5z9eI088mOSLQaGtmoCtXeN3DYJurlxAdJwPuKtEb5+433kxA6/E9f2/JgoW89KZ1vNP9pcHBQ==} + dependencies: + '@algolia/logger-common': 4.27.0 + dev: false + + /@algolia/monitoring@1.55.0: + resolution: {integrity: sha512-4UjmAL8ywGW4rCfK6Qmgw3wIjbrO2wl2s4Eq56JTiN40L2t0XTv0HZkYAmr6nfeiXO0he/2crvZRX6SATSepag==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/recommend@4.27.0: + resolution: {integrity: sha512-CFy54xDjrsazPi3KN04yPmLRDT72AKokc3RLOdWQvG0/uEUjj7dhWqe9qenxpL4ydsjO7S1eY5YqmX+uMGonlg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.27.0 + '@algolia/cache-common': 4.27.0 + '@algolia/cache-in-memory': 4.27.0 + '@algolia/client-common': 4.27.0 + '@algolia/client-search': 4.27.0 + '@algolia/logger-common': 4.27.0 + '@algolia/logger-console': 4.27.0 + '@algolia/requester-browser-xhr': 4.27.0 + '@algolia/requester-common': 4.27.0 + '@algolia/requester-node-http': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /@algolia/recommend@5.55.0: + resolution: {integrity: sha512-LMpJPtIkfDsHIx5Ga+baNr22ntYbY+e2wT7MSIc/FjAnu9wnBFhx1H/GfhmP/c5/IvbThDX+3ilxPRjSfCI8aA==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false + + /@algolia/requester-browser-xhr@4.27.0: + resolution: {integrity: sha512-dTenMBIIpyp5o3C2ZnfbsuSlD/lL9jPkk6T+2+qm38fyw2nf49ANbcHFE79NgiGrnmw7QrYveCs9NIP3Wk4v6g==} + dependencies: + '@algolia/requester-common': 4.27.0 + dev: false + + /@algolia/requester-browser-xhr@5.55.0: + resolution: {integrity: sha512-tDymJ7nFOAoUuecma3usK6o94dp8m4HYFDGh4ByYQXWkv14cpmDn+nWdylmcZO0Qvco107vqDo4+Anksnl8w1Q==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + dev: false + + /@algolia/requester-common@4.27.0: + resolution: {integrity: sha512-VC3prAQVgWTubMStb3mJz6i61Hqbtagi2LeIbgNtoFJFff3XZDcAaO1D5r0GYl2+DrB2VzUHnQXbkiuI+HHYyg==} + dev: false + + /@algolia/requester-fetch@5.55.0: + resolution: {integrity: sha512-6IDSB5o5dkDPQ4LdOW0Yuw/qy5MdWlO2xDHgPVZgW4YDjbxvnX5PAiV7/WWZdWyVObScZZnnHpPbiqfYs/zBLg==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + dev: false + + /@algolia/requester-node-http@4.27.0: + resolution: {integrity: sha512-y8nUqaUQeSOQ5oaNo0b2QPznyBFW9LoIwljyUphJ+gUZpU6O/j2/C8ovoqDpIe6J0etqHg5RCcBizrCFZuLpyw==} + dependencies: + '@algolia/requester-common': 4.27.0 + dev: false + + /@algolia/requester-node-http@5.55.0: + resolution: {integrity: sha512-Yyyne4l//vDSdg4MhYJkaVne+KEPi833eCj3/T/87ernTwrvP6j9biXXZELsN8sLI/f2ndV/vugDIy2jdJQB6g==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/client-common': 5.55.0 + dev: false + + /@algolia/transporter@4.27.0: + resolution: {integrity: sha512-PvSbELU4VjN3xSX79ki+zIdOGhTxyJXWvRDzkUjfTx2iNfPWDdTjzKbP1o+268coJztxrkuBwJz90Urek7o1Kw==} + dependencies: + '@algolia/cache-common': 4.27.0 + '@algolia/logger-common': 4.27.0 + '@algolia/requester-common': 4.27.0 + dev: false + /@angular-devkit/core@19.2.24: resolution: {integrity: sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -194,12 +637,27 @@ packages: lru-cache: 10.4.3 dev: true + /@automapper/classes@8.8.1(@automapper/core@8.8.1)(reflect-metadata@0.1.13): + resolution: {integrity: sha512-qWP92Vz4z5zGWVXVkoGKmI9PIiAh8uhTBcKpKMmTVwmS1wfOQgj3ceD+A3mlC9ZUTohwvXebS3M30scLaUZmeg==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@automapper/core': 8.8.1 + reflect-metadata: ~0.1.13 + dependencies: + '@automapper/core': 8.8.1 + reflect-metadata: 0.1.13 + dev: false + + /@automapper/core@8.8.1: + resolution: {integrity: sha512-VIRULNAImqaTojp8zqhVGVimjxjriawqZWlemooWh5B5tX2XlgA6icPrQBQh+M9wY8IVQipBTOcr338N9lf8RA==} + engines: {node: '>=16.0.0'} + dev: false + /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - dev: true /@babel/code-frame@7.29.7: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} @@ -208,12 +666,34 @@ packages: '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - dev: true /@babel/compat-data@7.29.7: resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - dev: true + + /@babel/core@7.12.9: + resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.12.9) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + convert-source-map: 1.9.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + lodash: 4.17.21 + resolve: 1.22.12 + semver: 5.7.1 + source-map: 0.5.7 + transitivePeerDependencies: + - supports-color + dev: false /@babel/core@7.29.7: resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} @@ -236,7 +716,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/generator@7.29.7: resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} @@ -247,7 +726,6 @@ packages: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - dev: true /@babel/generator@8.0.0: resolution: {integrity: sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==} @@ -266,7 +744,6 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.29.7 - dev: true /@babel/helper-compilation-targets@7.29.7: resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} @@ -277,7 +754,6 @@ packages: browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 - dev: true /@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} @@ -295,7 +771,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} @@ -307,7 +782,6 @@ packages: '@babel/helper-annotate-as-pure': 7.29.7 regexpu-core: 6.4.0 semver: 6.3.1 - dev: true /@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7): resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} @@ -322,12 +796,10 @@ packages: resolve: 1.22.12 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-globals@7.29.7: resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-member-expression-to-functions@7.29.7: resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} @@ -337,7 +809,6 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-module-imports@7.29.7: resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} @@ -347,7 +818,20 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - dev: true + + /@babel/helper-module-transforms@7.29.7(@babel/core@7.12.9): + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + dev: false /@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} @@ -361,19 +845,20 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-optimise-call-expression@7.29.7: resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.29.7 - dev: true + + /@babel/helper-plugin-utils@7.10.4: + resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} + dev: false /@babel/helper-plugin-utils@7.29.7: resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} @@ -387,7 +872,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} @@ -401,7 +885,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-skip-transparent-expression-wrappers@7.29.7: resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} @@ -411,12 +894,10 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-string-parser@7.29.7: resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-string-parser@8.0.0: resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} @@ -426,12 +907,10 @@ packages: /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-identifier@7.29.7: resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-identifier@8.0.2: resolution: {integrity: sha512-9Fr9QeyCAyi1BR1jKZ6uYQ24EIhQUx5ReHfQU7drOE+TPOb+w11/dsqLkMOT2U29OdCT71XajrOT8xDc1C7orA==} @@ -441,7 +920,6 @@ packages: /@babel/helper-validator-option@7.29.7: resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-wrap-function@7.29.7: resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} @@ -452,7 +930,6 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/helpers@7.29.7: resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} @@ -460,7 +937,6 @@ packages: dependencies: '@babel/template': 7.29.7 '@babel/types': 7.29.7 - dev: true /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -469,7 +945,6 @@ packages: '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true /@babel/parser@7.29.7: resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} @@ -477,7 +952,6 @@ packages: hasBin: true dependencies: '@babel/types': 7.29.7 - dev: true /@babel/parser@8.0.0: resolution: {integrity: sha512-aLxAE+imI9bCcyaPrUDjBv3uSkWieifjLe0kuFOZF0zli0L6GCsTmsePnTr55adbIAgYz2zhN1vnFimCBUYcRQ==} @@ -498,7 +972,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} @@ -508,7 +981,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} @@ -518,7 +990,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} @@ -531,7 +1002,6 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} @@ -545,7 +1015,6 @@ packages: '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} @@ -558,7 +1027,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==} @@ -574,6 +1042,18 @@ packages: - supports-color dev: true + /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9): + resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.12.9) + dev: false + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} @@ -581,7 +1061,6 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 - dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -630,6 +1109,15 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: false + /@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} engines: {node: '>=6.9.0'} @@ -638,7 +1126,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} @@ -648,7 +1135,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -668,6 +1154,15 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true + /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9): + resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.29.7 + dev: false + /@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} engines: {node: '>=6.9.0'} @@ -676,7 +1171,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -705,6 +1199,15 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.29.7 + dev: false + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -760,7 +1263,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -771,7 +1273,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} @@ -781,7 +1282,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} @@ -795,7 +1295,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} @@ -809,7 +1308,6 @@ packages: '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} @@ -819,7 +1317,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} @@ -829,7 +1326,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} @@ -842,7 +1338,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} @@ -855,7 +1350,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} @@ -872,7 +1366,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} @@ -883,7 +1376,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 '@babel/template': 7.29.7 - dev: true /@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} @@ -896,7 +1388,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} @@ -907,7 +1398,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} @@ -917,7 +1407,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} @@ -928,7 +1417,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} @@ -938,7 +1426,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} @@ -951,7 +1438,6 @@ packages: '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} @@ -961,7 +1447,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} @@ -971,7 +1456,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} @@ -984,7 +1468,6 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} @@ -998,7 +1481,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} @@ -1008,7 +1490,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} @@ -1018,7 +1499,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} @@ -1028,7 +1508,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} @@ -1038,7 +1517,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} @@ -1051,7 +1529,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} @@ -1064,7 +1541,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} @@ -1079,7 +1555,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} @@ -1092,7 +1567,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} @@ -1103,7 +1577,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} @@ -1113,7 +1586,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} @@ -1123,7 +1595,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} @@ -1133,7 +1604,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} @@ -1149,7 +1619,6 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} @@ -1162,7 +1631,6 @@ packages: '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} @@ -1172,7 +1640,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} @@ -1185,7 +1652,16 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color - dev: true + + /@babel/plugin-transform-parameters@7.29.7(@babel/core@7.12.9): + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.29.7 + dev: false /@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} @@ -1195,7 +1671,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} @@ -1208,7 +1683,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} @@ -1222,7 +1696,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} @@ -1232,41 +1705,96 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true - /@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} + /@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true + dev: false - /@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + /@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true + dev: false - /@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + /@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - dev: true + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + dev: false - /@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} + /@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + dev: false + + /@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + /@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + /@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + /@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1280,7 +1808,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} @@ -1290,7 +1817,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} @@ -1303,7 +1829,6 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} @@ -1313,7 +1838,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} @@ -1323,7 +1847,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} @@ -1333,7 +1856,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} @@ -1349,7 +1871,6 @@ packages: '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true /@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} @@ -1359,7 +1880,6 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} @@ -1370,7 +1890,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} @@ -1381,7 +1900,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} @@ -1392,7 +1910,6 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - dev: true /@babel/preset-env@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} @@ -1474,7 +1991,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} @@ -1485,7 +2001,23 @@ packages: '@babel/helper-plugin-utils': 7.29.7 '@babel/types': 7.29.7 esutils: 2.0.3 - dev: true + + /@babel/preset-react@7.29.7(@babel/core@7.29.7): + resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + dev: false /@babel/preset-typescript@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} @@ -1501,7 +2033,13 @@ packages: '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true + + /@babel/runtime-corejs3@7.29.7: + resolution: {integrity: sha512-ppj9ouYku+RX0ljtgZd+KMO5mkM2bCqg8H2PYAFWnLsHEIKIdRojqbJ2i3eVHrisuxy7nOFCmngTDdWtUCdXUQ==} + engines: {node: '>=6.9.0'} + dependencies: + core-js-pure: 3.49.0 + dev: false /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} @@ -1513,7 +2051,6 @@ packages: /@babel/runtime@7.29.7: resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} - dev: true /@babel/template@7.29.7: resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} @@ -1522,7 +2059,6 @@ packages: '@babel/code-frame': 7.29.7 '@babel/parser': 7.29.7 '@babel/types': 7.29.7 - dev: true /@babel/traverse@7.29.7: resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} @@ -1537,7 +2073,6 @@ packages: debug: 4.4.3 transitivePeerDependencies: - supports-color - dev: true /@babel/types@7.29.7: resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} @@ -1545,7 +2080,6 @@ packages: dependencies: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - dev: true /@babel/types@8.0.0: resolution: {integrity: sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==} @@ -1561,7 +2095,13 @@ packages: /@borewit/text-codec@0.2.2: resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} - dev: true + + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: false + optional: true /@commitlint/config-validator@17.4.4: resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} @@ -1678,133 +2218,2196 @@ packages: engines: {node: '>=18'} dev: true - /@emnapi/core@1.10.0: - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - requiresBuild: true - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.5.3 - dev: true - optional: true + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: false - /@emnapi/core@1.11.1: - resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - requiresBuild: true - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.5.3 - dev: true - optional: true + /@docsearch/css@3.9.0: + resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} + dev: false - /@emnapi/core@1.4.5: - resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + /@docsearch/react@3.9.0(@algolia/client-search@5.55.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3): + resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true dependencies: - '@emnapi/wasi-threads': 1.0.4 - tslib: 2.5.3 - dev: true + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) + '@docsearch/css': 3.9.0 + algoliasearch: 5.55.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + dev: false - /@emnapi/runtime@1.10.0: - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - requiresBuild: true + /@docusaurus/core@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-qysDMVp1M5UozK3u/qOxsEZsHF7jeBvJDS+5ItMPYmNKvMbNKeYZGA0g6S7F9hRDwjIlEbvo7BaX0UMDcmTAWA==} + engines: {node: '>=16.14'} + hasBin: true + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/runtime': 7.29.7 + '@babel/runtime-corejs3': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/cssnano-preset': 2.0.0-beta.21 + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/react-loadable': 5.5.2(react@17.0.2) + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-common': 2.0.0-beta.21 + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@slorber/static-site-generator-webpack-plugin': 4.0.7 + '@svgr/webpack': 6.5.1 + autoprefixer: 10.5.0(postcss@8.5.15) + babel-loader: 8.4.1(@babel/core@7.29.7)(webpack@5.107.2) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + clean-css: 5.3.3 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.107.2) + core-js: 3.49.0 + css-loader: 6.11.0(webpack@5.107.2) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.107.2) + cssnano: 5.1.15(postcss@8.5.15) + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 1.14.2 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + html-minifier-terser: 6.1.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.7(webpack@5.107.2) + import-fresh: 3.3.0 + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.10.2(webpack@5.107.2) + postcss: 8.5.15 + postcss-loader: 7.3.4(postcss@8.5.15)(typescript@4.5.5)(webpack@5.107.2) + prompts: 2.4.2 + react: 17.0.2 + react-dev-utils: 12.0.1(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2) + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) + react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) + react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@5.5.2)(webpack@5.107.2) + react-router: 5.3.4(react@17.0.2) + react-router-config: 5.1.1(react-router@5.3.4)(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + remark-admonitions: 1.2.1 + rtl-detect: 1.1.2 + semver: 7.8.5 + serve-handler: 6.1.7 + shelljs: 0.8.5 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2) tslib: 2.5.3 - dev: true - optional: true + update-notifier: 5.1.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + wait-on: 6.0.1 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(webpack@5.107.2) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.107.2) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false - /@emnapi/runtime@1.11.1: - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - requiresBuild: true + /@docusaurus/core@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==} + engines: {node: '>=16.14'} + hasBin: true + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/runtime': 7.29.7 + '@babel/runtime-corejs3': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/cssnano-preset': 2.3.1 + '@docusaurus/logger': 2.3.1 + '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/react-loadable': 5.5.2(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@slorber/static-site-generator-webpack-plugin': 4.0.7 + '@svgr/webpack': 6.5.1 + autoprefixer: 10.5.0(postcss@8.5.15) + babel-loader: 8.4.1(@babel/core@7.29.7)(webpack@5.107.2) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + clean-css: 5.3.3 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.107.2) + core-js: 3.49.0 + css-loader: 6.11.0(webpack@5.107.2) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.107.2) + cssnano: 5.1.15(postcss@8.5.15) + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + html-minifier-terser: 6.1.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.7(webpack@5.107.2) + import-fresh: 3.3.0 + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.10.2(webpack@5.107.2) + postcss: 8.5.15 + postcss-loader: 7.3.4(postcss@8.5.15)(typescript@5.4.5)(webpack@5.107.2) + prompts: 2.4.2 + react: 17.0.2 + react-dev-utils: 12.0.1(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2) + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) + react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) + react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@5.5.2)(webpack@5.107.2) + react-router: 5.3.4(react@17.0.2) + react-router-config: 5.1.1(react-router@5.3.4)(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + rtl-detect: 1.1.2 + semver: 7.8.5 + serve-handler: 6.1.7 + shelljs: 0.8.5 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2) tslib: 2.5.3 - dev: true - optional: true + update-notifier: 5.1.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + wait-on: 6.0.1 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(webpack@5.107.2) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.107.2) + transitivePeerDependencies: + - '@docusaurus/types' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false - /@emnapi/runtime@1.4.5: - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + /@docusaurus/cssnano-preset@2.0.0-beta.21: + resolution: {integrity: sha512-fhTZrg1vc6zYYZIIMXpe1TnEVGEjqscBo0s1uomSwKjjtMgu7wkzc1KKJYY7BndsSA+fVVkZ+OmL/kAsmK7xxw==} + engines: {node: '>=16.14'} dependencies: + cssnano-preset-advanced: 5.3.10(postcss@8.5.15) + postcss: 8.5.15 + postcss-sort-media-queries: 4.4.1(postcss@8.5.15) tslib: 2.5.3 - dev: true + dev: false - /@emnapi/wasi-threads@1.0.4: - resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + /@docusaurus/cssnano-preset@2.3.1: + resolution: {integrity: sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==} + engines: {node: '>=16.14'} dependencies: + cssnano-preset-advanced: 5.3.10(postcss@8.5.15) + postcss: 8.5.15 + postcss-sort-media-queries: 4.4.1(postcss@8.5.15) tslib: 2.5.3 - dev: true + dev: false - /@emnapi/wasi-threads@1.2.1: - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - requiresBuild: true + /@docusaurus/logger@2.0.0-beta.21: + resolution: {integrity: sha512-HTFp8FsSMrAj7Uxl5p72U+P7rjYU/LRRBazEoJbs9RaqoKEdtZuhv8MYPOCh46K9TekaoquRYqag2o23Qt4ggA==} + engines: {node: '>=16.14'} dependencies: + chalk: 4.1.2 tslib: 2.5.3 - dev: true - optional: true + dev: false - /@emnapi/wasi-threads@1.2.2: - resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} - requiresBuild: true + /@docusaurus/logger@2.3.1: + resolution: {integrity: sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==} + engines: {node: '>=16.14'} dependencies: + chalk: 4.1.2 tslib: 2.5.3 - dev: true - optional: true + dev: false - /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@docusaurus/mdx-loader@2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-AI+4obJnpOaBOAYV6df2ux5Y1YJCBS+MhXFf0yhED12sVLJi2vffZgdamYd/d/FwvWDw6QLs/VD2jebd7P50yQ==} + engines: {node: '>=16.14'} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.12.2: - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@babel/parser': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@mdx-js/mdx': 1.6.22 + escape-html: 1.0.3 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + image-size: 1.2.1 + mdast-util-to-string: 2.0.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + remark-emoji: 2.2.0 + stringify-object: 3.3.0 + tslib: 2.5.3 + unist-util-visit: 2.0.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@docusaurus/mdx-loader@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + '@babel/parser': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/logger': 2.3.1 + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@mdx-js/mdx': 1.6.22 + escape-html: 1.0.3 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + image-size: 1.2.1 + mdast-util-to-string: 2.0.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + remark-emoji: 2.2.0 + stringify-object: 3.3.0 + tslib: 2.5.3 + unified: 9.2.2 + unist-util-visit: 2.0.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) transitivePeerDependencies: + - '@docusaurus/types' + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss - supports-color - dev: true - - /@eslint/js@8.57.1: - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + - uglify-js + - webpack-cli + dev: false - /@humanwhocodes/config-array@0.13.0: - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + /@docusaurus/mdx-loader@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 + '@babel/parser': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/logger': 2.3.1 + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@mdx-js/mdx': 1.6.22 + escape-html: 1.0.3 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + image-size: 1.2.1 + mdast-util-to-string: 2.0.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + remark-emoji: 2.2.0 + stringify-object: 3.3.0 + tslib: 2.5.3 + unified: 9.2.2 + unist-util-visit: 2.0.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) transitivePeerDependencies: + - '@docusaurus/types' + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + - uglify-js + - webpack-cli + dev: false - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - dev: true + /@docusaurus/module-type-aliases@2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-gRkWICgQZiqSJgrwRKWjXm5gAB+9IcfYdUbCG0PRPP/G8sNs9zBIOY4uT4Z5ox2CWFEm44U3RTTxj7BiLVMBXw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@docusaurus/types': 2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@types/react': 19.2.17 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 3.0.0(react@17.0.2) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/module-type-aliases@2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@docusaurus/react-loadable': 5.5.2(react@17.0.2) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 3.0.0(react@17.0.2) + react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + - webpack-cli + + /@docusaurus/plugin-content-blog@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-IP21yJViP3oBmgsWBU5LhrG1MZXV4mYCQSoCAboimESmy1Z11RCNP2tXaqizE3iTmXOwZZL+SNBk06ajKCEzWg==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-common': 2.0.0-beta.21 + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + cheerio: 1.2.0 + feed: 4.2.2 + fs-extra: 10.1.0 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + reading-time: 1.5.0 + remark-admonitions: 1.2.1 + tslib: 2.5.3 + unist-util-visit: 2.0.3 + utility-types: 3.11.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-content-blog@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-f5LjqX+9WkiLyGiQ41x/KGSJ/9bOjSD8lsVhPvYeUYHCtYpuiDKfhZE07O4EqpHkBx4NQdtQDbp+aptgHSTuiw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/logger': 2.3.1 + '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + cheerio: 1.2.0 + feed: 4.2.2 + fs-extra: 10.1.0 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + reading-time: 1.5.0 + tslib: 2.5.3 + unist-util-visit: 2.0.3 + utility-types: 3.11.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-content-docs@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-aa4vrzJy4xRy81wNskyhE3wzRf3AgcESZ1nfKh8xgHUkT7fDTZ1UWlg50Jb3LBCQFFyQG2XQB9N6llskI/KUnw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + combine-promises: 1.2.0 + fs-extra: 10.1.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + remark-admonitions: 1.2.1 + tslib: 2.5.3 + utility-types: 3.11.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-content-docs@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-DxztTOBEruv7qFxqUtbsqXeNcHqcVEIEe+NQoI1oi2DBmKBhW/o0MIal8lt+9gvmpx3oYtlwmLOOGepxZgJGkw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/logger': 2.3.1 + '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/module-type-aliases': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 10.1.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + utility-types: 3.11.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-content-pages@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-DmXOXjqNI+7X5hISzCvt54QIK6XBugu2MOxjxzuqI7q92Lk/EVdraEj5mthlH8IaEH/VlpWYJ1O9TzLqX5vH2g==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + fs-extra: 10.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + remark-admonitions: 1.2.1 + tslib: 2.5.3 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-content-pages@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-E80UL6hvKm5VVw8Ka8YaVDtO6kWWDVUK4fffGvkpQ/AJQDOg99LwOXKujPoICC22nUFTsZ2Hp70XvpezCsFQaA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + fs-extra: 10.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-debug@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-P54J4q4ecsyWW0Jy4zbimSIHna999AfbxpXGmF1IjyHrjoA3PtuakV1Ai51XrGEAaIq9q6qMQkEhbUd3CffGAw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + fs-extra: 10.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-json-view: 1.21.3(react-dom@17.0.2)(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - encoding + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-debug@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-Ujpml1Ppg4geB/2hyu2diWnO49az9U2bxM9Shen7b6qVcyFisNJTkVG2ocvLC7wM1efTJcUhBO6zAku2vKJGMw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + fs-extra: 10.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-json-view: 1.21.3(react-dom@17.0.2)(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - encoding + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-google-analytics@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-+5MS0PeGaJRgPuNZlbd/WMdQSpOACaxEz7A81HAxm6kE+tIASTW3l8jgj1eWFy/PGPzaLnQrEjxI1McAfnYmQw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-google-analytics@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-OHip0GQxKOFU8n7gkt3TM4HOYTXPCFDjqKbMClDD3KaDnyTuMp/Zvd9HSr770lLEscgPWIvzhJByRAClqsUWiQ==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-google-gtag@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-4zxKZOnf0rfh6myXLG7a6YZfQcxYDMBsWqANEjCX77H5gPdK+GHZuDrxK6sjFvRBv4liYCrNjo7HJ4DpPoT0zA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-google-gtag@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-uXtDhfu4+Hm+oqWUySr3DNI5cWC/rmP6XJyAk83Heor3dFjZqDwCbkX8yWPywkRiWev3Dk/rVF8lEn0vIGVocA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-google-tag-manager@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-Ww2BPEYSqg8q8tJdLYPFFM3FMDBCVhEM4UUqKzJaiRMx3NEoly3qqDRAoRDGdIhlC//Rf0iJV9cWAoq2m6k3sw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-sitemap@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-/ynWbcXZXcYZ6sT2X6vAJbnfqcPxwdGEybd0rcRZi4gBHq6adMofYI25AqELmnbBDxt0If+vlAeUHFRG5ueP7Q==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-common': 2.0.0-beta.21 + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + fs-extra: 10.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + sitemap: 7.1.3 + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/plugin-sitemap@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-8Yxile/v6QGYV9vgFiYL+8d2N4z4Er3pSHsrD08c5XI8bUXxTppMwjarDUTH/TRTfgAWotRbhJ6WZLyajLpozA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/logger': 2.3.1 + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + fs-extra: 10.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + sitemap: 7.1.3 + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/preset-classic@2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5): + resolution: {integrity: sha512-KvBnIUu7y69pNTJ9UhX6SdNlK6prR//J3L4rhN897tb8xx04xHHILlPXko2Il+C3Xzgh3OCgyvkoz9K6YlFTDw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-blog': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-pages': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-debug': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-google-analytics': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-google-gtag': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-sitemap': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-classic': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-common': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-search-algolia': 2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + transitivePeerDependencies: + - '@algolia/client-search' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - encoding + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/preset-classic@2.3.1(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5): + resolution: {integrity: sha512-OQ5W0AHyfdUk0IldwJ3BlnZ1EqoJuu2L2BMhqLbqwNWdkmzmSUvlFLH1Pe7CZSQgB2YUUC/DnmjbPKk/qQD0lQ==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-blog': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-pages': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-debug': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-google-analytics': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-google-gtag': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-google-tag-manager': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-sitemap': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-classic': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-common': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-search-algolia': 2.3.1(@algolia/client-search@5.55.0)(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5) + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + transitivePeerDependencies: + - '@algolia/client-search' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - encoding + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/react-loadable@5.5.2(react@17.0.2): + resolution: {integrity: sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==} + peerDependencies: + react: '*' + dependencies: + '@types/react': 19.2.17 + prop-types: 15.8.1 + react: 17.0.2 + + /@docusaurus/theme-classic@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-Ge0WNdTefD0VDQfaIMRRWa8tWMG9+8/OlBRd5MK88/TZfqdBq7b/gnCSaalQlvZwwkj6notkKhHx72+MKwWUJA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-blog': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-pages': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-common': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-translations': 2.0.0-beta.21 + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-common': 2.0.0-beta.21 + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@mdx-js/react': 1.6.22(react@17.0.2) + clsx: 1.2.1 + copy-text-to-clipboard: 3.2.2 + infima: 0.2.0-alpha.39 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.5.15 + prism-react-renderer: 1.3.5(react@17.0.2) + prismjs: 1.30.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + rtlcss: 3.5.0 + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/theme-classic@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-SelSIDvyttb7ZYHj8vEUhqykhAqfOPKk+uP0z85jH72IMC58e7O8DIlcAeBv+CWsLbNIl9/Hcg71X0jazuxJug==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/module-type-aliases': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/plugin-content-blog': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-pages': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-common': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-translations': 2.3.1 + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@mdx-js/react': 1.6.22(react@17.0.2) + clsx: 1.2.1 + copy-text-to-clipboard: 3.2.2 + infima: 0.2.0-alpha.42 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.5.15 + prism-react-renderer: 1.3.5(react@17.0.2) + prismjs: 1.30.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + rtlcss: 3.5.0 + tslib: 2.5.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/theme-common@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): + resolution: {integrity: sha512-fTKoTLRfjuFG6c3iwnVjIIOensxWMgdBKLfyE5iih3Lq7tQgkE7NyTGG9BKLrnTJ7cAD2UXdXM9xbB7tBf1qzg==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/module-type-aliases': 2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/plugin-content-blog': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/plugin-content-pages': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + clsx: 1.2.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 1.3.5(react@17.0.2) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/theme-common@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-RYmYl2OR2biO+yhmW1aS5FyEvnrItPINa+0U2dMxcHpah8reSCjQ9eJGRmAgkZFchV1+aIQzXOI1K7LCW38O0g==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/module-type-aliases': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/plugin-content-blog': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/plugin-content-pages': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router-config': 5.0.11 + clsx: 1.2.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 1.3.5(react@17.0.2) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + use-sync-external-store: 1.6.0(react@17.0.2) + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/theme-search-algolia@2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5): + resolution: {integrity: sha512-T1jKT8MVSSfnztSqeebUOpWHPoHKtwDXtKYE0xC99JWoZ+mMfv8AFhVSoSddn54jLJjV36mxg841eHQIySMCpQ==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docsearch/react': 3.9.0(@algolia/client-search@5.55.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3) + '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-common': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) + '@docusaurus/theme-translations': 2.0.0-beta.21 + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + algoliasearch: 4.27.0 + algoliasearch-helper: 3.29.1(algoliasearch@4.27.0) + clsx: 1.2.1 + eta: 1.14.2 + fs-extra: 10.1.0 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/theme-search-algolia@2.3.1(@algolia/client-search@5.55.0)(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5): + resolution: {integrity: sha512-JdHaRqRuH1X++g5fEMLnq7OtULSGQdrs9AbhcWRQ428ZB8/HOiaN6mj3hzHvcD3DFgu7koIVtWPQnvnN7iwzHA==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@docsearch/react': 3.9.0(@algolia/client-search@5.55.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3) + '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/logger': 2.3.1 + '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-common': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) + '@docusaurus/theme-translations': 2.3.1 + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + algoliasearch: 4.27.0 + algoliasearch-helper: 3.29.1(algoliasearch@4.27.0) + clsx: 1.2.1 + eta: 2.2.0 + fs-extra: 10.1.0 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tslib: 2.5.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/types' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - eslint + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + + /@docusaurus/theme-translations@2.0.0-beta.21: + resolution: {integrity: sha512-dLVT9OIIBs6MpzMb1bAy+C0DPJK3e3DNctG+ES0EP45gzEqQxzs4IsghpT+QDaOsuhNnAlosgJpFWX3rqxF9xA==} + engines: {node: '>=16.14'} + dependencies: + fs-extra: 10.1.0 + tslib: 2.5.3 + dev: false + + /@docusaurus/theme-translations@2.3.1: + resolution: {integrity: sha512-BsBZzAewJabVhoGG1Ij2u4pMS3MPW6gZ6sS4pc+Y7czevRpzxoFNJXRtQDVGe7mOpv/MmRmqg4owDK+lcOTCVQ==} + engines: {node: '>=16.14'} + dependencies: + fs-extra: 10.1.0 + tslib: 2.5.3 + dev: false + + /@docusaurus/types@2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ==} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + commander: 5.1.0 + history: 4.10.1 + joi: 17.13.4 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) + utility-types: 3.11.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/types@2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + commander: 5.1.0 + joi: 17.13.4 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) + utility-types: 3.11.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + - webpack-cli + + /@docusaurus/utils-common@2.0.0-beta.21: + resolution: {integrity: sha512-5w+6KQuJb6pUR2M8xyVuTMvO5NFQm/p8TOTDFTx60wt3p0P1rRX00v6FYsD4PK6pgmuoKjt2+Ls8dtSXc4qFpQ==} + engines: {node: '>=16.14'} + dependencies: + tslib: 2.5.3 + dev: false + + /@docusaurus/utils-common@2.3.1(@docusaurus/types@2.3.1): + resolution: {integrity: sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==} + engines: {node: '>=16.14'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + dependencies: + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + tslib: 2.5.3 + dev: false + + /@docusaurus/utils-validation@2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): + resolution: {integrity: sha512-6NG1FHTRjv1MFzqW//292z7uCs77vntpWEbZBHk3n67aB1HoMn5SOwjLPtRDjbCgn6HCHFmdiJr6euCbjhYolg==} + engines: {node: '>=16.14'} + dependencies: + '@docusaurus/logger': 2.0.0-beta.21 + '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + joi: 17.13.4 + js-yaml: 4.1.0 + tslib: 2.5.3 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils-validation@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): + resolution: {integrity: sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==} + engines: {node: '>=16.14'} + dependencies: + '@docusaurus/logger': 2.3.1 + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + joi: 17.13.4 + js-yaml: 4.1.0 + tslib: 2.5.3 + transitivePeerDependencies: + - '@docusaurus/types' + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils-validation@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15): + resolution: {integrity: sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==} + engines: {node: '>=16.14'} + dependencies: + '@docusaurus/logger': 2.3.1 + '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) + joi: 17.13.4 + js-yaml: 4.1.0 + tslib: 2.5.3 + transitivePeerDependencies: + - '@docusaurus/types' + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils@2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): + resolution: {integrity: sha512-M/BrVCDmmUPZLxtiStBgzpQ4I5hqkggcpnQmEN+LbvbohjbtVnnnZQ0vptIziv1w8jry/woY+ePsyOO7O/yeLQ==} + engines: {node: '>=16.14'} + dependencies: + '@docusaurus/logger': 2.0.0-beta.21 + '@svgr/webpack': 6.5.1 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.5.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): + resolution: {integrity: sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==} + engines: {node: '>=16.14'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + dependencies: + '@docusaurus/logger': 2.3.1 + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@svgr/webpack': 6.5.1 + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.5.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15): + resolution: {integrity: sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==} + engines: {node: '>=16.14'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + dependencies: + '@docusaurus/logger': 2.3.1 + '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) + '@svgr/webpack': 6.5.1 + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.107.2) + fs-extra: 10.1.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.5.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@emnapi/core@1.10.0: + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + requiresBuild: true + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/core@1.11.1: + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + requiresBuild: true + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/core@1.4.5: + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + dependencies: + '@emnapi/wasi-threads': 1.0.4 + tslib: 2.5.3 + dev: true + + /@emnapi/runtime@1.10.0: + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/runtime@1.11.1: + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/runtime@1.4.5: + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + dependencies: + tslib: 2.5.3 + dev: true + + /@emnapi/wasi-threads@1.0.4: + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + dependencies: + tslib: 2.5.3 + dev: true + + /@emnapi/wasi-threads@1.2.1: + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@emnapi/wasi-threads@1.2.2: + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + requiresBuild: true + dependencies: + tslib: 2.5.3 + dev: true + optional: true + + /@esbuild/aix-ppc64@0.28.1: + resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.28.1: + resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.28.1: + resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.28.1: + resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.28.1: + resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.28.1: + resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.28.1: + resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.28.1: + resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.28.1: + resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.28.1: + resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.28.1: + resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.28.1: + resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.28.1: + resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.28.1: + resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.28.1: + resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.28.1: + resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.28.1: + resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-arm64@0.28.1: + resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.28.1: + resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-arm64@0.28.1: + resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.28.1: + resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openharmony-arm64@0.28.1: + resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.28.1: + resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.28.1: + resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.28.1: + resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.28.1: + resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + 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.57.1 + eslint-visitor-keys: 3.4.3 + + /@eslint-community/regexpp@4.12.2: + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + 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.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead /@hutson/parse-repository-url@3.0.2: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} @@ -2148,6 +4751,13 @@ packages: - supports-color dev: true + /@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.10 + dev: false + /@jest/schemas@30.0.5: resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2276,6 +4886,18 @@ packages: - supports-color dev: true + /@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.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.130 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + dev: false + /@jest/types@30.0.5: resolution: {integrity: sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2307,19 +4929,22 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 - dev: true /@jridgewell/remapping@2.3.5: resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - dev: true /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true + + /@jridgewell/source-map@0.3.11: + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -2327,14 +4952,12 @@ packages: /@jridgewell/sourcemap-codec@1.5.5: resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - dev: true /@jridgewell/trace-mapping@0.3.31: resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.5.5 - dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -2343,10 +4966,92 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@leichtgewicht/ip-codec@2.0.5: + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + dev: false + /@lukeed/csprng@1.0.1: resolution: {integrity: sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==} engines: {node: '>=8'} - dev: true + + /@mdx-js/mdx@1.6.22: + resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==} + dependencies: + '@babel/core': 7.12.9 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) + '@mdx-js/util': 1.6.22 + babel-plugin-apply-mdx-type-prop: 1.6.22(@babel/core@7.12.9) + babel-plugin-extract-import-names: 1.6.22 + camelcase-css: 2.0.1 + detab: 2.0.4 + hast-util-raw: 6.0.1 + lodash.uniq: 4.5.0 + mdast-util-to-hast: 10.0.1 + remark-footnotes: 2.0.0 + remark-mdx: 1.6.22 + remark-parse: 8.0.3 + remark-squeeze-paragraphs: 4.0.0 + style-to-object: 0.3.0 + unified: 9.2.0 + unist-builder: 2.0.3 + unist-util-visit: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@mdx-js/react@1.6.22(react@17.0.2): + resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} + peerDependencies: + react: ^16.13.1 || ^17.0.0 + dependencies: + react: 17.0.2 + dev: false + + /@mdx-js/util@1.6.22: + resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} + dev: false + + /@mikro-orm/core@5.1.5: + resolution: {integrity: sha512-UU4c6QhdRFO81sF/QlVhJncDEu50nYo+MZzHD3fIP7dNn8cjr86zv2uqK8Bs2TWhPz4HE8mPT6qoZHWlisUNJA==} + engines: {node: '>= 14.0.0'} + peerDependencies: + '@mikro-orm/better-sqlite': ^5.0.0 + '@mikro-orm/entity-generator': ^5.0.0 + '@mikro-orm/mariadb': ^5.0.0 + '@mikro-orm/migrations': ^5.0.0 + '@mikro-orm/mongodb': ^5.0.0 + '@mikro-orm/mysql': ^5.0.0 + '@mikro-orm/postgresql': ^5.0.0 + '@mikro-orm/seeder': ^5.0.0 + '@mikro-orm/sqlite': ^5.0.0 + peerDependenciesMeta: + '@mikro-orm/better-sqlite': + optional: true + '@mikro-orm/entity-generator': + optional: true + '@mikro-orm/mariadb': + optional: true + '@mikro-orm/migrations': + optional: true + '@mikro-orm/mongodb': + optional: true + '@mikro-orm/mysql': + optional: true + '@mikro-orm/postgresql': + optional: true + '@mikro-orm/seeder': + optional: true + '@mikro-orm/sqlite': + optional: true + dependencies: + dotenv: 16.0.1 + escaya: 0.0.61 + fs-extra: 10.1.0 + globby: 11.0.4 + mikro-orm: 5.6.13 + reflect-metadata: 0.1.13 + dev: false /@mikro-orm/core@5.6.13: resolution: {integrity: sha512-PvFi1clhsBM+RJGQXQoNmFS2N917TA7PJqRJOdX+9WtGiJpj3DBCKdRAKbZ7KPkApNrEHWHUOsqWhRAMMdFU5w==} @@ -2391,7 +5096,6 @@ packages: globby: 11.1.0 mikro-orm: 5.6.13 reflect-metadata: 0.1.13 - dev: true /@napi-rs/nice-android-arm-eabi@1.1.1: resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} @@ -2613,22 +5317,101 @@ packages: reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: - class-transformer: + class-transformer: + optional: true + class-validator: + optional: true + dependencies: + file-type: 20.4.1 + iterare: 1.2.1 + reflect-metadata: 0.1.13 + rxjs: 7.8.0 + tslib: 2.8.1 + uid: 2.0.2 + transitivePeerDependencies: + - supports-color + + /@nestjs/common@10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.1): + resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} + peerDependencies: + class-transformer: '*' + class-validator: '*' + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + dependencies: + file-type: 20.4.1 + iterare: 1.2.1 + reflect-metadata: 0.1.13 + rxjs: 7.8.1 + tslib: 2.8.1 + uid: 2.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@nestjs/common@8.4.7(reflect-metadata@0.1.13)(rxjs@7.5.7): + resolution: {integrity: sha512-m/YsbcBal+gA5CFrDpqXqsSfylo+DIQrkFY3qhVIltsYRfu8ct8J9pqsTO6OPf3mvqdOpFGrV5sBjoyAzOBvsw==} + peerDependencies: + cache-manager: '*' + class-transformer: '*' + class-validator: '*' + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + cache-manager: + optional: true + class-transformer: + optional: true + class-validator: + optional: true + dependencies: + axios: 0.27.2 + iterare: 1.2.1 + reflect-metadata: 0.1.13 + rxjs: 7.5.7 + tslib: 2.4.0 + uuid: 8.3.2 + transitivePeerDependencies: + - debug + dev: false + + /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0): + resolution: {integrity: sha512-6IX9+VwjiKtCjx+mXVPncpkQ5ZjKfmssOZPFexmT+6T9H9wZ3svpYACAo7+9e7Nr9DZSoRZw3pffkJP7Z0UjaA==} + requiresBuild: true + peerDependencies: + '@nestjs/common': ^10.0.0 + '@nestjs/microservices': ^10.0.0 + '@nestjs/platform-express': ^10.0.0 + '@nestjs/websockets': ^10.0.0 + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + '@nestjs/microservices': optional: true - class-validator: + '@nestjs/platform-express': + optional: true + '@nestjs/websockets': optional: true dependencies: - file-type: 20.4.1 + '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) + '@nuxtjs/opencollective': 0.3.2 + fast-safe-stringify: 2.1.1 iterare: 1.2.1 + path-to-regexp: 3.3.0 reflect-metadata: 0.1.13 rxjs: 7.8.0 tslib: 2.8.1 uid: 2.0.2 transitivePeerDependencies: - - supports-color - dev: true + - encoding - /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0): + /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.1): resolution: {integrity: sha512-6IX9+VwjiKtCjx+mXVPncpkQ5ZjKfmssOZPFexmT+6T9H9wZ3svpYACAo7+9e7Nr9DZSoRZw3pffkJP7Z0UjaA==} requiresBuild: true peerDependencies: @@ -2646,19 +5429,52 @@ packages: '@nestjs/websockets': optional: true dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.1) '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 path-to-regexp: 3.3.0 reflect-metadata: 0.1.13 - rxjs: 7.8.0 + rxjs: 7.8.1 tslib: 2.8.1 uid: 2.0.2 transitivePeerDependencies: - encoding - dev: true + dev: false + + /@nestjs/core@8.4.7(@nestjs/common@8.4.7)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.5.7): + resolution: {integrity: sha512-XB9uexHqzr2xkPo6QSiQWJJttyYYLmvQ5My64cFvWFi7Wk2NIus0/xUNInwX3kmFWB6pF1ab5Y2ZBvWdPwGBhw==} + requiresBuild: true + peerDependencies: + '@nestjs/common': ^8.0.0 + '@nestjs/microservices': ^8.0.0 + '@nestjs/platform-express': ^8.0.0 + '@nestjs/websockets': ^8.0.0 + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + '@nestjs/microservices': + optional: true + '@nestjs/platform-express': + optional: true + '@nestjs/websockets': + optional: true + dependencies: + '@nestjs/common': 8.4.7(reflect-metadata@0.1.13)(rxjs@7.5.7) + '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) + '@nuxtjs/opencollective': 0.3.2 + fast-safe-stringify: 2.1.1 + iterare: 1.2.1 + object-hash: 3.0.0 + path-to-regexp: 3.2.0 + reflect-metadata: 0.1.13 + rxjs: 7.5.7 + tslib: 2.4.0 + uuid: 8.3.2 + transitivePeerDependencies: + - encoding + dev: false /@nestjs/platform-express@10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22): resolution: {integrity: sha512-ySSq7Py/DFozzZdNDH67m/vHoeVdphDniWBnl6q5QVoXldDdrZIHLXLRMPayTDh5A95nt7jjJzmD4qpTbNQ6tA==} @@ -2675,7 +5491,6 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - supports-color - dev: true /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@5.4.5): resolution: {integrity: sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==} @@ -2722,12 +5537,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -2735,7 +5548,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - dev: true /@nuxtjs/opencollective@0.3.2: resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} @@ -2747,7 +5559,6 @@ packages: node-fetch: 2.6.9 transitivePeerDependencies: - encoding - dev: true /@nx/devkit@22.7.5(nx@22.7.5): resolution: {integrity: sha512-/63ziS7kdHXYTLLhwWBu9hFwoFFT8xf+PkcQjsNdPqc5JmkYkSew0cE/vp5ORgBpGLWWnFPJgmfqjbJoO2C7jA==} @@ -3275,6 +6086,10 @@ packages: config-chain: 1.1.13 dev: true + /@polka/url@1.0.0-next.29: + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + dev: false + /@quansync/fs@1.0.0: resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} dependencies: @@ -3454,10 +6269,30 @@ packages: resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} dev: true + /@sideway/address@4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + dependencies: + '@hapi/hoek': 9.3.0 + + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + /@sinclair/typebox@0.27.10: + resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + dev: false + /@sinclair/typebox@0.34.49: resolution: {integrity: sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==} dev: true + /@sindresorhus/is@0.14.0: + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} + dev: false + /@sindresorhus/is@5.3.0: resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} engines: {node: '>=14.16'} @@ -3481,6 +6316,168 @@ packages: '@sinonjs/commons': 3.0.1 dev: true + /@slorber/static-site-generator-webpack-plugin@4.0.7: + resolution: {integrity: sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==} + engines: {node: '>=14'} + dependencies: + eval: 0.1.8 + p-map: 4.0.0 + webpack-sources: 3.5.0 + dev: false + + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + dev: false + + /@svgr/babel-preset@6.5.1(@babel/core@7.29.7): + resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.29.7) + dev: false + + /@svgr/core@6.5.1: + resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-preset': 6.5.1(@babel/core@7.29.7) + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@svgr/hast-util-to-babel-ast@6.5.1: + resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} + engines: {node: '>=10'} + dependencies: + '@babel/types': 7.29.7 + entities: 4.4.0 + dev: false + + /@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1): + resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': ^6.0.0 + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-preset': 6.5.1(@babel/core@7.29.7) + '@svgr/core': 6.5.1 + '@svgr/hast-util-to-babel-ast': 6.5.1 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1): + resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@svgr/core': 6.5.1 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + svgo: 2.8.2 + dev: false + + /@svgr/webpack@6.5.1: + resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@svgr/core': 6.5.1 + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) + transitivePeerDependencies: + - supports-color + dev: false + /@swc/cli@0.7.10(@swc/core@1.15.41): resolution: {integrity: sha512-QQ36Q1VwGTT2YzvMeNe/j1x4DKS277DscNhWc57dIwQn//C+zAgvuSupMB/XkmYqPKQX+8hjn5/cHRJrMvWy0Q==} engines: {node: '>= 16.14.0'} @@ -3515,7 +6512,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@swc/core-darwin-x64@1.15.41: @@ -3524,7 +6520,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm-gnueabihf@1.15.41: @@ -3533,7 +6528,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm64-gnu@1.15.41: @@ -3542,7 +6536,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm64-musl@1.15.41: @@ -3551,7 +6544,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-ppc64-gnu@1.15.41: @@ -3560,7 +6552,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-s390x-gnu@1.15.41: @@ -3569,7 +6560,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-x64-gnu@1.15.41: @@ -3578,7 +6568,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-x64-musl@1.15.41: @@ -3587,7 +6576,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-win32-arm64-msvc@1.15.41: @@ -3596,7 +6584,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core-win32-ia32-msvc@1.15.41: @@ -3605,7 +6592,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core-win32-x64-msvc@1.15.41: @@ -3614,7 +6600,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core@1.15.41(@swc/helpers@0.5.23): @@ -3643,11 +6628,9 @@ packages: '@swc/core-win32-arm64-msvc': 1.15.41 '@swc/core-win32-ia32-msvc': 1.15.41 '@swc/core-win32-x64-msvc': 1.15.41 - dev: true /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - dev: true /@swc/helpers@0.5.23: resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} @@ -3670,7 +6653,13 @@ packages: resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} dependencies: '@swc/counter': 0.1.3 - dev: true + + /@szmarczak/http-timer@1.1.2: + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} + dependencies: + defer-to-connect: 1.1.3 + dev: false /@szmarczak/http-timer@5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -3688,11 +6677,9 @@ packages: token-types: 6.1.2 transitivePeerDependencies: - supports-color - dev: true /@tokenizer/token@0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: true /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} @@ -3758,6 +6745,32 @@ packages: '@babel/types': 7.29.7 dev: true + /@types/body-parser@1.19.6: + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 18.19.130 + dev: false + + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + dependencies: + '@types/node': 18.19.130 + dev: false + + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + dependencies: + '@types/express-serve-static-core': 5.1.1 + '@types/node': 18.19.130 + dev: false + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 18.19.130 + dev: false + /@types/cookiejar@2.1.2: resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} dev: true @@ -3766,7 +6779,6 @@ packages: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: '@types/ms': 0.7.31 - dev: true /@types/esquery@1.5.4: resolution: {integrity: sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==} @@ -3776,31 +6788,77 @@ packages: /@types/estree@1.0.9: resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - dev: true + + /@types/express-serve-static-core@4.19.8: + resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} + dependencies: + '@types/node': 18.19.130 + '@types/qs': 6.15.1 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + dev: false + + /@types/express-serve-static-core@5.1.1: + resolution: {integrity: sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==} + dependencies: + '@types/node': 18.19.130 + '@types/qs': 6.15.1 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + dev: false + + /@types/express@4.17.25: + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.8 + '@types/qs': 6.15.1 + '@types/serve-static': 1.15.10 + dev: false + + /@types/hast@2.3.10: + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + dependencies: + '@types/unist': 2.0.11 + dev: false + + /@types/history@4.7.11: + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + /@types/html-minifier-terser@6.1.0: + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + dev: false /@types/http-cache-semantics@4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true + /@types/http-errors@2.0.5: + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + dev: false + + /@types/http-proxy@1.17.17: + resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + dependencies: + '@types/node': 18.19.130 + dev: false + /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.6 - dev: true /@types/istanbul-reports@3.0.4: resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: '@types/istanbul-lib-report': 3.0.0 - dev: true /@types/jest@30.0.0: resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} @@ -3821,19 +6879,49 @@ packages: resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} dev: true + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 18.19.130 + dev: false + + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + dependencies: + '@types/unist': 2.0.11 + dev: false + + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: false + /@types/minimist@1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: true + + /@types/node-forge@1.3.14: + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + dependencies: + '@types/node': 18.19.130 + dev: false + + /@types/node@16.11.68: + resolution: {integrity: sha512-JkRpuVz3xCNCWaeQ5EHLR/6woMbHZz/jZ7Kmc63AkU+1HxnoUugzSWMck7dsR4DvNYX8jp9wTi9K7WvnxOIQZQ==} + + /@types/node@17.0.45: + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + dev: false /@types/node@18.19.130: resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} dependencies: undici-types: 5.26.5 - dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3841,7 +6929,92 @@ packages: /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true + + /@types/parse5@5.0.3: + resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} + dev: false + + /@types/qs@6.15.1: + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} + dev: false + + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: false + + /@types/react-router-config@5.0.11: + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router': 5.1.20 + + /@types/react-router-dom@5.3.3: + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router': 5.1.20 + + /@types/react-router@5.1.20: + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + + /@types/react@19.2.17: + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + dependencies: + csstype: 3.2.3 + + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + dependencies: + '@types/node': 18.19.130 + dev: false + + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: false + + /@types/sax@1.2.7: + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + dependencies: + '@types/node': 18.19.130 + dev: false + + /@types/send@0.17.6: + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 18.19.130 + dev: false + + /@types/send@1.2.1: + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + dependencies: + '@types/node': 18.19.130 + dev: false + + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + dependencies: + '@types/express': 4.17.25 + dev: false + + /@types/serve-static@1.15.10: + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 18.19.130 + '@types/send': 0.17.6 + dev: false + + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + dependencies: + '@types/node': 18.19.130 + dev: false /@types/stack-utils@2.0.3: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -3864,19 +7037,26 @@ packages: resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} dev: true + /@types/unist@2.0.11: + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + dev: false + /@types/validator@13.7.13: resolution: {integrity: sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q==} - dev: true + + /@types/ws@8.18.1: + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + dependencies: + '@types/node': 18.19.130 + dev: false /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true /@types/yargs@17.0.35: resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} dependencies: '@types/yargs-parser': 21.0.0 - dev: true /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} @@ -4106,7 +7286,6 @@ packages: /@ungap/structured-clone@1.3.1: resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} - dev: true /@unrs/resolver-binding-android-arm-eabi@1.12.2: resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} @@ -4288,6 +7467,97 @@ packages: dev: true optional: true + /@webassemblyjs/ast@1.14.1: + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + /@webassemblyjs/floating-point-hex-parser@1.13.2: + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + /@webassemblyjs/helper-api-error@1.13.2: + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + /@webassemblyjs/helper-buffer@1.14.1: + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + /@webassemblyjs/helper-numbers@1.13.2: + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + /@webassemblyjs/helper-wasm-bytecode@1.13.2: + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + /@webassemblyjs/helper-wasm-section@1.14.1: + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + /@webassemblyjs/ieee754@1.13.2: + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + dependencies: + '@xtuc/ieee754': 1.2.0 + + /@webassemblyjs/leb128@1.13.2: + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + dependencies: + '@xtuc/long': 4.2.2 + + /@webassemblyjs/utf8@1.13.2: + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + /@webassemblyjs/wasm-edit@1.14.1: + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + /@webassemblyjs/wasm-gen@1.14.1: + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + /@webassemblyjs/wasm-opt@1.14.1: + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + /@webassemblyjs/wasm-parser@1.14.1: + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + /@webassemblyjs/wast-printer@1.14.1: + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + /@xhmikosr/archive-type@7.1.0: resolution: {integrity: sha512-xZEpnGplg1sNPyEgFh0zbHxqlw5dtYg6viplmWSxUj12+QjU9SKu3U/2G73a15pEjLaOqTefNSZ1fOPUOT4Xgg==} engines: {node: '>=18'} @@ -4419,6 +7689,12 @@ packages: arch: 3.0.0 dev: true + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true @@ -4444,7 +7720,14 @@ packages: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: true + + /acorn-import-phases@1.0.4(acorn@8.17.0): + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + dependencies: + acorn: 8.17.0 /acorn-jsx@5.3.2(acorn@8.17.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -4452,36 +7735,36 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.17.0 - dev: true /acorn-loose@8.3.0: resolution: {integrity: sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==} engines: {node: '>=0.4.0'} dependencies: acorn: 8.8.2 - dev: true /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - dev: true /acorn@8.17.0: resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true + /address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + dev: false + /address@2.0.3: resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==} engines: {node: '>= 16.0.0'} @@ -4501,6 +7784,24 @@ packages: engines: {node: '>= 14'} dev: true + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: false + + /ajv-formats@2.1.1(ajv@8.18.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.18.0 + /ajv-formats@3.0.1(ajv@8.18.0): resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: @@ -4512,6 +7813,22 @@ packages: ajv: 8.18.0 dev: true + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: false + + /ajv-keywords@5.1.0(ajv@8.18.0): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.18.0 + fast-deep-equal: 3.1.3 + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -4519,7 +7836,6 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -4539,7 +7855,55 @@ packages: fast-uri: 3.1.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - dev: true + + /algoliasearch-helper@3.29.1(algoliasearch@4.27.0): + resolution: {integrity: sha512-6ck2YFudF2Pje7szQoPBiRFTGfd+1I+0I/WfLPGn0bj1kvrFoOQmNyedNiDxTk3/r4IfSLDYk+RA4G7u8H6+yA==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 4.27.0 + dev: false + + /algoliasearch@4.27.0: + resolution: {integrity: sha512-C88C5grLa5VOCp9eYZJt+q99ik7yNdm92l7Q9+4XK0Md8kL05Lg8l2v9ZVX0uMW3mH9pAFxMMXlLOvqNumA4lw==} + dependencies: + '@algolia/cache-browser-local-storage': 4.27.0 + '@algolia/cache-common': 4.27.0 + '@algolia/cache-in-memory': 4.27.0 + '@algolia/client-account': 4.27.0 + '@algolia/client-analytics': 4.27.0 + '@algolia/client-common': 4.27.0 + '@algolia/client-personalization': 4.27.0 + '@algolia/client-search': 4.27.0 + '@algolia/logger-common': 4.27.0 + '@algolia/logger-console': 4.27.0 + '@algolia/recommend': 4.27.0 + '@algolia/requester-browser-xhr': 4.27.0 + '@algolia/requester-common': 4.27.0 + '@algolia/requester-node-http': 4.27.0 + '@algolia/transporter': 4.27.0 + dev: false + + /algoliasearch@5.55.0: + resolution: {integrity: sha512-af+rI+tUVeS9KWHPAZQHIHPOIC3StPRR6IwQu2nz1aQoTL6Gs5Ty3KsHCgbXMHOpoh9QqSjq8F3KJ8xmaCZSBA==} + engines: {node: '>= 14.0.0'} + dependencies: + '@algolia/abtesting': 1.21.0 + '@algolia/client-abtesting': 5.55.0 + '@algolia/client-analytics': 5.55.0 + '@algolia/client-common': 5.55.0 + '@algolia/client-insights': 5.55.0 + '@algolia/client-personalization': 5.55.0 + '@algolia/client-query-suggestions': 5.55.0 + '@algolia/client-search': 5.55.0 + '@algolia/ingestion': 1.55.0 + '@algolia/monitoring': 1.55.0 + '@algolia/recommend': 5.55.0 + '@algolia/requester-browser-xhr': 5.55.0 + '@algolia/requester-fetch': 5.55.0 + '@algolia/requester-node-http': 5.55.0 + dev: false /all-contributors-cli@6.24.0: resolution: {integrity: sha512-7oSKr2PnqxsOotuSwciltcFTS1eVRdjR0cn99hbElfff7gRQBShVhsf/XBprY41sLcgqTk0l0MKgKv6QNgZdMg==} @@ -4564,7 +7928,6 @@ packages: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 - dev: true /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -4590,6 +7953,12 @@ packages: type-fest: 3.6.1 dev: true + /ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: false + /ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} @@ -4603,26 +7972,22 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: true /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - dev: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} @@ -4632,7 +7997,6 @@ packages: /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: true /ansis@4.3.1: resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} @@ -4645,11 +8009,9 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true /append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} - dev: true /arch@3.0.0: resolution: {integrity: sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==} @@ -4659,19 +8021,20 @@ packages: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: false + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 - dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -4684,7 +8047,6 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true /array.prototype.map@1.0.5: resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} @@ -4704,7 +8066,6 @@ packages: /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true /ast-kit@3.0.0: resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} @@ -4740,18 +8101,48 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - dev: true + + /autoprefixer@10.5.0(postcss@8.5.15): + resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.28.2 + caniuse-lite: 1.0.30001799 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + dev: false /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} dev: true + /axios@0.25.0: + resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} + dependencies: + follow-redirects: 1.16.0 + transitivePeerDependencies: + - debug + dev: false + + /axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + dependencies: + follow-redirects: 1.16.0 + form-data: 4.0.6 + transitivePeerDependencies: + - debug + dev: false + /axios@1.16.0: resolution: {integrity: sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==} dependencies: @@ -4835,6 +8226,31 @@ packages: - supports-color dev: true + /babel-loader@8.4.1(@babel/core@7.29.7)(webpack@5.107.2): + resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==} + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + dependencies: + '@babel/core': 7.29.7 + find-cache-dir: 3.3.2 + loader-utils: 2.0.4 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9): + resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==} + peerDependencies: + '@babel/core': ^7.11.6 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.10.4 + '@mdx-js/util': 1.6.22 + dev: false + /babel-plugin-const-enum@1.2.0(@babel/core@7.29.7): resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: @@ -4848,6 +8264,18 @@ packages: - supports-color dev: true + /babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + dependencies: + object.assign: 4.1.4 + dev: false + + /babel-plugin-extract-import-names@1.6.22: + resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==} + dependencies: + '@babel/helper-plugin-utils': 7.10.4 + dev: false + /babel-plugin-istanbul@7.0.1: resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} engines: {node: '>=12'} @@ -4962,7 +8390,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} @@ -4974,7 +8401,6 @@ packages: core-js-compat: 3.49.0 transitivePeerDependencies: - supports-color - dev: true /babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} @@ -4986,7 +8412,6 @@ packages: core-js-compat: 3.49.0 transitivePeerDependencies: - supports-color - dev: true /babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} @@ -4997,7 +8422,6 @@ packages: '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - dev: true /babel-plugin-transform-inline-consecutive-adds@0.4.3: resolution: {integrity: sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==} @@ -5133,9 +8557,12 @@ packages: lodash: 4.17.21 dev: true + /bail@1.0.5: + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + dev: false + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true /balanced-match@4.0.3: resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} @@ -5209,6 +8636,10 @@ packages: bare-path: 3.0.1 dev: true + /base16@1.0.0: + resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} + dev: false + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -5217,7 +8648,6 @@ packages: resolution: {integrity: sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==} engines: {node: '>=6.0.0'} hasBin: true - dev: true /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} @@ -5226,10 +8656,18 @@ packages: safe-buffer: 5.1.2 dev: true + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: false + /before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: false + /bin-version-check@5.1.0: resolution: {integrity: sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==} engines: {node: '>=12'} @@ -5247,6 +8685,11 @@ packages: find-versions: 5.1.0 dev: true + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + /birpc@4.0.0: resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} dev: true @@ -5285,7 +8728,44 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true + + /bonjour-service@1.4.1: + resolution: {integrity: sha512-9KM4QMPKnaJqaja1v7gYO/+TXZGLtzPA05NmUTqDAJjcsWeVoOXKMvU9g0gfuuoYTQqJZ924hivICd5R/bCJbA==} + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: false + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + /boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + dev: false + + /boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: false /boxen@7.0.2: resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==} @@ -5306,13 +8786,11 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true /brace-expansion@2.1.1: resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} dependencies: balanced-match: 1.0.2 - dev: true /brace-expansion@5.0.6: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} @@ -5326,14 +8804,12 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: fill-range: 7.1.1 - dev: true /browserslist@4.28.2: resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} @@ -5345,7 +8821,6 @@ packages: electron-to-chromium: 1.5.376 node-releases: 2.0.48 update-browserslist-db: 1.2.3(browserslist@4.28.2) - dev: true /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -5362,7 +8837,6 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -5383,12 +8857,15 @@ packages: engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 - dev: true + + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: false /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: true /cac@7.0.0: resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} @@ -5413,6 +8890,19 @@ packages: responselike: 3.0.0 dev: true + /cacheable-request@6.1.0: + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 3.1.0 + lowercase-keys: 2.0.0 + normalize-url: 4.5.1 + responselike: 1.0.2 + dev: false + /cachedir@2.3.0: resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} @@ -5424,14 +8914,12 @@ packages: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - dev: true /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.0 - dev: true /call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} @@ -5439,12 +8927,21 @@ packages: dependencies: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.5.3 + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: false /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -5463,16 +8960,26 @@ packages: /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - dev: true /camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} dev: true + /caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.28.2 + caniuse-lite: 1.0.30001799 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + /caniuse-lite@1.0.30001799: resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} - dev: true + + /ccount@1.1.0: + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + dev: false /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -5481,7 +8988,6 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -5489,7 +8995,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} @@ -5501,14 +9006,76 @@ packages: engines: {node: '>=10'} dev: true + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: false + + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: false + + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: false + /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.2.2 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + dev: false + + /cheerio@1.2.0: + resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} + engines: {node: '>=20.18.1'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.1.0 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.28.0 + whatwg-mimetype: 4.0.0 + dev: false + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: false + /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - dev: true /ci-info@4.4.0: resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} @@ -5519,10 +9086,25 @@ packages: resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} dev: true + /clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: false + + /cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: false + /cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - dev: true /cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} @@ -5555,6 +9137,15 @@ packages: engines: {node: '>=6'} dev: true + /cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + dev: false + /cli-width@2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} dev: true @@ -5594,16 +9185,39 @@ packages: wrap-ansi: 7.0.0 dev: true + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: false + /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} dev: true + /clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + dev: false + /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true + /collapse-white-space@1.0.6: + resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} + dev: false + /collect-v8-coverage@1.0.3: resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} dev: true @@ -5612,22 +9226,25 @@ packages: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - dev: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false /columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} @@ -5637,22 +9254,40 @@ packages: wcwidth: 1.0.1 dev: true + /combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + dev: false + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - dev: true + + /comma-separated-tokens@1.0.8: + resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + dev: false + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} /commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} dev: true + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - dev: true /comment-json@5.0.0: resolution: {integrity: sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==} @@ -5686,6 +9321,10 @@ packages: - '@swc/wasm' dev: true + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: false + /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -5697,9 +9336,30 @@ packages: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true /concat-stream@2.0.0: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} @@ -5709,7 +9369,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.1 typedarray: 0.0.6 - dev: true /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -5718,6 +9377,18 @@ packages: proto-list: 1.2.4 dev: true + /configstore@5.0.1: + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.11 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + dev: false + /configstore@6.0.0: resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} engines: {node: '>=12'} @@ -5733,21 +9404,28 @@ packages: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: false + /consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true + + /content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + dev: false /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 - dev: true /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: true /conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} @@ -5916,34 +9594,58 @@ packages: /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true /cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - dev: true /cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} dev: true + /copy-text-to-clipboard@3.2.2: + resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} + engines: {node: '>=12'} + dev: false + + /copy-webpack-plugin@11.0.0(webpack@5.107.2): + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + dependencies: + fast-glob: 3.2.12 + glob-parent: 6.0.2 + globby: 13.1.3 + normalize-path: 3.0.0 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + /core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} dependencies: browserslist: 4.28.2 - dev: true + + /core-js-pure@3.49.0: + resolution: {integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==} + requiresBuild: true + dev: false + + /core-js@3.49.0: + resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} + requiresBuild: true + dev: false /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} @@ -5951,7 +9653,6 @@ packages: dependencies: object-assign: 4.1.1 vary: 1.1.2 - dev: true /corser@2.0.1: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} @@ -5975,6 +9676,17 @@ packages: dev: true optional: true + /cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: false + /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} @@ -5984,7 +9696,6 @@ packages: parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.2 - dev: true /cosmiconfig@8.1.0: resolution: {integrity: sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==} @@ -5996,10 +9707,50 @@ packages: path-type: 4.0.0 dev: true + /cosmiconfig@8.3.6(typescript@4.5.5): + 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: 4.5.5 + dev: false + + /cosmiconfig@8.3.6(typescript@5.4.5): + 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.4.5 + dev: false + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: false + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6007,7 +9758,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true /cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} @@ -6016,7 +9766,11 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true + + /crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: false /crypto-random-string@4.0.0: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} @@ -6025,6 +9779,184 @@ packages: type-fest: 1.4.0 dev: true + /css-declaration-sorter@6.4.1(postcss@8.5.15): + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.5.15 + + /css-loader@6.11.0(webpack@5.107.2): + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + dependencies: + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.15) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.15) + postcss-modules-scope: 3.2.1(postcss@8.5.15) + postcss-modules-values: 4.0.0(postcss@8.5.15) + postcss-value-parser: 4.2.0 + semver: 7.8.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.107.2): + resolution: {integrity: sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + dependencies: + clean-css: 5.3.3 + cssnano: 5.1.15(postcss@8.5.15) + jest-worker: 29.7.0 + postcss: 8.5.15 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + source-map: 0.6.1 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + /css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + dev: false + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + /css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + /cssnano-preset-advanced@5.3.10(postcss@8.5.15): + resolution: {integrity: sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + autoprefixer: 10.5.0(postcss@8.5.15) + cssnano-preset-default: 5.2.14(postcss@8.5.15) + postcss: 8.5.15 + postcss-discard-unused: 5.1.0(postcss@8.5.15) + postcss-merge-idents: 5.1.1(postcss@8.5.15) + postcss-reduce-idents: 5.2.0(postcss@8.5.15) + postcss-zindex: 5.1.0(postcss@8.5.15) + dev: false + + /cssnano-preset-default@5.2.14(postcss@8.5.15): + resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.5.15) + cssnano-utils: 3.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-calc: 8.2.4(postcss@8.5.15) + postcss-colormin: 5.3.1(postcss@8.5.15) + postcss-convert-values: 5.1.3(postcss@8.5.15) + postcss-discard-comments: 5.1.2(postcss@8.5.15) + postcss-discard-duplicates: 5.1.0(postcss@8.5.15) + postcss-discard-empty: 5.1.1(postcss@8.5.15) + postcss-discard-overridden: 5.1.0(postcss@8.5.15) + postcss-merge-longhand: 5.1.7(postcss@8.5.15) + postcss-merge-rules: 5.1.4(postcss@8.5.15) + postcss-minify-font-values: 5.1.0(postcss@8.5.15) + postcss-minify-gradients: 5.1.1(postcss@8.5.15) + postcss-minify-params: 5.1.4(postcss@8.5.15) + postcss-minify-selectors: 5.2.1(postcss@8.5.15) + postcss-normalize-charset: 5.1.0(postcss@8.5.15) + postcss-normalize-display-values: 5.1.0(postcss@8.5.15) + postcss-normalize-positions: 5.1.1(postcss@8.5.15) + postcss-normalize-repeat-style: 5.1.1(postcss@8.5.15) + postcss-normalize-string: 5.1.0(postcss@8.5.15) + postcss-normalize-timing-functions: 5.1.0(postcss@8.5.15) + postcss-normalize-unicode: 5.1.1(postcss@8.5.15) + postcss-normalize-url: 5.1.0(postcss@8.5.15) + postcss-normalize-whitespace: 5.1.1(postcss@8.5.15) + postcss-ordered-values: 5.1.3(postcss@8.5.15) + postcss-reduce-initial: 5.1.2(postcss@8.5.15) + postcss-reduce-transforms: 5.1.0(postcss@8.5.15) + postcss-svgo: 5.1.0(postcss@8.5.15) + postcss-unique-selectors: 5.1.1(postcss@8.5.15) + + /cssnano-utils@3.1.0(postcss@8.5.15): + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + + /cssnano@5.1.15(postcss@8.5.15): + resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.14(postcss@8.5.15) + lilconfig: 2.1.0 + postcss: 8.5.15 + yaml: 1.10.2 + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + /cssstyle@4.6.0: resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} @@ -6033,6 +9965,9 @@ packages: rrweb-cssom: 0.8.0 dev: true + /csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + /cz-conventional-changelog@3.3.0(@swc/core@1.15.41): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} @@ -6089,6 +10024,10 @@ packages: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true + /debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + dev: false + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -6098,7 +10037,6 @@ packages: optional: true dependencies: ms: 2.0.0 - dev: true /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -6133,7 +10071,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} @@ -6145,7 +10082,6 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -6164,6 +10100,13 @@ packages: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} dev: true + /decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: false + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -6187,16 +10130,20 @@ packages: /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} - dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - dev: true + + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: false /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -6209,6 +10156,10 @@ packages: engines: {node: '>=16'} dev: true + /defer-to-connect@1.1.3: + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + dev: false + /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -6217,7 +10168,6 @@ packages: /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} - dev: true /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} @@ -6225,7 +10175,6 @@ packages: dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - dev: true /defu@6.1.7: resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} @@ -6241,15 +10190,32 @@ packages: vm2: 3.9.14 dev: true + /del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: false + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: true + + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: true /deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -6258,7 +10224,12 @@ packages: /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true + + /detab@2.0.4: + resolution: {integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==} + dependencies: + repeat-string: 1.6.1 + dev: false /detect-file@1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} @@ -6280,6 +10251,32 @@ packages: engines: {node: '>=8'} dev: true + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: false + + /detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + + /detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + dependencies: + address: 1.2.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + dev: false + /detect-port@2.1.0: resolution: {integrity: sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==} engines: {node: '>= 16.0.0'} @@ -6309,21 +10306,93 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: true + + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + dev: false /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 - dev: true + + /docusaurus-plugin-typedoc@0.17.2(typedoc-plugin-markdown@3.11.14)(typedoc@0.22.13): + resolution: {integrity: sha512-4K6kJbyUlUMR7tl2cMfCOG8E/3N0JISw7Wcx0afo0lvrXdZukDqwtpS58Nt/hBVO1s6gzSWyK+PJjseaDq0JdA==} + peerDependencies: + typedoc: '>=0.22.0' + typedoc-plugin-markdown: '>=3.11.10' + dependencies: + typedoc: 0.22.13(typescript@4.5.5) + typedoc-plugin-markdown: 3.11.14(typedoc@0.22.13) + dev: false + + /dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dependencies: + utila: 0.4.0 + dev: false + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.4.0 + dev: false + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + /domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: false + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.3 /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} dependencies: is-obj: 2.0.0 - dev: true /dot-prop@6.0.1: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} @@ -6354,10 +10423,14 @@ packages: dotenv: 16.4.7 dev: true + /dotenv@16.0.1: + resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} + engines: {node: '>=12'} + dev: false + /dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - dev: true /dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} @@ -6366,7 +10439,6 @@ packages: /dottie@2.0.3: resolution: {integrity: sha512-4liA0PuRkZWQFQjwBypdxPfZaRWiv5tkhMXY2hzsa2pNf5s7U3m9cwUchfNKe8wZQxdGPQQzO6Rm2uGe0rvohQ==} - dev: true /dts-resolver@3.0.0: resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} @@ -6385,11 +10457,17 @@ packages: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - dev: true + + /duplexer3@0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: false + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: false /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true /editor@1.0.0: resolution: {integrity: sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==} @@ -6397,7 +10475,6 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true /ejs@5.0.1: resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} @@ -6407,7 +10484,6 @@ packages: /electron-to-chromium@1.5.376: resolution: {integrity: sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==} - dev: true /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -6416,11 +10492,18 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: false + + /emoticon@3.2.0: + resolution: {integrity: sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==} + dev: false /empathic@2.0.1: resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} @@ -6430,13 +10513,25 @@ packages: /encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - dev: true + + /encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + dev: false /end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} dependencies: once: 1.4.0 - dev: true + + /enhanced-resolve@5.24.0: + resolution: {integrity: sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} @@ -6445,21 +10540,26 @@ packages: ansi-colors: 4.1.3 dev: true + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + /entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} - dev: true /entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} - dev: true + + /entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + dev: false /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - dev: true /es-abstract@1.21.1: resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} @@ -6507,12 +10607,10 @@ packages: /es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} - dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - dev: true /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -6528,6 +10626,9 @@ packages: stop-iteration-iterator: 1.0.0 dev: true + /es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + /es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -6540,7 +10641,6 @@ packages: engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - dev: true /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -6559,7 +10659,6 @@ packages: get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 hasown: 2.0.4 - dev: true /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -6570,6 +10669,40 @@ packages: is-symbol: 1.0.4 dev: true + /esbuild@0.28.1: + resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.1 + '@esbuild/android-arm': 0.28.1 + '@esbuild/android-arm64': 0.28.1 + '@esbuild/android-x64': 0.28.1 + '@esbuild/darwin-arm64': 0.28.1 + '@esbuild/darwin-x64': 0.28.1 + '@esbuild/freebsd-arm64': 0.28.1 + '@esbuild/freebsd-x64': 0.28.1 + '@esbuild/linux-arm': 0.28.1 + '@esbuild/linux-arm64': 0.28.1 + '@esbuild/linux-ia32': 0.28.1 + '@esbuild/linux-loong64': 0.28.1 + '@esbuild/linux-mips64el': 0.28.1 + '@esbuild/linux-ppc64': 0.28.1 + '@esbuild/linux-riscv64': 0.28.1 + '@esbuild/linux-s390x': 0.28.1 + '@esbuild/linux-x64': 0.28.1 + '@esbuild/netbsd-arm64': 0.28.1 + '@esbuild/netbsd-x64': 0.28.1 + '@esbuild/openbsd-arm64': 0.28.1 + '@esbuild/openbsd-x64': 0.28.1 + '@esbuild/openharmony-arm64': 0.28.1 + '@esbuild/sunos-x64': 0.28.1 + '@esbuild/win32-arm64': 0.28.1 + '@esbuild/win32-ia32': 0.28.1 + '@esbuild/win32-x64': 0.28.1 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -6578,7 +10711,11 @@ packages: /escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - dev: true + + /escape-goat@2.1.1: + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} + dev: false /escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} @@ -6587,12 +10724,10 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} @@ -6602,13 +10737,17 @@ packages: /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} dev: true + /escaya@0.0.61: + resolution: {integrity: sha512-WLLmvdG72Z0pCq8XUBd03GEJlAiMceXFanjdQeEzeSiuV1ZgrJqbkU7ZEe/hu0OsBlg5wLlySEeOvfzcGoO8mg==} + engines: {node: '>=6.0.0'} + dev: false + /escodegen@1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} engines: {node: '>=4.0'} @@ -6631,18 +10770,23 @@ packages: eslint: 8.57.1 dev: true + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true /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} - dev: true /eslint-visitor-keys@5.0.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} @@ -6695,7 +10839,6 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -6704,20 +10847,17 @@ packages: acorn: 8.17.0 acorn-jsx: 5.3.2(acorn@8.17.0) eslint-visitor-keys: 3.4.3 - dev: true /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 - dev: true /esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} @@ -6731,17 +10871,14 @@ packages: engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - dev: true /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} - dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - dev: true /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -6752,16 +10889,31 @@ packages: /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true + + /eta@1.14.2: + resolution: {integrity: sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==} + engines: {node: '>=6.0.0'} + dev: false + + /eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + dev: false /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - dev: true + + /eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + dependencies: + '@types/node': 18.19.130 + require-like: 0.1.2 + dev: false /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true /events-universal@1.0.1: resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} @@ -6771,6 +10923,10 @@ packages: - bare-abort-controller dev: true + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -6784,7 +10940,6 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true /execa@7.0.0: resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} @@ -6874,7 +11029,6 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true /ext-list@2.2.2: resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} @@ -6891,6 +11045,17 @@ packages: sort-keys-length: 1.0.1 dev: true + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false + /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -6902,7 +11067,6 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true /fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -6917,29 +11081,30 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true /fast-uri@3.1.2: resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} - dev: true /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - dev: true + + /faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: 0.7.5 + dev: false /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -6947,6 +11112,32 @@ packages: bser: 2.1.1 dev: true + /fbemitter@3.0.0: + resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} + dependencies: + fbjs: 3.0.5 + transitivePeerDependencies: + - encoding + dev: false + + /fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + dev: false + + /fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + dependencies: + cross-fetch: 3.2.0 + fbjs-css-vars: 1.0.2 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 1.0.41 + transitivePeerDependencies: + - encoding + dev: false + /fdir@6.5.0(picomatch@4.0.4): resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -6959,6 +11150,13 @@ packages: picomatch: 4.0.4 dev: true + /feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + dependencies: + xml-js: 1.6.11 + dev: false + /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -6969,7 +11167,6 @@ packages: /fflate@0.8.3: resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} - dev: true /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} @@ -6998,7 +11195,17 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 - dev: true + + /file-loader@6.2.0(webpack@5.107.2): + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false /file-type@20.4.1: resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} @@ -7010,7 +11217,6 @@ packages: uint8array-extras: 1.5.0 transitivePeerDependencies: - supports-color - dev: true /file-type@20.5.0: resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} @@ -7041,19 +11247,22 @@ packages: filename-reserved-regex: 3.0.0 dev: true + /filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + dev: false + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /finalhandler@1.3.2: resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} @@ -7068,7 +11277,15 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true + + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: false /find-config@1.0.0: resolution: {integrity: sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==} @@ -7095,13 +11312,19 @@ packages: locate-path: 2.0.0 dev: true + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: false + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -7109,7 +11332,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true /find-versions@5.1.0: resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} @@ -7134,16 +11356,25 @@ packages: dependencies: flatted: 3.2.7 rimraf: 3.0.2 - dev: true /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - dev: true /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true + + /flux@4.0.4(react@17.0.2): + resolution: {integrity: sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==} + peerDependencies: + react: ^15.0.2 || ^16.0.0 || ^17.0.0 + dependencies: + fbemitter: 3.0.0 + fbjs: 3.0.5 + react: 17.0.2 + transitivePeerDependencies: + - encoding + dev: false /follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} @@ -7153,7 +11384,6 @@ packages: peerDependenciesMeta: debug: optional: true - dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -7169,6 +11399,70 @@ packages: signal-exit: 4.1.0 dev: true + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2): + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@babel/code-frame': 7.29.7 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + eslint: 8.57.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.8.5 + tapable: 1.1.3 + typescript: 4.5.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2): + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@babel/code-frame': 7.29.7 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + eslint: 8.57.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.8.5 + tapable: 1.1.3 + typescript: 5.4.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -7203,7 +11497,6 @@ packages: es-set-tostringtag: 2.1.0 hasown: 2.0.4 mime-types: 2.1.35 - dev: true /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} @@ -7224,17 +11517,28 @@ packages: /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - dev: true + + /fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + dev: false /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - dev: true /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: false + /fs-extra@11.1.0: resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} engines: {node: '>=14.14'} @@ -7242,7 +11546,6 @@ packages: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 - dev: true /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} @@ -7261,18 +11564,19 @@ packages: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 - dev: true + + /fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + dev: false /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true /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 /ftp@0.3.10: @@ -7285,11 +11589,9 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} @@ -7308,7 +11610,6 @@ packages: /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - dev: true /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -7321,7 +11622,6 @@ packages: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 - dev: true /get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} @@ -7337,7 +11637,10 @@ packages: has-symbols: 1.1.0 hasown: 2.0.4 math-intrinsics: 1.1.0 - dev: true + + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: false /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -7361,12 +11664,24 @@ packages: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.2 - dev: true + + /get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.4 + dev: false + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.4 + dev: false /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -7449,19 +11764,24 @@ packages: ini: 1.3.8 dev: true + /github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} /glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} @@ -7485,7 +11805,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} @@ -7501,7 +11820,6 @@ packages: engines: {node: '>=10'} dependencies: ini: 2.0.0 - dev: true /global-modules@1.0.0: resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} @@ -7512,6 +11830,13 @@ packages: resolve-dir: 1.0.1 dev: true + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: false + /global-prefix@1.0.2: resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} engines: {node: '>=0.10.0'} @@ -7523,12 +11848,20 @@ packages: which: 1.3.1 dev: true + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: false + /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 - dev: true /globals@17.6.0: resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} @@ -7542,6 +11875,18 @@ packages: define-properties: 1.2.0 dev: true + /globby@11.0.4: + resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + dev: false + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -7552,7 +11897,6 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 - dev: true /globby@13.1.3: resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} @@ -7563,7 +11907,6 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 - dev: true /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -7574,7 +11917,6 @@ packages: /gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - dev: true /got@12.6.0: resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} @@ -7610,17 +11952,54 @@ packages: responselike: 3.0.0 dev: true + /got@9.6.0: + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.3 + cacheable-request: 6.1.0 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 4.1.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 1.1.0 + to-readable-stream: 1.0.0 + url-parse-lax: 3.0.0 + dev: false + /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: false + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: false + + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: false /handlebars@4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} @@ -7646,7 +12025,6 @@ packages: wordwrap: 1.0.0 optionalDependencies: uglify-js: 3.17.4 - dev: true /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} @@ -7664,18 +12042,15 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.0 - dev: true /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} @@ -7685,12 +12060,10 @@ packages: /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: true /has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - dev: true /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} @@ -7704,7 +12077,11 @@ packages: engines: {node: '>= 0.4'} dependencies: has-symbols: 1.1.0 - dev: true + + /has-yarn@2.1.0: + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} + dev: false /has-yarn@3.0.0: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} @@ -7716,7 +12093,6 @@ packages: engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - dev: true /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} @@ -7730,18 +12106,114 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true + + /hast-to-hyperscript@9.0.1: + resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} + dependencies: + '@types/unist': 2.0.11 + comma-separated-tokens: 1.0.8 + property-information: 5.6.0 + space-separated-tokens: 1.1.5 + style-to-object: 0.3.0 + unist-util-is: 4.1.0 + web-namespaces: 1.1.4 + dev: false + + /hast-util-from-parse5@5.0.3: + resolution: {integrity: sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==} + dependencies: + ccount: 1.1.0 + hastscript: 5.1.2 + property-information: 5.6.0 + web-namespaces: 1.1.4 + xtend: 4.0.2 + dev: false + + /hast-util-from-parse5@6.0.1: + resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} + dependencies: + '@types/parse5': 5.0.3 + hastscript: 6.0.0 + property-information: 5.6.0 + vfile: 4.2.1 + vfile-location: 3.2.0 + web-namespaces: 1.1.4 + dev: false + + /hast-util-parse-selector@2.2.5: + resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} + dev: false + + /hast-util-raw@6.0.1: + resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} + dependencies: + '@types/hast': 2.3.10 + hast-util-from-parse5: 6.0.1 + hast-util-to-parse5: 6.0.0 + html-void-elements: 1.0.5 + parse5: 6.0.1 + unist-util-position: 3.1.0 + vfile: 4.2.1 + web-namespaces: 1.1.4 + xtend: 4.0.2 + zwitch: 1.0.5 + dev: false + + /hast-util-to-parse5@6.0.0: + resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==} + dependencies: + hast-to-hyperscript: 9.0.1 + property-information: 5.6.0 + web-namespaces: 1.1.4 + xtend: 4.0.2 + zwitch: 1.0.5 + dev: false + + /hastscript@5.1.2: + resolution: {integrity: sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==} + dependencies: + comma-separated-tokens: 1.0.8 + hast-util-parse-selector: 2.2.5 + property-information: 5.6.0 + space-separated-tokens: 1.1.5 + dev: false + + /hastscript@6.0.0: + resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 1.0.8 + hast-util-parse-selector: 2.2.5 + property-information: 5.6.0 + space-separated-tokens: 1.1.5 + dev: false /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - dev: true /hexoid@1.0.0: resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} engines: {node: '>=8'} dev: true + /history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + dependencies: + '@babel/runtime': 7.29.7 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + dev: false + + /hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + dev: false + /homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -7764,6 +12236,15 @@ packages: lru-cache: 6.0.0 dev: true + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: false + /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -7778,13 +12259,90 @@ packages: whatwg-encoding: 3.1.1 dev: true + /html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + dev: false + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + + /html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.48.0 + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: false + + /html-void-elements@1.0.5: + resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==} + dev: false + + /html-webpack-plugin@5.6.7(webpack@5.107.2): + resolution: {integrity: sha512-md+vXtdCAe60s1k6AU3dUyMJnDxUyQAwfwPKoLisvgUF1IXjtlLsk2se54+qfL9Mdm26bbwvjJybpNx48NKRLw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.3.3 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /htmlparser2@10.1.0: + resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 7.0.1 + dev: false + + /htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + dev: false /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true + + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: false + + /http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + dev: false /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} @@ -7795,7 +12353,6 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: true /http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} @@ -7806,7 +12363,10 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.2 toidentifier: 1.0.1 - dev: true + + /http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + dev: false /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} @@ -7823,11 +12383,30 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} dependencies: - agent-base: 7.1.4 - debug: 4.4.3 + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy-middleware@2.0.10(@types/express@4.17.25): + resolution: {integrity: sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.25 + '@types/http-proxy': 1.17.17 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 transitivePeerDependencies: - - supports-color - dev: true + - debug + dev: false /http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} @@ -7838,7 +12417,6 @@ packages: requires-port: 1.0.0 transitivePeerDependencies: - debug - dev: true /http-server@14.1.1: resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==} @@ -7894,7 +12472,6 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true /human-signals@4.3.0: resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} @@ -7906,14 +12483,21 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true + + /icss-utils@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.5.15 + dev: false /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} @@ -7924,30 +12508,43 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - dev: true /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - dev: true /ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} dev: true + /image-size@1.2.1: + resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} + engines: {node: '>=16.x'} + hasBin: true + dependencies: + queue: 6.0.2 + dev: false + + /immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + dev: false + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true + + /import-lazy@2.1.0: + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} + dev: false /import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} @@ -7971,43 +12568,50 @@ packages: /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - dev: true + + /infima@0.2.0-alpha.39: + resolution: {integrity: sha512-UyYiwD3nwHakGhuOUfpe3baJ8gkiPpRVx4a4sE/Ag+932+Y6swtLsdPoRR8ezhwqGnduzxmFkjumV9roz6QoLw==} + engines: {node: '>=12'} + dev: false + + /infima@0.2.0-alpha.42: + resolution: {integrity: sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==} + engines: {node: '>=12'} + dev: false /inflection@1.13.4: resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} engines: {'0': node >= 0.4.0} - dev: true /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true /ini@2.0.0: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} - dev: true /ini@3.0.1: resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true + /inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + /inquirer@6.5.2: resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} engines: {node: '>=6.0.0'} @@ -8060,7 +12664,7 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.0 + rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -8106,7 +12710,11 @@ packages: /interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} - dev: true + + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 /ip-regex@2.1.0: resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} @@ -8124,7 +12732,22 @@ packages: /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - dev: true + + /ipaddr.js@2.4.0: + resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} + engines: {node: '>= 10'} + dev: false + + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: false + + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: false /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} @@ -8144,7 +12767,6 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -8152,6 +12774,13 @@ packages: has-bigints: 1.0.2 dev: true + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -8160,11 +12789,23 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + dev: false + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: true + /is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: false + /is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -8176,14 +12817,12 @@ packages: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 - dev: true /is-core-module@2.16.2: resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} dependencies: hasown: 2.0.4 - dev: true /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -8192,16 +12831,23 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: false + /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true /is-fullwidth-code-point@2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} @@ -8211,7 +12857,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} @@ -8223,7 +12868,10 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true + + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: false /is-installed-globally@0.4.0: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} @@ -8231,7 +12879,6 @@ packages: dependencies: global-dirs: 3.0.1 is-path-inside: 3.0.3 - dev: true /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} @@ -8252,6 +12899,11 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-npm@5.0.0: + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} + dev: false + /is-npm@6.0.0: resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8267,23 +12919,46 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true + + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: false /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - dev: true + + /is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + dev: false /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - dev: true /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true + /is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + dev: false + + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: false + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + /is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -8301,6 +12976,16 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: false + + /is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + dev: false + /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: true @@ -8320,7 +13005,6 @@ packages: /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} @@ -8361,7 +13045,6 @@ packages: /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} @@ -8387,17 +13070,28 @@ packages: call-bind: 1.0.2 dev: true + /is-whitespace-character@1.0.4: + resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} + dev: false + /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} dev: true + /is-word-character@1.0.4: + resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} + dev: false + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 - dev: true + + /is-yarn-global@0.3.0: + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + dev: false /is-yarn-global@0.4.1: resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} @@ -8415,11 +13109,9 @@ packages: /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: true /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -8427,7 +13119,10 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} @@ -8478,7 +13173,6 @@ packages: /iterare@1.2.1: resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} engines: {node: '>=6'} - dev: true /iterate-iterator@1.0.2: resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} @@ -9158,6 +13852,18 @@ packages: - supports-color dev: true + /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.3 + '@types/node': 18.19.130 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: false + /jest-util@30.0.5: resolution: {integrity: sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9234,6 +13940,24 @@ packages: string-length: 4.0.2 dev: true + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 16.11.68 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + /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.19.130 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: false + /jest-worker@30.0.5: resolution: {integrity: sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9278,9 +14002,22 @@ packages: - ts-node dev: true + /jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + dev: false + + /joi@17.13.4: + resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -9288,14 +14025,12 @@ packages: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 - dev: true /jsdom@26.1.0: resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} @@ -9336,7 +14071,10 @@ packages: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} hasBin: true - dev: true + + /json-buffer@3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: false /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -9357,19 +14095,15 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -9379,7 +14113,6 @@ packages: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - dev: true /jsonc-eslint-parser@2.4.2: resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} @@ -9397,7 +14130,6 @@ packages: /jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -9411,13 +14143,18 @@ packages: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - dev: true /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} dev: true + /keyv@3.1.0: + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + dependencies: + json-buffer: 3.0.0 + dev: false + /keyv@4.5.2: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: @@ -9435,7 +14172,18 @@ packages: /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: false + + /latest-version@5.1.0: + resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} + engines: {node: '>=8'} + dependencies: + package-json: 6.5.0 + dev: false /latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} @@ -9444,10 +14192,16 @@ packages: package-json: 8.1.0 dev: true + /launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.4 + dev: false + /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - dev: true /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} @@ -9463,11 +14217,13 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /lines-and-columns@2.0.3: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} @@ -9484,6 +14240,24 @@ packages: strip-bom: 3.0.0 dev: true + /loader-runner@4.3.2: + resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} + engines: {node: '>=6.11.5'} + + /loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: false + + /loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + dev: false + /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -9492,27 +14266,40 @@ packages: path-exists: 3.0.0 dev: true + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: false + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 - dev: true /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: true /lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: true + /lodash.curry@4.1.1: + resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} + dev: false + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true + + /lodash.flow@3.5.0: + resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} + dev: false /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} @@ -9534,11 +14321,9 @@ packages: /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true /lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} @@ -9553,12 +14338,9 @@ packages: /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} requiresBuild: true - dev: true - optional: true /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} @@ -9581,6 +14363,27 @@ packages: engines: {node: '>=0.10.0'} dev: true + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.5.3 + + /lowercase-keys@1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: false + + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: false + /lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9594,14 +14397,16 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: true + + /lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + dev: false /macos-release@3.1.0: resolution: {integrity: sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA==} @@ -9619,7 +14424,6 @@ packages: engines: {node: '>=8'} dependencies: semver: 6.3.1 - dev: true /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -9641,15 +14445,66 @@ packages: engines: {node: '>=8'} dev: true + /markdown-escapes@1.0.4: + resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} + dev: false + + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + dev: false + /math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - dev: true + + /mdast-squeeze-paragraphs@4.0.0: + resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==} + dependencies: + unist-util-remove: 2.1.0 + dev: false + + /mdast-util-definitions@4.0.0: + resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} + dependencies: + unist-util-visit: 2.0.3 + dev: false + + /mdast-util-to-hast@10.0.1: + resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.11 + mdast-util-definitions: 4.0.0 + mdurl: 1.0.1 + unist-builder: 2.0.3 + unist-util-generated: 1.1.6 + unist-util-position: 3.1.0 + unist-util-visit: 2.0.3 + dev: false + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: false + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: false /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - dev: true + + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.1.0 + dev: false /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} @@ -9670,16 +14525,13 @@ packages: /merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - dev: true /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /merge@2.1.1: resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} @@ -9688,7 +14540,6 @@ packages: /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - dev: true /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} @@ -9696,7 +14547,6 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -9704,30 +14554,41 @@ packages: dependencies: braces: 3.0.3 picomatch: 2.3.1 - dev: true /mikro-orm@5.6.13: resolution: {integrity: sha512-AH5XSDREChcrpKTWqy5zgPlX8tE4+kSw/GKv7D5ZtiH8MVnq4vrNEB0OvD+DKPzj2RlT/sp9Gjnlw4U80CAp0g==} engines: {node: '>= 14.0.0'} - dev: true + + /mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + dev: false /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: true + + /mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.33.0 + dev: false /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: true /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - dev: true /mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} @@ -9743,13 +14604,17 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} dev: true + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: false + /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -9765,6 +14630,21 @@ packages: engines: {node: '>=4'} dev: true + /mini-css-extract-plugin@2.10.2(webpack@5.107.2): + resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.3.3 + tapable: 2.3.3 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: false + /minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -9776,7 +14656,19 @@ packages: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - dev: true + + /minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + dependencies: + brace-expansion: 1.1.11 + dev: false + + /minimatch@5.1.9: + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.1.1 + dev: false /minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} @@ -9800,19 +14692,21 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /minipass@7.1.3: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} dev: true + /mitata@1.0.34: + resolution: {integrity: sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==} + dev: true + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: minimist: 1.2.8 - dev: true /modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} @@ -9823,23 +14717,23 @@ packages: resolution: {integrity: sha512-e0jGNZDOHfBXJGz8vR/sIMXvBIGJJcqFjmlg9lmE+5KX1U7/RZNMswfD8nKnNCnQdKTIj50IaRKwl1fvMLyyRg==} dependencies: moment: 2.29.4 - dev: true /moment@2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} - dev: true + + /mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + dev: false /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /multer@2.0.2: resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==} @@ -9852,7 +14746,14 @@ packages: object-assign: 4.1.1 type-is: 1.6.18 xtend: 4.0.2 - dev: true + + /multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + dev: false /mute-stream@0.0.7: resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} @@ -9862,6 +14763,11 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true + /nanoid@3.3.13: + resolution: {integrity: sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + /napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -9870,16 +14776,18 @@ packages: /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - dev: true + + /negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + dev: false /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true /netmask@2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} @@ -9893,11 +14801,23 @@ packages: type-fest: 2.19.0 dev: true + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.5.3 + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} dev: true + /node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + dependencies: + lodash: 4.17.21 + dev: false + /node-fetch@2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -9908,7 +14828,18 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: true + + /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 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false /node-fetch@3.3.0: resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} @@ -9919,6 +14850,11 @@ packages: formdata-polyfill: 4.0.10 dev: true + /node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} + engines: {node: '>= 6.13.0'} + dev: false + /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true @@ -9926,7 +14862,6 @@ packages: /node-releases@2.0.48: resolution: {integrity: sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==} engines: {node: '>=18'} - dev: true /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -9950,7 +14885,15 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true + + /normalize-url@4.5.1: + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} + dev: false + + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} /normalize-url@8.0.0: resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} @@ -9962,7 +14905,6 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 - dev: true /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} @@ -9971,6 +14913,15 @@ packages: path-key: 4.0.0 dev: true + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + /nwsapi@2.2.24: resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} dev: true @@ -10117,7 +15068,11 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: false /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -10126,12 +15081,10 @@ packages: /object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - dev: true /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} @@ -10141,7 +15094,10 @@ packages: define-properties: 1.2.0 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: false /obug@2.1.3: resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} @@ -10153,13 +15109,16 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - dev: true + + /on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + dev: false /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: true /onetime@2.0.1: resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} @@ -10173,7 +15132,6 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 - dev: true /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} @@ -10189,12 +15147,10 @@ packages: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true /opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true - dev: true /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} @@ -10218,7 +15174,6 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 - dev: true /ora@5.3.0: resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} @@ -10282,6 +15237,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /p-cancelable@1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} + dev: false + /p-cancelable@3.0.0: resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} engines: {node: '>=12.20'} @@ -10299,14 +15259,12 @@ packages: engines: {node: '>=6'} dependencies: p-try: 2.2.0 - dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true /p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} @@ -10315,19 +15273,39 @@ packages: p-limit: 1.3.0 dev: true + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: false + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 - dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: false + + /p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: false /p-try@1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} @@ -10337,7 +15315,6 @@ packages: /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - dev: true /pac-proxy-agent@5.0.0: resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==} @@ -10369,6 +15346,16 @@ packages: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} dev: true + /package-json@6.5.0: + resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} + engines: {node: '>=8'} + dependencies: + got: 9.6.0 + registry-auth-token: 4.2.2 + registry-url: 5.1.0 + semver: 6.3.1 + dev: false + /package-json@8.1.0: resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==} engines: {node: '>=14.16'} @@ -10379,12 +15366,28 @@ packages: semver: 7.8.5 dev: true + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.5.3 + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 - dev: true + + /parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: false /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} @@ -10402,7 +15405,10 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true + + /parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + dev: false /parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} @@ -10421,6 +15427,27 @@ packages: parse-path: 7.0.0 dev: true + /parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.3.0 + dev: false + + /parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + dependencies: + parse5: 7.3.0 + dev: false + + /parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + dev: false + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -10431,32 +15458,36 @@ packages: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} dependencies: entities: 6.0.1 - dev: true /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: true + + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.3 /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} - dev: true /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: true + + /path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + dev: false /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -10465,7 +15496,6 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true /path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} @@ -10477,11 +15507,19 @@ packages: /path-to-regexp@0.1.13: resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - dev: true + + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + dependencies: + isarray: 0.0.1 + dev: false + + /path-to-regexp@3.2.0: + resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} + dev: false /path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - dev: true /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -10493,7 +15531,6 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - dev: true /pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -10511,70 +15548,477 @@ packages: /pg-connection-string@2.5.0: resolution: {integrity: sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==} + + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify@5.0.0: + resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} + engines: {node: '>=10'} + dev: true + + /pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} dev: true - /picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - dev: true + /piscina@4.9.3: + resolution: {integrity: sha512-3e3ka9QCE8RJ5I9uszdAADZnkcYi21cqmF3gxox3u884N72qpFHCsIVhHt8cEQ9t3Auq/NqoiCEuhxlxxQuDWA==} + optionalDependencies: + '@napi-rs/nice': 1.1.1 + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + + /pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + dependencies: + find-up: 3.0.0 + dev: false + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /portfinder@1.0.32: + resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} + engines: {node: '>= 0.12.0'} + dependencies: + async: 2.6.4 + debug: 3.2.7 + mkdirp: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: true + + /postcss-calc@8.2.4(postcss@8.5.15): + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.4 + postcss-value-parser: 4.2.0 + + /postcss-colormin@5.3.1(postcss@8.5.15): + resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-convert-values@5.1.3(postcss@8.5.15): + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-discard-comments@5.1.2(postcss@8.5.15): + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + + /postcss-discard-duplicates@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + + /postcss-discard-empty@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + + /postcss-discard-overridden@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + + /postcss-discard-unused@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.4 + dev: false + + /postcss-loader@7.3.4(postcss@8.5.15)(typescript@4.5.5)(webpack@5.107.2): + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 8.3.6(typescript@4.5.5) + jiti: 1.21.7 + postcss: 8.5.15 + semver: 7.8.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - typescript + dev: false + + /postcss-loader@7.3.4(postcss@8.5.15)(typescript@5.4.5)(webpack@5.107.2): + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 8.3.6(typescript@5.4.5) + jiti: 1.21.7 + postcss: 8.5.15 + semver: 7.8.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - typescript + dev: false + + /postcss-merge-idents@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-merge-longhand@5.1.7(postcss@8.5.15): + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1(postcss@8.5.15) + + /postcss-merge-rules@5.1.4(postcss@8.5.15): + resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-selector-parser: 6.1.4 + + /postcss-minify-font-values@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-minify-gradients@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 3.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-minify-params@5.1.4(postcss@8.5.15): + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + cssnano-utils: 3.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-minify-selectors@5.2.1(postcss@8.5.15): + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.4 + + /postcss-modules-extract-imports@3.1.0(postcss@8.5.15): + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.5.15 + dev: false + + /postcss-modules-local-by-default@4.2.0(postcss@8.5.15): + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-selector-parser: 7.1.4 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-modules-scope@3.2.1(postcss@8.5.15): + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 7.1.4 + dev: false + + /postcss-modules-values@4.0.0(postcss@8.5.15): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + dev: false + + /postcss-normalize-charset@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + + /postcss-normalize-display-values@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-positions@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-repeat-style@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-string@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-timing-functions@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-unicode@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-url@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-normalize-whitespace@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + /postcss-ordered-values@5.1.3(postcss@8.5.15): + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + /postcss-reduce-idents@5.2.0(postcss@8.5.15): + resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + dev: false - /picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - dev: true + /postcss-reduce-initial@5.1.2(postcss@8.5.15): + resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 + postcss: 8.5.15 - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true + /postcss-reduce-transforms@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + /postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} engines: {node: '>=4'} - dev: true + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 - /pify@5.0.0: - resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} - engines: {node: '>=10'} - dev: true + /postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false - /pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} - dev: true + /postcss-sort-media-queries@4.4.1(postcss@8.5.15): + resolution: {integrity: sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.4.16 + dependencies: + postcss: 8.5.15 + sort-css-media-queries: 2.1.0 + dev: false - /piscina@4.9.3: - resolution: {integrity: sha512-3e3ka9QCE8RJ5I9uszdAADZnkcYi21cqmF3gxox3u884N72qpFHCsIVhHt8cEQ9t3Auq/NqoiCEuhxlxxQuDWA==} - optionalDependencies: - '@napi-rs/nice': 1.1.1 - dev: true + /postcss-svgo@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + svgo: 2.8.2 - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + /postcss-unique-selectors@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 dependencies: - find-up: 4.1.0 - dev: true + postcss: 8.5.15 + postcss-selector-parser: 6.1.4 - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /portfinder@1.0.32: - resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} - engines: {node: '>= 0.12.0'} + /postcss-zindex@5.1.0(postcss@8.5.15): + resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 dependencies: - async: 2.6.4 - debug: 3.2.7 - mkdirp: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true + postcss: 8.5.15 + dev: false + + /postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.13 + picocolors: 1.1.1 + source-map-js: 1.2.1 /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} @@ -10584,7 +16028,11 @@ packages: /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - dev: true + + /prepend-http@2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: false /prettier@2.8.4: resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} @@ -10592,6 +16040,13 @@ packages: hasBin: true dev: true + /pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: false + /pretty-format@30.0.5: resolution: {integrity: sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -10611,9 +16066,26 @@ packages: react-is-19: /react-is@19.2.7 dev: true + /pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + dev: false + + /prism-react-renderer@1.3.5(react@17.0.2): + resolution: {integrity: sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==} + peerDependencies: + react: '>=0.14.9' + dependencies: + react: 17.0.2 + dev: false + + /prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + dev: false + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true /promise.allsettled@1.0.6: resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} @@ -10627,6 +16099,33 @@ packages: iterate-value: 1.0.2 dev: true + /promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + dependencies: + asap: 2.0.6 + dev: false + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: false + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + /property-information@5.6.0: + resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} + dependencies: + xtend: 4.0.2 + dev: false + /proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: true @@ -10641,7 +16140,6 @@ packages: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true /proxy-agent@5.0.0: resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} @@ -10668,16 +16166,29 @@ packages: engines: {node: '>=10'} dev: true + /pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + dev: false + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - dev: true /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true + /pupa@2.1.1: + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} + dependencies: + escape-goat: 2.1.1 + dev: false + /pupa@3.1.0: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} @@ -10685,6 +16196,10 @@ packages: escape-goat: 4.0.0 dev: true + /pure-color@1.3.0: + resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} + dev: false + /pure-rand@7.0.1: resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} dev: true @@ -10706,7 +16221,6 @@ packages: engines: {node: '>=0.6'} dependencies: side-channel: 1.1.1 - dev: true /quansync@1.0.0: resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} @@ -10714,7 +16228,12 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + + /queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + dependencies: + inherits: 2.0.4 + dev: false /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -10726,10 +16245,20 @@ packages: engines: {node: '>=10'} dev: true + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + dev: false + /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - dev: true /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} @@ -10749,7 +16278,6 @@ packages: http-errors: 2.0.1 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -10759,7 +16287,143 @@ packages: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - dev: true + + /react-base16-styling@0.6.0: + resolution: {integrity: sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==} + dependencies: + base16: 1.0.0 + lodash.curry: 4.1.1 + lodash.flow: 3.5.0 + pure-color: 1.3.0 + dev: false + + /react-dev-utils@12.0.1(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2): + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/code-frame': 7.29.7 + address: 1.2.2 + browserslist: 4.28.2 + chalk: 4.1.2 + cross-spawn: 7.0.6 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.3.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.1.0 + recursive-readdir: 2.2.3 + shell-quote: 1.8.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + typescript: 4.5.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + dev: false + + /react-dev-utils@12.0.1(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2): + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/code-frame': 7.29.7 + address: 1.2.2 + browserslist: 4.28.2 + chalk: 4.1.2 + cross-spawn: 7.0.6 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.3.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.1.0 + recursive-readdir: 2.2.3 + shell-quote: 1.8.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + typescript: 5.4.5 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + dev: false + + /react-dom@17.0.2(react@17.0.2): + resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} + peerDependencies: + react: 17.0.2 + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react: 17.0.2 + scheduler: 0.20.2 + + /react-error-overlay@6.1.0: + resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==} + dev: false + + /react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + /react-helmet-async@1.3.0(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.29.7 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + /react-helmet-async@3.0.0(react@17.0.2): + resolution: {integrity: sha512-nA3IEZfXiclgrz4KLxAhqJqIfFDuvzQwlKwpdmzZIuC1KNSghDEIXmyU0TKtbM+NafnkICcwx8CECFrZ/sL/1w==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + dependencies: + invariant: 2.2.4 + react: 17.0.2 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} /react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -10769,6 +16433,103 @@ packages: resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} dev: true + /react-json-view@1.21.3(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==} + peerDependencies: + react: ^17.0.0 || ^16.3.0 || ^15.5.4 + react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4 + dependencies: + flux: 4.0.4(react@17.0.2) + react: 17.0.2 + react-base16-styling: 0.6.0 + react-dom: 17.0.2(react@17.0.2) + react-lifecycles-compat: 3.0.4 + react-textarea-autosize: 8.5.9(react@17.0.2) + transitivePeerDependencies: + - '@types/react' + - encoding + dev: false + + /react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + dev: false + + /react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@5.5.2)(webpack@5.107.2): + resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + dependencies: + '@babel/runtime': 7.29.7 + react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /react-router-config@5.1.1(react-router@5.3.4)(react@17.0.2): + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + dependencies: + '@babel/runtime': 7.29.7 + react: 17.0.2 + react-router: 5.3.4(react@17.0.2) + dev: false + + /react-router-dom@5.3.4(react@17.0.2): + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + dependencies: + '@babel/runtime': 7.29.7 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-router: 5.3.4(react@17.0.2) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + dev: false + + /react-router@5.3.4(react@17.0.2): + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + dependencies: + '@babel/runtime': 7.29.7 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 17.0.2 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + dev: false + + /react-textarea-autosize@8.5.9(react@17.0.2): + resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + dependencies: + '@babel/runtime': 7.29.7 + react: 17.0.2 + use-composed-ref: 1.4.0(react@17.0.2) + use-latest: 1.3.0(react@17.0.2) + transitivePeerDependencies: + - '@types/react' + dev: false + + /react@17.0.2: + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + /read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -10824,7 +16585,6 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true /readable-stream@3.6.1: resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==} @@ -10833,7 +16593,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -10842,14 +16601,30 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /reading-time@1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + dev: false /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: resolve: 1.22.1 - dev: true + + /recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + dependencies: + minimatch: 3.1.2 + dev: false /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -10861,18 +16636,15 @@ packages: /reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} - dev: true /regenerate-unicode-properties@10.2.2: resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 - dev: true /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: true /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} @@ -10897,7 +16669,13 @@ packages: regjsparser: 0.13.2 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 - dev: true + + /registry-auth-token@4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} + dependencies: + rc: 1.2.8 + dev: false /registry-auth-token@5.0.2: resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} @@ -10906,6 +16684,13 @@ packages: '@pnpm/npm-conf': 2.1.0 dev: true + /registry-url@5.1.0: + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} + dependencies: + rc: 1.2.8 + dev: false + /registry-url@6.0.1: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} @@ -10915,14 +16700,24 @@ packages: /regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - dev: true /regjsparser@0.13.2: resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true dependencies: jsesc: 3.1.0 - dev: true + + /rehype-parse@6.0.2: + resolution: {integrity: sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==} + dependencies: + hast-util-from-parse5: 5.0.3 + parse5: 5.1.1 + xtend: 4.0.2 + dev: false + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} /release-it@15.8.0: resolution: {integrity: sha512-eJwYY/vXefcnWn7OHlZRcQJYPSJw/fdO+29C/Re5MZE8FZReCHu+EYq3yB0Bm39/3cTVz/5I/2Fk5rtAsVFU1g==} @@ -10960,6 +16755,83 @@ packages: - supports-color dev: true + /remark-admonitions@1.2.1: + resolution: {integrity: sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==} + dependencies: + rehype-parse: 6.0.2 + unified: 8.4.2 + unist-util-visit: 2.0.3 + dev: false + + /remark-emoji@2.2.0: + resolution: {integrity: sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==} + dependencies: + emoticon: 3.2.0 + node-emoji: 1.11.0 + unist-util-visit: 2.0.3 + dev: false + + /remark-footnotes@2.0.0: + resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==} + dev: false + + /remark-mdx@1.6.22: + resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==} + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-proposal-object-rest-spread': 7.12.1(@babel/core@7.12.9) + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) + '@mdx-js/util': 1.6.22 + is-alphabetical: 1.0.4 + remark-parse: 8.0.3 + unified: 9.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse@8.0.3: + resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==} + dependencies: + ccount: 1.1.0 + collapse-white-space: 1.0.6 + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + is-whitespace-character: 1.0.4 + is-word-character: 1.0.4 + markdown-escapes: 1.0.4 + parse-entities: 2.0.0 + repeat-string: 1.6.1 + state-toggle: 1.0.3 + trim: 0.0.1 + trim-trailing-lines: 1.1.4 + unherit: 1.1.3 + unist-util-remove-position: 2.0.1 + vfile-location: 3.2.0 + xtend: 4.0.2 + dev: false + + /remark-squeeze-paragraphs@4.0.0: + resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==} + dependencies: + mdast-squeeze-paragraphs: 4.0.0 + dev: false + + /renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + dev: false + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: false + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -10968,7 +16840,10 @@ packages: /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true + + /require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + dev: false /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} @@ -10976,7 +16851,6 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -11000,7 +16874,6 @@ packages: /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - dev: true /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} @@ -11016,6 +16889,10 @@ packages: dev: true optional: true + /resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + dev: false + /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true @@ -11032,7 +16909,6 @@ packages: is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /resolve@1.22.12: resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} @@ -11043,7 +16919,12 @@ packages: is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true + + /responselike@1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: false /responselike@3.0.0: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} @@ -11076,19 +16957,20 @@ packages: signal-exit: 3.0.7 dev: true + /retry-as-promised@5.0.0: + resolution: {integrity: sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA==} + dev: false + /retry-as-promised@7.0.4: resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==} - dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - dev: true /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -11103,7 +16985,6 @@ packages: hasBin: true dependencies: glob: 7.2.3 - dev: true /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@5.4.5): resolution: {integrity: sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==} @@ -11167,6 +17048,20 @@ packages: resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} dev: true + /rtl-detect@1.1.2: + resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} + dev: false + + /rtlcss@3.5.0: + resolution: {integrity: sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==} + hasBin: true + dependencies: + find-up: 5.0.0 + picocolors: 1.1.1 + postcss: 8.5.15 + strip-json-comments: 3.1.1 + dev: false + /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -11176,7 +17071,6 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true /rxjs@6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} @@ -11185,25 +17079,27 @@ packages: tslib: 1.14.1 dev: true + /rxjs@7.5.7: + resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==} + dependencies: + tslib: 2.3.1 + dev: false + /rxjs@7.8.0: resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: tslib: 2.5.0 - dev: true /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.5.3 - dev: true /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} @@ -11215,7 +17111,10 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true + + /sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} @@ -11224,6 +17123,60 @@ packages: xmlchars: 2.2.0 dev: true + /scheduler@0.20.2: + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + + /schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: false + + /schema-utils@2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: false + + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: false + + /schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.18.0 + ajv-formats: 2.1.1(ajv@8.18.0) + ajv-keywords: 5.1.0(ajv@8.18.0) + + /search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + dev: false + + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: false + /secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true @@ -11235,6 +17188,25 @@ packages: commander: 6.2.1 dev: true + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: false + + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + dependencies: + '@types/node-forge': 1.3.14 + node-forge: 1.4.0 + dev: false + + /semver-diff@3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: false + /semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} @@ -11257,7 +17229,6 @@ packages: /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true - dev: true /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} @@ -11267,7 +17238,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: true /semver@7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} @@ -11275,7 +17245,6 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: true /semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} @@ -11287,7 +17256,6 @@ packages: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true - dev: true /send@0.19.2: resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} @@ -11308,12 +17276,60 @@ packages: statuses: 2.0.2 transitivePeerDependencies: - supports-color - dev: true /sequelize-pool@7.1.0: resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} engines: {node: '>= 10.0.0'} - dev: true + + /sequelize@6.17.0: + resolution: {integrity: sha512-AZus+0YZDq91Zg0hzDaO5atTzHgJruI23V8nBlAhkLuI81Z53nSRdAe/4R1A6vGOZ/RfCLP9idF4tfQnoAsM5A==} + engines: {node: '>=10.0.0'} + peerDependencies: + ibm_db: '*' + mariadb: '*' + mysql2: '*' + pg: '*' + pg-hstore: '*' + snowflake-sdk: '*' + sqlite3: '*' + tedious: '*' + peerDependenciesMeta: + ibm_db: + optional: true + mariadb: + optional: true + mysql2: + optional: true + pg: + optional: true + pg-hstore: + optional: true + snowflake-sdk: + optional: true + sqlite3: + optional: true + tedious: + optional: true + dependencies: + '@types/debug': 4.1.7 + '@types/validator': 13.7.13 + debug: 4.4.3 + dottie: 2.0.3 + inflection: 1.13.4 + lodash: 4.17.21 + moment: 2.29.4 + moment-timezone: 0.5.41 + pg-connection-string: 2.5.0 + retry-as-promised: 5.0.0 + semver: 7.8.5 + sequelize-pool: 7.1.0 + toposort-class: 1.0.1 + uuid: 8.3.2 + validator: 13.9.0 + wkx: 0.5.0 + transitivePeerDependencies: + - supports-color + dev: false /sequelize@6.29.2: resolution: {integrity: sha512-CxtPKhs8R/vDgxvxqDlDsIYyexuOfLOHnud34/YnEwu206wTOCC8+FG/1vwvAqobtaj7Mqa+onn28eqatv+nGg==} @@ -11366,7 +17382,39 @@ packages: wkx: 0.5.0 transitivePeerDependencies: - supports-color - dev: true + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + dev: false + + /serve-handler@6.1.7: + resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.5 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + dev: false + + /serve-index@1.9.2: + resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.8.1 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: false /serve-static@1.16.3: resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} @@ -11378,32 +17426,46 @@ packages: send: 0.19.2 transitivePeerDependencies: - supports-color - dev: true /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: false + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + + /shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /shell-exec@1.0.2: resolution: {integrity: sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==} dev: true + /shell-quote@1.8.4: + resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} + engines: {node: '>= 0.4'} + dev: false + /shelljs@0.8.5: resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} @@ -11412,7 +17474,14 @@ packages: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - dev: true + + /shiki@0.10.1: + resolution: {integrity: sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==} + dependencies: + jsonc-parser: 3.3.1 + vscode-oniguruma: 1.7.0 + vscode-textmate: 5.2.0 + dev: false /side-channel-list@1.0.1: resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} @@ -11420,7 +17489,6 @@ packages: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - dev: true /side-channel-map@1.0.1: resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} @@ -11430,7 +17498,6 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.3.0 object-inspect: 1.13.4 - dev: true /side-channel-weakmap@1.0.2: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} @@ -11441,7 +17508,6 @@ packages: get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-map: 1.0.1 - dev: true /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -11460,26 +17526,46 @@ packages: side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} dev: true + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + dev: false + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false + + /sitemap@7.1.3: + resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.6.0 + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - dev: true /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} @@ -11491,6 +17577,14 @@ packages: engines: {node: '>= 18'} dev: true + /sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.5 + dev: false + /socks-proxy-agent@5.0.1: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} @@ -11510,6 +17604,11 @@ packages: smart-buffer: 4.2.0 dev: true + /sort-css-media-queries@2.1.0: + resolution: {integrity: sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==} + engines: {node: '>= 6.3.0'} + dev: false + /sort-keys-length@1.0.1: resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} engines: {node: '>=0.10.0'} @@ -11524,6 +17623,10 @@ packages: is-plain-obj: 1.1.0 dev: true + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -11538,16 +17641,30 @@ packages: source-map: 0.6.1 dev: true + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: false + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: true + /space-separated-tokens@1.1.5: + resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} + dev: false + /spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: @@ -11570,6 +17687,32 @@ packages: resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.4.3 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: false + + /spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.4.3 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: @@ -11584,7 +17727,10 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + + /stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} @@ -11593,15 +17739,26 @@ packages: escape-string-regexp: 2.0.0 dev: true + /state-toggle@1.0.3: + resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} + dev: false + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - dev: true /statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - dev: true + + /std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + dev: false /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} @@ -11613,7 +17770,6 @@ packages: /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - dev: true /streamx@2.28.0: resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} @@ -11649,7 +17805,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -11658,7 +17813,6 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.0.1 - dev: true /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} @@ -11684,13 +17838,20 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - dev: true /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true + + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: false /strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} @@ -11711,14 +17872,17 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: true /strip-ansi@7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 - dev: true + + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: false /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} @@ -11740,7 +17904,6 @@ packages: /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - dev: true /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} @@ -11757,19 +17920,32 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - dev: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true /strtok3@10.3.5: resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} dependencies: '@tokenizer/token': 0.3.0 - dev: true + + /style-to-object@0.3.0: + resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + + /stylehacks@5.1.1(postcss@8.5.15): + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.28.2 + postcss: 8.5.15 + postcss-selector-parser: 6.1.4 /superagent@8.0.9: resolution: {integrity: sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==} @@ -11804,26 +17980,39 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - dev: true /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true + + /svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: false + + /svgo@2.8.2: + resolution: {integrity: sha512-TyzE4NVGLUFy+H/Uy4N6c3G0HEeprsVfge6Lmq+0FdQQ/zqoVYB62IsBZORsiL+o96s6ff/V6/3UQo/C0cgCAA==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.1.1 + sax: 1.6.0 + stable: 0.1.8 /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -11836,6 +18025,15 @@ packages: '@pkgr/core': 0.3.6 dev: true + /tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + dev: false + + /tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -11882,9 +18080,73 @@ packages: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} dependencies: - mkdirp: 0.5.6 - rimraf: 2.6.3 - dev: true + mkdirp: 0.5.6 + rimraf: 2.6.3 + dev: true + + /terser-webpack-plugin@5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2): + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@swc/core': 1.15.41(@swc/helpers@0.5.23) + clean-css: 5.3.3 + cssnano: 5.1.15(postcss@8.5.15) + html-minifier-terser: 6.1.0 + jest-worker: 27.5.1 + postcss: 8.5.15 + schema-utils: 4.3.3 + terser: 5.48.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + + /terser@5.48.0: + resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.17.0 + commander: 2.20.3 + source-map-support: 0.5.21 /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} @@ -11910,7 +18172,6 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -11929,6 +18190,18 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: false + + /tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + dev: false + + /tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + dev: false + /tinyexec@1.2.4: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} @@ -11969,17 +18242,20 @@ packages: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true + /to-readable-stream@1.0.0: + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} + dev: false + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - dev: true /token-types@6.1.2: resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} @@ -11988,11 +18264,14 @@ packages: '@borewit/text-codec': 0.2.2 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: true /toposort-class@1.0.1: resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} - dev: true + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: false /tough-cookie@5.1.2: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} @@ -12003,7 +18282,6 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true /tr46@5.1.1: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} @@ -12022,6 +18300,19 @@ packages: engines: {node: '>=8'} dev: true + /trim-trailing-lines@1.1.4: + resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} + dev: false + + /trim@0.0.1: + resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} + deprecated: Use String.prototype.trim() instead + dev: false + + /trough@1.0.5: + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + dev: false + /ts-api-utils@1.4.3(typescript@5.4.5): resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -12217,16 +18508,33 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true + /tslib@2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + dev: false + + /tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: false + /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} /tslib@2.5.3: resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} - dev: true /tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + /tsx@4.22.4: + resolution: {integrity: sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.28.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -12239,7 +18547,6 @@ packages: engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 - dev: true /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} @@ -12254,7 +18561,6 @@ packages: /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - dev: true /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -12279,7 +18585,6 @@ packages: /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - dev: true /type-fest@3.6.1: resolution: {integrity: sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==} @@ -12297,7 +18602,6 @@ packages: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -12311,11 +18615,39 @@ packages: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 - dev: true /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true + + /typedoc-plugin-markdown@3.11.14(typedoc@0.22.13): + resolution: {integrity: sha512-lh47OQvl0079nB18YL9wuTRRhMpjo300SZKfx/xpQY8qG+GINeSxTod95QBELeI0NP81sNtUbemRDrn5nyef4Q==} + peerDependencies: + typedoc: '>=0.22.0' + dependencies: + handlebars: 4.7.9 + typedoc: 0.22.13(typescript@4.5.5) + dev: false + + /typedoc@0.22.13(typescript@4.5.5): + resolution: {integrity: sha512-NHNI7Dr6JHa/I3+c62gdRNXBIyX7P33O9TafGLd07ur3MqzcKgwTvpg18EtvCLHJyfeSthAtCLpM7WkStUmDuQ==} + engines: {node: '>= 12.10.0'} + hasBin: true + peerDependencies: + typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x + dependencies: + glob: 7.2.3 + lunr: 2.3.9 + marked: 4.3.0 + minimatch: 5.1.9 + shiki: 0.10.1 + typescript: 4.5.5 + dev: false + + /typescript@4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: false /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} @@ -12329,7 +18661,6 @@ packages: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true - dev: true /typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} @@ -12337,12 +18668,16 @@ packages: hasBin: true dev: true + /ua-parser-js@1.0.41: + resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} + hasBin: true + dev: false + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true - dev: true optional: true /uid@2.0.2: @@ -12350,12 +18685,10 @@ packages: engines: {node: '>=8'} dependencies: '@lukeed/csprng': 1.0.1 - dev: true /uint8array-extras@1.5.0: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} - dev: true /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -12382,12 +18715,22 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true + + /undici@7.28.0: + resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} + engines: {node: '>=20.18.1'} + dev: false + + /unherit@1.1.3: + resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} + dependencies: + inherits: 2.0.4 + xtend: 4.0.2 + dev: false /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} - dev: true /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} @@ -12395,17 +18738,49 @@ packages: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - dev: true /unicode-match-property-value-ecmascript@2.2.1: resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} - dev: true /unicode-property-aliases-ecmascript@2.1.0: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - dev: true + + /unified@8.4.2: + resolution: {integrity: sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==} + dependencies: + '@types/unist': 2.0.11 + bail: 1.0.5 + extend: 3.0.2 + is-plain-obj: 2.1.0 + trough: 1.0.5 + vfile: 4.2.1 + dev: false + + /unified@9.2.0: + resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==} + dependencies: + '@types/unist': 2.0.11 + bail: 1.0.5 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 2.1.0 + trough: 1.0.5 + vfile: 4.2.1 + dev: false + + /unified@9.2.2: + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + dependencies: + '@types/unist': 2.0.11 + bail: 1.0.5 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 2.1.0 + trough: 1.0.5 + vfile: 4.2.1 + dev: false /union@0.5.0: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} @@ -12414,6 +18789,13 @@ packages: qs: 6.14.2 dev: true + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: false + /unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} @@ -12421,6 +18803,55 @@ packages: crypto-random-string: 4.0.0 dev: true + /unist-builder@2.0.3: + resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} + dev: false + + /unist-util-generated@1.1.6: + resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} + dev: false + + /unist-util-is@4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + dev: false + + /unist-util-position@3.1.0: + resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} + dev: false + + /unist-util-remove-position@2.0.1: + resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==} + dependencies: + unist-util-visit: 2.0.3 + dev: false + + /unist-util-remove@2.1.0: + resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==} + dependencies: + unist-util-is: 4.1.0 + dev: false + + /unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + dependencies: + '@types/unist': 2.0.11 + dev: false + + /unist-util-visit-parents@3.1.1: + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + dev: false + + /unist-util-visit@2.0.3: + resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + unist-util-visit-parents: 3.1.1 + dev: false + /universal-user-agent@6.0.0: resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} dev: true @@ -12433,12 +18864,10 @@ packages: /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - dev: true /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - dev: true /unrs-resolver@1.12.2: resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} @@ -12479,7 +18908,26 @@ packages: browserslist: 4.28.2 escalade: 3.2.0 picocolors: 1.1.1 - dev: true + + /update-notifier@5.1.0: + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} + dependencies: + boxen: 5.1.2 + chalk: 4.1.2 + configstore: 5.0.1 + has-yarn: 2.1.0 + import-lazy: 2.1.0 + is-ci: 2.0.0 + is-installed-globally: 0.4.0 + is-npm: 5.0.0 + is-yarn-global: 0.3.0 + latest-version: 5.1.0 + pupa: 2.1.1 + semver: 7.8.5 + semver-diff: 3.1.1 + xdg-basedir: 4.0.0 + dev: false /update-notifier@6.0.2: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} @@ -12505,7 +18953,6 @@ packages: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 - dev: true /url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} @@ -12516,6 +18963,75 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.107.2): + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + dependencies: + file-loader: 6.2.0(webpack@5.107.2) + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /url-parse-lax@3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: false + + /use-composed-ref@1.4.0(react@17.0.2): + resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + react: 17.0.2 + dev: false + + /use-isomorphic-layout-effect@1.2.1(react@17.0.2): + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + react: 17.0.2 + dev: false + + /use-latest@1.3.0(react@17.0.2): + resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + react: 17.0.2 + use-isomorphic-layout-effect: 1.2.1(react@17.0.2) + dev: false + + /use-sync-external-store@1.6.0(react@17.0.2): + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + dependencies: + react: 17.0.2 + dev: false + /user-home@2.0.0: resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} engines: {node: '>=0.10.0'} @@ -12525,17 +19041,22 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + + /utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + dev: false + + /utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - dev: true /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - dev: true /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -12560,12 +19081,34 @@ packages: /validator@13.9.0: resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} engines: {node: '>= 0.10'} - dev: true + + /value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + dev: false /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - dev: true + + /vfile-location@3.2.0: + resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} + dev: false + + /vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 2.0.3 + dev: false + + /vfile@4.2.1: + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + dependencies: + '@types/unist': 2.0.11 + is-buffer: 2.0.5 + unist-util-stringify-position: 2.0.3 + vfile-message: 2.0.4 + dev: false /vm2@3.9.14: resolution: {integrity: sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==} @@ -12576,6 +19119,14 @@ packages: acorn-walk: 8.2.0 dev: true + /vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + dev: false + + /vscode-textmate@5.2.0: + resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==} + dev: false + /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -12583,18 +19134,48 @@ packages: xml-name-validator: 5.0.0 dev: true + /wait-on@6.0.1: + resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + axios: 0.25.0 + joi: 17.13.4 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + dev: false + /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: true + /watchpack@2.5.2: + resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + + /wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: false + /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true + /web-namespaces@1.1.4: + resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} + dev: false + /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} @@ -12602,13 +19183,185 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} dev: true + /webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.17.0 + acorn-walk: 8.2.0 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.11 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /webpack-dev-middleware@5.3.4(webpack@5.107.2): + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.3 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /webpack-dev-server@4.15.2(webpack@5.107.2): + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.25 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.10 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.4.1 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.22.1 + graceful-fs: 4.2.11 + html-entities: 2.6.0 + http-proxy-middleware: 2.0.10(@types/express@4.17.25) + ipaddr.js: 2.4.0 + launch-editor: 2.14.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.3.3 + selfsigned: 2.4.1 + serve-index: 1.9.2 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + webpack-dev-middleware: 5.3.4(webpack@5.107.2) + ws: 8.21.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + /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 + + /webpack-sources@3.5.0: + resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==} + engines: {node: '>=10.13.0'} + + /webpack@5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): + resolution: {integrity: sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.17.0 + acorn-import-phases: 1.0.4(acorn@8.17.0) + browserslist: 4.28.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.0 + es-module-lexer: 2.1.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + loader-runner: 4.3.2 + mime-db: 1.54.0 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2) + watchpack: 2.5.2 + webpack-sources: 3.5.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + /webpackbar@5.0.2(webpack@5.107.2): + resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} + engines: {node: '>=12'} + peerDependencies: + webpack: 3 || 4 || 5 + dependencies: + chalk: 4.1.2 + consola: 2.15.3 + pretty-time: 1.1.0 + std-env: 3.10.0 + webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) + dev: false + + /websocket-driver@0.7.5: + resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: false + + /websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: false + /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} @@ -12623,12 +19376,10 @@ packages: deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation dependencies: iconv-lite: 0.6.3 - dev: true /whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - dev: true /whatwg-url@14.2.0: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} @@ -12643,7 +19394,6 @@ packages: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -12676,7 +19426,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -12684,19 +19433,27 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true + + /widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: false /widest-line@4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} dependencies: string-width: 5.1.2 - dev: true /wildcard-match@5.1.2: resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==} dev: true + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + /windows-release@5.1.0: resolution: {integrity: sha512-CddHecz5dt0ngTjGPP1uYr9Tjl4qq5rEKNk8UGb8XCdngNXI+GRYvqelD055FdiUgqODZz3R/5oZWYldPtXQpA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12708,7 +19465,6 @@ packages: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: '@types/node': 18.19.130 - dev: true /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} @@ -12718,11 +19474,9 @@ packages: /word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - dev: true /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -12740,7 +19494,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} @@ -12749,11 +19502,9 @@ packages: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.0.1 - dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} @@ -12762,7 +19513,6 @@ packages: is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - dev: true /write-file-atomic@5.0.1: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} @@ -12772,6 +19522,19 @@ packages: signal-exit: 4.1.0 dev: true + /ws@7.5.11: + resolution: {integrity: sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + /ws@8.21.0: resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} @@ -12783,13 +19546,24 @@ packages: optional: true utf-8-validate: optional: true - dev: true + + /xdg-basedir@4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + dev: false /xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} dev: true + /xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + dependencies: + sax: 1.6.0 + dev: false + /xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -12806,7 +19580,6 @@ packages: /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - dev: true /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} @@ -12819,16 +19592,13 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - dev: true /yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} @@ -12925,4 +19695,7 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true + + /zwitch@1.0.5: + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + dev: false diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..18ec407ef --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/*' From 9f468e82c0438d54fa1c640545adb35a88a90b76 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Fri, 19 Jun 2026 23:19:29 -0400 Subject: [PATCH 11/73] chore(benchmark): add classes strategy + align reflect-metadata to 0.2.2 - benchmark-core now benchmarks both pojos and classes strategies (classes uses explicit @AutoMap(() => Type) since tsx/esbuild has no emitDecoratorMetadata) - align reflect-metadata to 0.2.x across the repo (root ~0.2.2; classes/mikro/ sequelize peers ^0.2.0) + pnpm overrides pinning rxjs 7.8.1 and reflect-metadata 0.2.2 so the workspace resolves a single consistent version of each - scope pnpm-workspace.yaml to the 4 packages the benchmark needs (avoids pulling docusaurus's ancient deps, which fanned out conflicting @nestjs/rxjs versions) - classes source exports -> ./src/index.ts for workspace dev resolution (build overwrites for dist; attw still clean) - jest-setup: polyfill TextEncoder/TextDecoder (jest 30 jsdom env lacks them, broke the nestjs controller specs at import) - gitignore: ignore nested node_modules (was /node_modules, root-only) and packages/*/dist; untrack node_modules symlinks committed earlier 114 tests green; build + attw clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 4 +- package.json | 8 +- packages/benchmark-core/node_modules/.bin/tsx | 17 - .../node_modules/@automapper/core | 1 - .../node_modules/@automapper/pojos | 1 - packages/benchmark-core/node_modules/mitata | 1 - packages/benchmark-core/node_modules/tsx | 1 - packages/benchmark-core/package.json | 4 +- packages/benchmark-core/src/bench.ts | 168 +- packages/benchmark-core/tsconfig.json | 4 +- .../classes/node_modules/@automapper/core | 1 - .../classes/node_modules/reflect-metadata | 1 - packages/classes/package.json | 20 +- packages/integration-test/jest-setup.ts | 7 + .../mikro/node_modules/@automapper/classes | 1 - packages/mikro/node_modules/@mikro-orm/core | 1 - packages/mikro/node_modules/reflect-metadata | 1 - packages/mikro/package.json | 2 +- packages/nestjs/node_modules/@automapper/core | 1 - packages/nestjs/node_modules/@nestjs/common | 1 - packages/nestjs/node_modules/@nestjs/core | 1 - packages/pojos/node_modules/@automapper/core | 1 - .../node_modules/@automapper/classes | 1 - .../sequelize/node_modules/reflect-metadata | 1 - packages/sequelize/node_modules/sequelize | 1 - packages/sequelize/package.json | 2 +- pnpm-lock.yaml | 10121 +++------------- pnpm-workspace.yaml | 10 +- 28 files changed, 2040 insertions(+), 8343 deletions(-) delete mode 100755 packages/benchmark-core/node_modules/.bin/tsx delete mode 120000 packages/benchmark-core/node_modules/@automapper/core delete mode 120000 packages/benchmark-core/node_modules/@automapper/pojos delete mode 120000 packages/benchmark-core/node_modules/mitata delete mode 120000 packages/benchmark-core/node_modules/tsx delete mode 120000 packages/classes/node_modules/@automapper/core delete mode 120000 packages/classes/node_modules/reflect-metadata delete mode 120000 packages/mikro/node_modules/@automapper/classes delete mode 120000 packages/mikro/node_modules/@mikro-orm/core delete mode 120000 packages/mikro/node_modules/reflect-metadata delete mode 120000 packages/nestjs/node_modules/@automapper/core delete mode 120000 packages/nestjs/node_modules/@nestjs/common delete mode 120000 packages/nestjs/node_modules/@nestjs/core delete mode 120000 packages/pojos/node_modules/@automapper/core delete mode 120000 packages/sequelize/node_modules/@automapper/classes delete mode 120000 packages/sequelize/node_modules/reflect-metadata delete mode 120000 packages/sequelize/node_modules/sequelize diff --git a/.gitignore b/.gitignore index b75b3e770..0db783d46 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,9 @@ /out-tsc # dependencies -/node_modules +node_modules +# per-package dist (per-package builds / workspace) +packages/*/dist # IDEs and editors /.idea diff --git a/package.json b/package.json index 9591ec37d..f6fc82a76 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "jest-util": "30.0.5", "nx": "22.7.5", "prettier": "2.8.4", - "reflect-metadata": "~0.1.13", + "reflect-metadata": "~0.2.2", "release-it": "15.8.0", "rxjs": "~7.8.0", "sequelize": "6.29.2", @@ -70,5 +70,11 @@ "commitizen": { "path": "./node_modules/cz-customizable" } + }, + "pnpm": { + "overrides": { + "rxjs": "7.8.1", + "reflect-metadata": "0.2.2" + } } } diff --git a/packages/benchmark-core/node_modules/.bin/tsx b/packages/benchmark-core/node_modules/.bin/tsx deleted file mode 100755 index 9c297e231..000000000 --- a/packages/benchmark-core/node_modules/.bin/tsx +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/tsx@4.22.4/node_modules:/Users/nartc/code/github/nartc/mapper/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/cli.mjs" "$@" -else - exec node "$basedir/../../../../node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/dist/cli.mjs" "$@" -fi diff --git a/packages/benchmark-core/node_modules/@automapper/core b/packages/benchmark-core/node_modules/@automapper/core deleted file mode 120000 index 5e990a823..000000000 --- a/packages/benchmark-core/node_modules/@automapper/core +++ /dev/null @@ -1 +0,0 @@ -../../../core \ No newline at end of file diff --git a/packages/benchmark-core/node_modules/@automapper/pojos b/packages/benchmark-core/node_modules/@automapper/pojos deleted file mode 120000 index e6e570472..000000000 --- a/packages/benchmark-core/node_modules/@automapper/pojos +++ /dev/null @@ -1 +0,0 @@ -../../../pojos \ No newline at end of file diff --git a/packages/benchmark-core/node_modules/mitata b/packages/benchmark-core/node_modules/mitata deleted file mode 120000 index ecd3f09c4..000000000 --- a/packages/benchmark-core/node_modules/mitata +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/mitata@1.0.34/node_modules/mitata \ No newline at end of file diff --git a/packages/benchmark-core/node_modules/tsx b/packages/benchmark-core/node_modules/tsx deleted file mode 120000 index 9aac85117..000000000 --- a/packages/benchmark-core/node_modules/tsx +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/tsx@4.22.4/node_modules/tsx \ No newline at end of file diff --git a/packages/benchmark-core/package.json b/packages/benchmark-core/package.json index 6d15e9770..eba2de86a 100644 --- a/packages/benchmark-core/package.json +++ b/packages/benchmark-core/package.json @@ -9,7 +9,9 @@ }, "dependencies": { "@automapper/core": "workspace:*", - "@automapper/pojos": "workspace:*" + "@automapper/classes": "workspace:*", + "@automapper/pojos": "workspace:*", + "reflect-metadata": "^0.2.0" }, "devDependencies": { "mitata": "^1.0.0", diff --git a/packages/benchmark-core/src/bench.ts b/packages/benchmark-core/src/bench.ts index 3aa936811..c438c0bdc 100644 --- a/packages/benchmark-core/src/bench.ts +++ b/packages/benchmark-core/src/bench.ts @@ -1,66 +1,12 @@ +import 'reflect-metadata'; import { createMap, createMapper } from '@automapper/core'; +import { AutoMap, classes } from '@automapper/classes'; import { pojos, PojosMetadataMap } from '@automapper/pojos'; import { bench, group, run } from 'mitata'; -// --------------------------------------------------------------------------- -// Metadata (pojos strategy — exercises the same core map() hot path as classes -// without decorator/reflect-metadata setup). -// --------------------------------------------------------------------------- -PojosMetadataMap.create('Address', { - street: String, - city: String, - zip: String, -}); -PojosMetadataMap.create('AddressDto', { - street: String, - city: String, - zip: String, -}); - -// flat: 8 primitive members (default mapInitialize path -> set()) -PojosMetadataMap.create('User', { - firstName: String, - lastName: String, - email: String, - age: Number, - active: Boolean, - role: String, - score: Number, - createdAt: String, -}); -PojosMetadataMap.create('UserDto', { - firstName: String, - lastName: String, - email: String, - age: Number, - active: Boolean, - role: String, - score: Number, - createdAt: String, -}); - -// nested: object member (2 levels) + primitive array -PojosMetadataMap.create('Profile', { - id: String, - username: String, - address: 'Address', - tags: [String], -}); -PojosMetadataMap.create('ProfileDto', { - id: String, - username: String, - address: 'AddressDto', - tags: [String], -}); - -const mapper = createMapper({ strategyInitializer: pojos() }); -createMap(mapper, 'Address', 'AddressDto'); -createMap(mapper, 'User', 'UserDto'); -createMap(mapper, 'Profile', 'ProfileDto'); - -// --------------------------------------------------------------------------- -// Fixtures -// --------------------------------------------------------------------------- +// =========================================================================== +// Shared fixtures (plain source objects — map() reads by property name) +// =========================================================================== const makeUser = (i: number) => ({ firstName: `First${i}`, lastName: `Last${i}`, @@ -71,7 +17,6 @@ const makeUser = (i: number) => ({ score: i * 1.5, createdAt: 'Fri Jun 19 2026', }); - const makeProfile = (i: number) => ({ id: `id-${i}`, username: `user${i}`, @@ -82,23 +27,104 @@ const makeProfile = (i: number) => ({ const user = makeUser(1); const users100 = Array.from({ length: 100 }, (_, i) => makeUser(i)); const users1000 = Array.from({ length: 1000 }, (_, i) => makeUser(i)); - const profile = makeProfile(1); const profiles1000 = Array.from({ length: 1000 }, (_, i) => makeProfile(i)); -// --------------------------------------------------------------------------- -// Benchmarks (mitata returns the value as a sink to defeat DCE) -// --------------------------------------------------------------------------- -group('pojos / flat (8 primitive members)', () => { - bench('map x1', () => mapper.map(user, 'User', 'UserDto')); - bench('mapArray x100', () => mapper.mapArray(users100, 'User', 'UserDto')); - bench('mapArray x1000', () => mapper.mapArray(users1000, 'User', 'UserDto')); +// =========================================================================== +// pojos strategy +// =========================================================================== +PojosMetadataMap.create('Address', { street: String, city: String, zip: String }); +PojosMetadataMap.create('AddressDto', { street: String, city: String, zip: String }); +PojosMetadataMap.create('User', { + firstName: String, lastName: String, email: String, age: Number, + active: Boolean, role: String, score: Number, createdAt: String, +}); +PojosMetadataMap.create('UserDto', { + firstName: String, lastName: String, email: String, age: Number, + active: Boolean, role: String, score: Number, createdAt: String, +}); +PojosMetadataMap.create('Profile', { + id: String, username: String, address: 'Address', tags: [String], +}); +PojosMetadataMap.create('ProfileDto', { + id: String, username: String, address: 'AddressDto', tags: [String], }); +const pojosMapper = createMapper({ strategyInitializer: pojos() }); +createMap(pojosMapper, 'Address', 'AddressDto'); +createMap(pojosMapper, 'User', 'UserDto'); +createMap(pojosMapper, 'Profile', 'ProfileDto'); + +// =========================================================================== +// classes strategy (explicit @AutoMap types — esbuild/tsx has no +// emitDecoratorMetadata, so design:type is provided explicitly) +// =========================================================================== +class Address { + @AutoMap(() => String) street!: string; + @AutoMap(() => String) city!: string; + @AutoMap(() => String) zip!: string; +} +class AddressDto { + @AutoMap(() => String) street!: string; + @AutoMap(() => String) city!: string; + @AutoMap(() => String) zip!: string; +} +class User { + @AutoMap(() => String) firstName!: string; + @AutoMap(() => String) lastName!: string; + @AutoMap(() => String) email!: string; + @AutoMap(() => Number) age!: number; + @AutoMap(() => Boolean) active!: boolean; + @AutoMap(() => String) role!: string; + @AutoMap(() => Number) score!: number; + @AutoMap(() => String) createdAt!: string; +} +class UserDto { + @AutoMap(() => String) firstName!: string; + @AutoMap(() => String) lastName!: string; + @AutoMap(() => String) email!: string; + @AutoMap(() => Number) age!: number; + @AutoMap(() => Boolean) active!: boolean; + @AutoMap(() => String) role!: string; + @AutoMap(() => Number) score!: number; + @AutoMap(() => String) createdAt!: string; +} +class Profile { + @AutoMap(() => String) id!: string; + @AutoMap(() => String) username!: string; + @AutoMap(() => Address) address!: Address; + @AutoMap(() => [String]) tags!: string[]; +} +class ProfileDto { + @AutoMap(() => String) id!: string; + @AutoMap(() => String) username!: string; + @AutoMap(() => AddressDto) address!: AddressDto; + @AutoMap(() => [String]) tags!: string[]; +} + +const classesMapper = createMapper({ strategyInitializer: classes() }); +createMap(classesMapper, Address, AddressDto); +createMap(classesMapper, User, UserDto); +createMap(classesMapper, Profile, ProfileDto); + +// =========================================================================== +// Benchmarks (mitata uses the returned value as a sink to defeat DCE) +// =========================================================================== +group('pojos / flat (8 primitive members)', () => { + bench('map x1', () => pojosMapper.map(user, 'User', 'UserDto')); + bench('mapArray x1000', () => pojosMapper.mapArray(users1000, 'User', 'UserDto')); +}); +group('classes / flat (8 primitive members)', () => { + bench('map x1', () => classesMapper.map(user, User, UserDto)); + bench('mapArray x1000', () => classesMapper.mapArray(users1000, User, UserDto)); +}); group('pojos / nested (object member + array)', () => { - bench('map x1', () => mapper.map(profile, 'Profile', 'ProfileDto')); - bench('mapArray x1000', () => - mapper.mapArray(profiles1000, 'Profile', 'ProfileDto')); + bench('map x1', () => pojosMapper.map(profile, 'Profile', 'ProfileDto')); + bench('mapArray x1000', () => pojosMapper.mapArray(profiles1000, 'Profile', 'ProfileDto')); +}); +group('classes / nested (object member + array)', () => { + bench('map x1', () => classesMapper.map(profile, Profile, ProfileDto)); + bench('mapArray x1000', () => classesMapper.mapArray(profiles1000, Profile, ProfileDto)); }); await run(); diff --git a/packages/benchmark-core/tsconfig.json b/packages/benchmark-core/tsconfig.json index 7808c443c..266ee7c05 100644 --- a/packages/benchmark-core/tsconfig.json +++ b/packages/benchmark-core/tsconfig.json @@ -5,7 +5,9 @@ "moduleResolution": "bundler", "strict": true, "skipLibCheck": true, - "types": ["node"] + "experimentalDecorators": true, + "useDefineForClassFields": false, + "types": ["node", "reflect-metadata"] }, "include": ["src/**/*.ts"] } diff --git a/packages/classes/node_modules/@automapper/core b/packages/classes/node_modules/@automapper/core deleted file mode 120000 index 306069b76..000000000 --- a/packages/classes/node_modules/@automapper/core +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@automapper+core@8.8.1/node_modules/@automapper/core \ No newline at end of file diff --git a/packages/classes/node_modules/reflect-metadata b/packages/classes/node_modules/reflect-metadata deleted file mode 120000 index ca05e9f17..000000000 --- a/packages/classes/node_modules/reflect-metadata +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata \ No newline at end of file diff --git a/packages/classes/package.json b/packages/classes/package.json index 7df472816..fc412e7a6 100644 --- a/packages/classes/package.json +++ b/packages/classes/package.json @@ -4,24 +4,12 @@ "type": "module", "peerDependencies": { "@automapper/core": "latest", - "reflect-metadata": "~0.1.13" + "reflect-metadata": "^0.2.0" }, "exports": { - ".": { - "types": "./src/index.d.ts", - "import": "./index.js", - "require": "./index.cjs" - }, - "./transformer-plugin": { - "types": "./transformer-plugin/index.d.ts", - "import": "./transformer-plugin/index.js", - "require": "./transformer-plugin/index.cjs" - }, - "./mapped-types": { - "types": "./mapped-types/index.d.ts", - "import": "./mapped-types/index.js", - "require": "./mapped-types/index.cjs" - } + ".": "./src/index.ts", + "./mapped-types": "./mapped-types/src/index.ts", + "./transformer-plugin": "./transformer-plugin/src/index.ts" }, "sideEffects": false, "engines": { diff --git a/packages/integration-test/jest-setup.ts b/packages/integration-test/jest-setup.ts index d2c9bc6e6..3b859e241 100644 --- a/packages/integration-test/jest-setup.ts +++ b/packages/integration-test/jest-setup.ts @@ -1 +1,8 @@ import 'reflect-metadata'; +import { TextDecoder, TextEncoder } from 'node:util'; + +// jsdom test env (jest 30) doesn't provide TextEncoder/TextDecoder, which +// supertest/whatwg-url need at import time in the NestJS controller specs. +const g = globalThis as Record; +g['TextEncoder'] ??= TextEncoder; +g['TextDecoder'] ??= TextDecoder; diff --git a/packages/mikro/node_modules/@automapper/classes b/packages/mikro/node_modules/@automapper/classes deleted file mode 120000 index 28f798d71..000000000 --- a/packages/mikro/node_modules/@automapper/classes +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@automapper+classes@8.8.1_@automapper+core@8.8.1_reflect-metadata@0.1.13/node_modules/@automapper/classes \ No newline at end of file diff --git a/packages/mikro/node_modules/@mikro-orm/core b/packages/mikro/node_modules/@mikro-orm/core deleted file mode 120000 index 732e44357..000000000 --- a/packages/mikro/node_modules/@mikro-orm/core +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@mikro-orm+core@5.6.13/node_modules/@mikro-orm/core \ No newline at end of file diff --git a/packages/mikro/node_modules/reflect-metadata b/packages/mikro/node_modules/reflect-metadata deleted file mode 120000 index ca05e9f17..000000000 --- a/packages/mikro/node_modules/reflect-metadata +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata \ No newline at end of file diff --git a/packages/mikro/package.json b/packages/mikro/package.json index ad39629c8..28b7d6b09 100644 --- a/packages/mikro/package.json +++ b/packages/mikro/package.json @@ -5,7 +5,7 @@ "peerDependencies": { "@automapper/classes": "latest", "@mikro-orm/core": "^5.0.0", - "reflect-metadata": "~0.1.13" + "reflect-metadata": "^0.2.0" }, "sideEffects": false, "engines": { diff --git a/packages/nestjs/node_modules/@automapper/core b/packages/nestjs/node_modules/@automapper/core deleted file mode 120000 index 306069b76..000000000 --- a/packages/nestjs/node_modules/@automapper/core +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@automapper+core@8.8.1/node_modules/@automapper/core \ No newline at end of file diff --git a/packages/nestjs/node_modules/@nestjs/common b/packages/nestjs/node_modules/@nestjs/common deleted file mode 120000 index 832512266..000000000 --- a/packages/nestjs/node_modules/@nestjs/common +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@nestjs+common@10.4.22_reflect-metadata@0.1.13_rxjs@7.8.1/node_modules/@nestjs/common \ No newline at end of file diff --git a/packages/nestjs/node_modules/@nestjs/core b/packages/nestjs/node_modules/@nestjs/core deleted file mode 120000 index b8dd9700c..000000000 --- a/packages/nestjs/node_modules/@nestjs/core +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@nestjs+core@10.4.22_@nestjs+common@10.4.22_@nestjs+platform-express@10.4.22_reflect-metadata@0.1.13_rxjs@7.8.1/node_modules/@nestjs/core \ No newline at end of file diff --git a/packages/pojos/node_modules/@automapper/core b/packages/pojos/node_modules/@automapper/core deleted file mode 120000 index 306069b76..000000000 --- a/packages/pojos/node_modules/@automapper/core +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@automapper+core@8.8.1/node_modules/@automapper/core \ No newline at end of file diff --git a/packages/sequelize/node_modules/@automapper/classes b/packages/sequelize/node_modules/@automapper/classes deleted file mode 120000 index 28f798d71..000000000 --- a/packages/sequelize/node_modules/@automapper/classes +++ /dev/null @@ -1 +0,0 @@ -../../../../node_modules/.pnpm/@automapper+classes@8.8.1_@automapper+core@8.8.1_reflect-metadata@0.1.13/node_modules/@automapper/classes \ No newline at end of file diff --git a/packages/sequelize/node_modules/reflect-metadata b/packages/sequelize/node_modules/reflect-metadata deleted file mode 120000 index ca05e9f17..000000000 --- a/packages/sequelize/node_modules/reflect-metadata +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata \ No newline at end of file diff --git a/packages/sequelize/node_modules/sequelize b/packages/sequelize/node_modules/sequelize deleted file mode 120000 index 3f26d2929..000000000 --- a/packages/sequelize/node_modules/sequelize +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/sequelize@6.29.2/node_modules/sequelize \ No newline at end of file diff --git a/packages/sequelize/package.json b/packages/sequelize/package.json index 0813a51df..c59476164 100644 --- a/packages/sequelize/package.json +++ b/packages/sequelize/package.json @@ -5,7 +5,7 @@ "peerDependencies": { "@automapper/classes": "latest", "sequelize": "^6.0.0", - "reflect-metadata": "~0.1.13" + "reflect-metadata": "^0.2.0" }, "sideEffects": false, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9be35e702..0cb494c2f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,10 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + rxjs: 7.8.1 + reflect-metadata: 0.2.2 + importers: .: @@ -13,17 +17,17 @@ importers: version: 0.5.23 tslib: specifier: ~2.5.0 - version: 2.5.0 + version: 2.5.3 devDependencies: '@mikro-orm/core': specifier: 5.6.13 version: 5.6.13 '@nestjs/common': specifier: 10.4.22 - version: 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) + version: 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) + version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': specifier: 10.4.22 version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) @@ -95,7 +99,7 @@ importers: version: 0.5.2 commitizen: specifier: 4.3.0 - version: 4.3.0(@swc/core@1.15.41) + version: 4.3.0(@types/node@18.19.130)(typescript@5.4.5) cz-customizable: specifier: 7.0.0 version: 7.0.0 @@ -110,7 +114,7 @@ importers: version: 10.1.8(eslint@8.57.1) fs-extra: specifier: ^11.1.0 - version: 11.1.0 + version: 11.3.5 jest: specifier: 30.0.5 version: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) @@ -127,14 +131,14 @@ importers: specifier: 2.8.4 version: 2.8.4 reflect-metadata: - specifier: ~0.1.13 - version: 0.1.13 + specifier: 0.2.2 + version: 0.2.2 release-it: specifier: 15.8.0 version: 15.8.0 rxjs: - specifier: ~7.8.0 - version: 7.8.0 + specifier: 7.8.1 + version: 7.8.1 sequelize: specifier: 6.29.2 version: 6.29.2 @@ -156,12 +160,18 @@ importers: packages/benchmark-core: dependencies: + '@automapper/classes': + specifier: workspace:* + version: link:../classes '@automapper/core': specifier: workspace:* version: link:../core '@automapper/pojos': specifier: workspace:* version: link:../pojos + reflect-metadata: + specifier: 0.2.2 + version: 0.2.2 devDependencies: mitata: specifier: ^1.0.0 @@ -176,427 +186,19 @@ importers: specifier: latest version: 8.8.1 reflect-metadata: - specifier: ~0.1.13 - version: 0.1.13 + specifier: 0.2.2 + version: 0.2.2 packages/core: {} - packages/documentation: - dependencies: - '@docusaurus/core': - specifier: 2.3.1 - version: 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/preset-classic': - specifier: 2.3.1 - version: 2.3.1(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5) - '@mdx-js/react': - specifier: ^1.6.22 - version: 1.6.22(react@17.0.2) - clsx: - specifier: ^1.2.1 - version: 1.2.1 - prism-react-renderer: - specifier: ^1.3.5 - version: 1.3.5(react@17.0.2) - react: - specifier: ^17.0.2 - version: 17.0.2 - react-dom: - specifier: ^17.0.2 - version: 17.0.2(react@17.0.2) - devDependencies: - '@docusaurus/module-type-aliases': - specifier: 2.3.1 - version: 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - - packages/documentations: - dependencies: - '@docusaurus/core': - specifier: 2.0.0-beta.21 - version: 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/preset-classic': - specifier: 2.0.0-beta.21 - version: 2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5) - '@mdx-js/react': - specifier: ^1.6.22 - version: 1.6.22(react@17.0.2) - '@mikro-orm/core': - specifier: ~5.1.1 - version: 5.1.5 - '@nestjs/common': - specifier: ~8.4.3 - version: 8.4.7(reflect-metadata@0.1.13)(rxjs@7.5.7) - '@nestjs/core': - specifier: ~8.4.3 - version: 8.4.7(@nestjs/common@8.4.7)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.5.7) - '@types/node': - specifier: ~16.11.7 - version: 16.11.68 - clsx: - specifier: ^1.1.1 - version: 1.2.1 - docusaurus-plugin-typedoc: - specifier: 0.17.2 - version: 0.17.2(typedoc-plugin-markdown@3.11.14)(typedoc@0.22.13) - prism-react-renderer: - specifier: ^1.2.1 - version: 1.3.5(react@17.0.2) - react: - specifier: ^17.0.1 - version: 17.0.2 - react-dom: - specifier: ^17.0.1 - version: 17.0.2(react@17.0.2) - reflect-metadata: - specifier: ~0.1.13 - version: 0.1.13 - rxjs: - specifier: ~7.5.5 - version: 7.5.7 - sequelize: - specifier: ~6.17.0 - version: 6.17.0 - tslib: - specifier: ~2.3.1 - version: 2.3.1 - typedoc: - specifier: 0.22.13 - version: 0.22.13(typescript@4.5.5) - typedoc-plugin-markdown: - specifier: 3.11.14 - version: 3.11.14(typedoc@0.22.13) - typescript: - specifier: ~4.5.5 - version: 4.5.5 - - packages/integration-test: {} - - packages/mikro: - dependencies: - '@automapper/classes': - specifier: latest - version: 8.8.1(@automapper/core@8.8.1)(reflect-metadata@0.1.13) - '@mikro-orm/core': - specifier: ^5.0.0 - version: 5.6.13 - reflect-metadata: - specifier: ~0.1.13 - version: 0.1.13 - - packages/nestjs: - dependencies: - '@automapper/core': - specifier: latest - version: 8.8.1 - '@nestjs/common': - specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - version: 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/core': - specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.1) - packages/pojos: dependencies: '@automapper/core': specifier: latest version: 8.8.1 - packages/sequelize: - dependencies: - '@automapper/classes': - specifier: latest - version: 8.8.1(@automapper/core@8.8.1)(reflect-metadata@0.1.13) - reflect-metadata: - specifier: ~0.1.13 - version: 0.1.13 - sequelize: - specifier: ^6.0.0 - version: 6.29.2 - - packages/zod: {} - packages: - /@algolia/abtesting@1.21.0: - resolution: {integrity: sha512-kGvHfBa9oQCvZh0YXeguSToBD9GNJ+gzUZQ9KPTg+KSsM36obYcsKPoX0NnlJtPflHXu7RkMaIi44xs9meR6Zw==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3): - resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - dev: false - - /@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3): - resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} - peerDependencies: - search-insights: '>= 1 < 3' - dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - dev: false - - /@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0): - resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) - '@algolia/client-search': 5.55.0 - algoliasearch: 5.55.0 - dev: false - - /@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0): - resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/client-search': 5.55.0 - algoliasearch: 5.55.0 - dev: false - - /@algolia/cache-browser-local-storage@4.27.0: - resolution: {integrity: sha512-YGog2s57sO20lvpa+hv5XLAAmiTI1kHsCMRtPVfiaOdIQnvRla21lfH08onqEbZihOPVI8GULwt79zQB2ymKzg==} - dependencies: - '@algolia/cache-common': 4.27.0 - dev: false - - /@algolia/cache-common@4.27.0: - resolution: {integrity: sha512-Sr8zjNXj82p6lO4W9CdzfF0m0/9h/H6VAdSHOTtimm/cTzXIYXRI2IZq7+Nt2ljJ7Ukx+7dIFcxQjE57eQSPsw==} - dev: false - - /@algolia/cache-in-memory@4.27.0: - resolution: {integrity: sha512-abgMRTcVD0IllNvMM9JFhxtyLn1v6Ey7mQ7+BGS3JCzvkCX7KZqlS0BIuVUDgx9sPIfOeNsG/awGzMmP50TwZw==} - dependencies: - '@algolia/cache-common': 4.27.0 - dev: false - - /@algolia/client-abtesting@5.55.0: - resolution: {integrity: sha512-Zt2GjIm7vsaf7K23tk5JmtcVNc38G9p0C2L2Lrm06miyLE/NL2etHtHInvuLc1DjxTp7Y2nId4X/tzwo372K8Q==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/client-account@4.27.0: - resolution: {integrity: sha512-sSHxwrKTKJrwfoR/LcQJZfmiWJcM5d9Rp7afMChxOcdGdkSdIwrNBC8SCcHRenA3GsZ6mg+j6px7KWYxJ34btA==} - dependencies: - '@algolia/client-common': 4.27.0 - '@algolia/client-search': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /@algolia/client-analytics@4.27.0: - resolution: {integrity: sha512-MqIDyxODljn9ZC4oqjQD0kez2a4zjIJ9ywA/b7cIiUiK/tDjZNTVjYd9WXMKQlXnWUwfrfXJZClVVqN1iCXS+Q==} - dependencies: - '@algolia/client-common': 4.27.0 - '@algolia/client-search': 4.27.0 - '@algolia/requester-common': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /@algolia/client-analytics@5.55.0: - resolution: {integrity: sha512-7BueMuWYg/KBA2EX9zsQ+3OAleEyrJcB+SV5Al/9pLjMQq5mXB/8M5HaUPqZwN812g5kLzj9j43VThlZgWq0hg==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/client-common@4.27.0: - resolution: {integrity: sha512-ZrT6l/YPQgyIUuBCxcYPeXol2VBLUMuNb1rKXrm6z1f/iTiwqtnEEb16/6CC11+Re0ZGXrdcMVrgDRrzveQ1aQ==} - dependencies: - '@algolia/requester-common': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /@algolia/client-common@5.55.0: - resolution: {integrity: sha512-pJZIyhvUrs+B7c5Lw0iP5yP/NsqJMda7pKRYbfG4KtfGIVSMcAalZhdqL5UX8Z9DOC4KxO9tKV5RDeVjZU0VfQ==} - engines: {node: '>= 14.0.0'} - dev: false - - /@algolia/client-insights@5.55.0: - resolution: {integrity: sha512-RydkKDhx0GWTYuw0ndTXHGM8hD8hgwftKE65FfnJZb5bPc9CevOqv3qNPUQiviAwkqT9hQNH31uDGeV3yZkgfA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/client-personalization@4.27.0: - resolution: {integrity: sha512-OZqaFFVm+10hAlmxpiTWi/o2n+YKBESbSqSy2yXAumPH/kaK4moJHFblbh8IkV3KZR0lLm4hzPtn8Q2nWNiDUA==} - dependencies: - '@algolia/client-common': 4.27.0 - '@algolia/requester-common': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /@algolia/client-personalization@5.55.0: - resolution: {integrity: sha512-XiS7gdFq/COWiwdWXZ8+RHuewfEo03TkGESk44zU8zTc/Z6R8fm4DNmV52swJKkeB2N9iC7NKpgpM22OOkcgTw==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/client-query-suggestions@5.55.0: - resolution: {integrity: sha512-LBEJ/q+hn1nJ0aYg5IcWgLNCPjWHTahWmpHNx1qUZMho+9CyWM6LaEnhac45UHjQm/j0m374HP685VrpL133lA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/client-search@4.27.0: - resolution: {integrity: sha512-qmX/f67ay0eZ4V5Io8fWWOcUVo/gqre2yei1PnmEhQU2Gul6ushg25QnNrfu4BODiRrw1rwYveZaLCiHvcUxrQ==} - dependencies: - '@algolia/client-common': 4.27.0 - '@algolia/requester-common': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /@algolia/client-search@5.55.0: - resolution: {integrity: sha512-2/9jUXKH4IcdU5qxH6cbDH46ZBe46G7xr+MrcHwgEXZcUfdAvUgLSH53MAWuMgxvw0G5yoqiWMifHc62Os0fiQ==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/events@4.0.1: - resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - dev: false - - /@algolia/ingestion@1.55.0: - resolution: {integrity: sha512-80tKsQgxXWo+jK0v4YGCHqyTEXawhAKYyr3kOdN51ElfRqUFjZNPVhZk6vRiqSqXfvrH85ytacT3cbJR6+qolA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/logger-common@4.27.0: - resolution: {integrity: sha512-pIrmQRXtDV+zTMVXKtKCosC2rWhn0F0TdUeb9etA6RiAz6jY6bY6f0+JX7YekDK09SnmZMLIyUa7Jci+Ied9bw==} - dev: false - - /@algolia/logger-console@4.27.0: - resolution: {integrity: sha512-UWvta8BxsR/u5z9eI088mOSLQaGtmoCtXeN3DYJurlxAdJwPuKtEb5+433kxA6/E9f2/JgoW89KZ1vNP9pcHBQ==} - dependencies: - '@algolia/logger-common': 4.27.0 - dev: false - - /@algolia/monitoring@1.55.0: - resolution: {integrity: sha512-4UjmAL8ywGW4rCfK6Qmgw3wIjbrO2wl2s4Eq56JTiN40L2t0XTv0HZkYAmr6nfeiXO0he/2crvZRX6SATSepag==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/recommend@4.27.0: - resolution: {integrity: sha512-CFy54xDjrsazPi3KN04yPmLRDT72AKokc3RLOdWQvG0/uEUjj7dhWqe9qenxpL4ydsjO7S1eY5YqmX+uMGonlg==} - dependencies: - '@algolia/cache-browser-local-storage': 4.27.0 - '@algolia/cache-common': 4.27.0 - '@algolia/cache-in-memory': 4.27.0 - '@algolia/client-common': 4.27.0 - '@algolia/client-search': 4.27.0 - '@algolia/logger-common': 4.27.0 - '@algolia/logger-console': 4.27.0 - '@algolia/requester-browser-xhr': 4.27.0 - '@algolia/requester-common': 4.27.0 - '@algolia/requester-node-http': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /@algolia/recommend@5.55.0: - resolution: {integrity: sha512-LMpJPtIkfDsHIx5Ga+baNr22ntYbY+e2wT7MSIc/FjAnu9wnBFhx1H/GfhmP/c5/IvbThDX+3ilxPRjSfCI8aA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false - - /@algolia/requester-browser-xhr@4.27.0: - resolution: {integrity: sha512-dTenMBIIpyp5o3C2ZnfbsuSlD/lL9jPkk6T+2+qm38fyw2nf49ANbcHFE79NgiGrnmw7QrYveCs9NIP3Wk4v6g==} - dependencies: - '@algolia/requester-common': 4.27.0 - dev: false - - /@algolia/requester-browser-xhr@5.55.0: - resolution: {integrity: sha512-tDymJ7nFOAoUuecma3usK6o94dp8m4HYFDGh4ByYQXWkv14cpmDn+nWdylmcZO0Qvco107vqDo4+Anksnl8w1Q==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - dev: false - - /@algolia/requester-common@4.27.0: - resolution: {integrity: sha512-VC3prAQVgWTubMStb3mJz6i61Hqbtagi2LeIbgNtoFJFff3XZDcAaO1D5r0GYl2+DrB2VzUHnQXbkiuI+HHYyg==} - dev: false - - /@algolia/requester-fetch@5.55.0: - resolution: {integrity: sha512-6IDSB5o5dkDPQ4LdOW0Yuw/qy5MdWlO2xDHgPVZgW4YDjbxvnX5PAiV7/WWZdWyVObScZZnnHpPbiqfYs/zBLg==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - dev: false - - /@algolia/requester-node-http@4.27.0: - resolution: {integrity: sha512-y8nUqaUQeSOQ5oaNo0b2QPznyBFW9LoIwljyUphJ+gUZpU6O/j2/C8ovoqDpIe6J0etqHg5RCcBizrCFZuLpyw==} - dependencies: - '@algolia/requester-common': 4.27.0 - dev: false - - /@algolia/requester-node-http@5.55.0: - resolution: {integrity: sha512-Yyyne4l//vDSdg4MhYJkaVne+KEPi833eCj3/T/87ernTwrvP6j9biXXZELsN8sLI/f2ndV/vugDIy2jdJQB6g==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/client-common': 5.55.0 - dev: false - - /@algolia/transporter@4.27.0: - resolution: {integrity: sha512-PvSbELU4VjN3xSX79ki+zIdOGhTxyJXWvRDzkUjfTx2iNfPWDdTjzKbP1o+268coJztxrkuBwJz90Urek7o1Kw==} - dependencies: - '@algolia/cache-common': 4.27.0 - '@algolia/logger-common': 4.27.0 - '@algolia/requester-common': 4.27.0 - dev: false - /@angular-devkit/core@19.2.24: resolution: {integrity: sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -637,28 +239,11 @@ packages: lru-cache: 10.4.3 dev: true - /@automapper/classes@8.8.1(@automapper/core@8.8.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-qWP92Vz4z5zGWVXVkoGKmI9PIiAh8uhTBcKpKMmTVwmS1wfOQgj3ceD+A3mlC9ZUTohwvXebS3M30scLaUZmeg==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@automapper/core': 8.8.1 - reflect-metadata: ~0.1.13 - dependencies: - '@automapper/core': 8.8.1 - reflect-metadata: 0.1.13 - dev: false - /@automapper/core@8.8.1: resolution: {integrity: sha512-VIRULNAImqaTojp8zqhVGVimjxjriawqZWlemooWh5B5tX2XlgA6icPrQBQh+M9wY8IVQipBTOcr338N9lf8RA==} engines: {node: '>=16.0.0'} dev: false - /@babel/code-frame@7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - /@babel/code-frame@7.29.7: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} @@ -666,34 +251,12 @@ packages: '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 + dev: true /@babel/compat-data@7.29.7: resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - - /@babel/core@7.12.9: - resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.12.9) - '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - convert-source-map: 1.9.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - lodash: 4.17.21 - resolve: 1.22.12 - semver: 5.7.1 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/core@7.29.7: resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} @@ -716,6 +279,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/generator@7.29.7: resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} @@ -726,6 +290,7 @@ packages: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 + dev: true /@babel/generator@8.0.0: resolution: {integrity: sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==} @@ -744,6 +309,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.29.7 + dev: true /@babel/helper-compilation-targets@7.29.7: resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} @@ -754,6 +320,7 @@ packages: browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 + dev: true /@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} @@ -771,6 +338,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} @@ -782,6 +350,7 @@ packages: '@babel/helper-annotate-as-pure': 7.29.7 regexpu-core: 6.4.0 semver: 6.3.1 + dev: true /@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7): resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} @@ -796,10 +365,12 @@ packages: resolve: 1.22.12 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-globals@7.29.7: resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-member-expression-to-functions@7.29.7: resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} @@ -809,6 +380,7 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-module-imports@7.29.7: resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} @@ -818,20 +390,7 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - - /@babel/helper-module-transforms@7.29.7(@babel/core@7.12.9): - resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} @@ -845,20 +404,19 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-optimise-call-expression@7.29.7: resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.29.7 - - /@babel/helper-plugin-utils@7.10.4: - resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} - dev: false + dev: true /@babel/helper-plugin-utils@7.29.7: resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} @@ -872,6 +430,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} @@ -885,6 +444,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-skip-transparent-expression-wrappers@7.29.7: resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} @@ -894,23 +454,22 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-string-parser@7.29.7: resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-string-parser@8.0.0: resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} engines: {node: ^22.18.0 || >=24.11.0} dev: true - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.29.7: resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-identifier@8.0.2: resolution: {integrity: sha512-9Fr9QeyCAyi1BR1jKZ6uYQ24EIhQUx5ReHfQU7drOE+TPOb+w11/dsqLkMOT2U29OdCT71XajrOT8xDc1C7orA==} @@ -920,6 +479,7 @@ packages: /@babel/helper-validator-option@7.29.7: resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-wrap-function@7.29.7: resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} @@ -930,6 +490,7 @@ packages: '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/helpers@7.29.7: resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} @@ -937,14 +498,7 @@ packages: dependencies: '@babel/template': 7.29.7 '@babel/types': 7.29.7 - - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 + dev: true /@babel/parser@7.29.7: resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} @@ -952,6 +506,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.29.7 + dev: true /@babel/parser@8.0.0: resolution: {integrity: sha512-aLxAE+imI9bCcyaPrUDjBv3uSkWieifjLe0kuFOZF0zli0L6GCsTmsePnTr55adbIAgYz2zhN1vnFimCBUYcRQ==} @@ -972,6 +527,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} @@ -981,6 +537,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} @@ -990,6 +547,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} @@ -1002,6 +560,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} @@ -1015,6 +574,7 @@ packages: '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} @@ -1027,6 +587,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==} @@ -1042,18 +603,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9): - resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.12.9) - dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} @@ -1061,6 +610,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.29.7 + dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -1109,15 +659,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - dev: false - /@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} engines: {node: '>=6.9.0'} @@ -1126,6 +667,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} @@ -1135,6 +677,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -1154,15 +697,6 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9): - resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.29.7 - dev: false - /@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} engines: {node: '>=6.9.0'} @@ -1171,6 +705,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1199,21 +734,12 @@ packages: '@babel/helper-plugin-utils': 7.29.7 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.29.7 - dev: false - - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 + '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 dev: true @@ -1263,6 +789,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -1273,6 +800,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} @@ -1282,6 +810,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} @@ -1295,6 +824,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} @@ -1308,6 +838,7 @@ packages: '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} @@ -1317,6 +848,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} @@ -1326,6 +858,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} @@ -1338,6 +871,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} @@ -1350,6 +884,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} @@ -1366,6 +901,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} @@ -1376,6 +912,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 '@babel/template': 7.29.7 + dev: true /@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} @@ -1388,6 +925,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} @@ -1398,6 +936,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} @@ -1407,6 +946,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} @@ -1417,6 +957,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} @@ -1426,6 +967,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} @@ -1438,6 +980,7 @@ packages: '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} @@ -1447,6 +990,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} @@ -1456,6 +1000,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} @@ -1468,6 +1013,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} @@ -1481,6 +1027,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} @@ -1490,6 +1037,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} @@ -1499,6 +1047,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} @@ -1508,6 +1057,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} @@ -1517,6 +1067,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} @@ -1529,6 +1080,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} @@ -1541,6 +1093,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} @@ -1555,6 +1108,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} @@ -1567,6 +1121,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} @@ -1577,6 +1132,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} @@ -1586,6 +1142,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} @@ -1595,6 +1152,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} @@ -1604,6 +1162,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} @@ -1619,6 +1178,7 @@ packages: '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} @@ -1631,6 +1191,7 @@ packages: '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} @@ -1640,6 +1201,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} @@ -1652,16 +1214,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color - - /@babel/plugin-transform-parameters@7.29.7(@babel/core@7.12.9): - resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.29.7 - dev: false + dev: true /@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} @@ -1671,6 +1224,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} @@ -1683,6 +1237,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} @@ -1696,6 +1251,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} @@ -1705,65 +1261,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - - /@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - dev: false - - /@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - dev: false - - /@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - dev: false + dev: true /@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} @@ -1773,6 +1271,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} @@ -1783,6 +1282,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} @@ -1792,6 +1292,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} @@ -1808,6 +1309,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} @@ -1817,6 +1319,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} @@ -1829,6 +1332,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} @@ -1838,6 +1342,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} @@ -1847,6 +1352,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} @@ -1856,6 +1362,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} @@ -1871,6 +1378,7 @@ packages: '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} @@ -1880,6 +1388,7 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} @@ -1890,6 +1399,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} @@ -1900,6 +1410,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} @@ -1910,6 +1421,7 @@ packages: '@babel/core': 7.29.7 '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 + dev: true /@babel/preset-env@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} @@ -1991,6 +1503,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} @@ -2001,23 +1514,7 @@ packages: '@babel/helper-plugin-utils': 7.29.7 '@babel/types': 7.29.7 esutils: 2.0.3 - - /@babel/preset-react@7.29.7(@babel/core@7.29.7): - resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - dev: false + dev: true /@babel/preset-typescript@7.29.7(@babel/core@7.29.7): resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} @@ -2033,24 +1530,12 @@ packages: '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - - /@babel/runtime-corejs3@7.29.7: - resolution: {integrity: sha512-ppj9ouYku+RX0ljtgZd+KMO5mkM2bCqg8H2PYAFWnLsHEIKIdRojqbJ2i3eVHrisuxy7nOFCmngTDdWtUCdXUQ==} - engines: {node: '>=6.9.0'} - dependencies: - core-js-pure: 3.49.0 - dev: false - - /@babel/runtime@7.21.0: - resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 dev: true /@babel/runtime@7.29.7: resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} + dev: true /@babel/template@7.29.7: resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} @@ -2059,6 +1544,7 @@ packages: '@babel/code-frame': 7.29.7 '@babel/parser': 7.29.7 '@babel/types': 7.29.7 + dev: true /@babel/traverse@7.29.7: resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} @@ -2073,6 +1559,7 @@ packages: debug: 4.4.3 transitivePeerDependencies: - supports-color + dev: true /@babel/types@7.29.7: resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} @@ -2080,6 +1567,7 @@ packages: dependencies: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 + dev: true /@babel/types@8.0.0: resolution: {integrity: sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==} @@ -2095,76 +1583,65 @@ packages: /@borewit/text-codec@0.2.2: resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} + dev: true - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - requiresBuild: true - dev: false - optional: true - - /@commitlint/config-validator@17.4.4: - resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} - engines: {node: '>=v14'} + /@commitlint/config-validator@21.0.1: + resolution: {integrity: sha512-Zd2UFdndeMMaW2O96HK0tdfT4gOImUvidMpAd/pws2zZ4m1nrAZ/9b/v2JYuE8fs86GpXv9F7LNaIuCIWhY+pA==} + engines: {node: '>=22.12.0'} requiresBuild: true dependencies: - '@commitlint/types': 17.4.4 - ajv: 8.12.0 + '@commitlint/types': 21.0.1 + ajv: 8.20.0 dev: true optional: true - /@commitlint/execute-rule@17.4.0: - resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} - engines: {node: '>=v14'} + /@commitlint/execute-rule@21.0.1: + resolution: {integrity: sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA==} + engines: {node: '>=22.12.0'} requiresBuild: true dev: true optional: true - /@commitlint/load@17.4.4(@swc/core@1.15.41): - resolution: {integrity: sha512-z6uFIQ7wfKX5FGBe1AkOF4l/ShOQsaa1ml/nLMkbW7R/xF8galGS7Zh0yHvzVp/srtfS0brC+0bUfQfmpMPFVQ==} - engines: {node: '>=v14'} + /@commitlint/load@21.0.2(@types/node@18.19.130)(typescript@5.4.5): + resolution: {integrity: sha512-lwUE70hN0/qE/ZRROhbaX65ly/FF12DrqfReLCESo37M0OQCFAf2jRS+2tSCSORq+bm4Kdju7qNDj46uc1QzTA==} + engines: {node: '>=22.12.0'} requiresBuild: true dependencies: - '@commitlint/config-validator': 17.4.4 - '@commitlint/execute-rule': 17.4.0 - '@commitlint/resolve-extends': 17.4.4 - '@commitlint/types': 17.4.4 - '@types/node': 18.19.130 - chalk: 4.1.2 - cosmiconfig: 8.1.0 - cosmiconfig-typescript-loader: 4.3.0(@types/node@18.19.130)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5) - 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.15.41)(@types/node@18.19.130)(typescript@4.9.5) - typescript: 4.9.5 + '@commitlint/config-validator': 21.0.1 + '@commitlint/execute-rule': 21.0.1 + '@commitlint/resolve-extends': 21.0.1 + '@commitlint/types': 21.0.1 + cosmiconfig: 9.0.2(typescript@5.4.5) + cosmiconfig-typescript-loader: 6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.4.5) + es-toolkit: 1.47.1 + is-plain-obj: 4.1.0 + picocolors: 1.1.1 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript dev: true optional: true - /@commitlint/resolve-extends@17.4.4: - resolution: {integrity: sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==} - engines: {node: '>=v14'} + /@commitlint/resolve-extends@21.0.1: + resolution: {integrity: sha512-0DhjYWL6uYrY16Efa032fYk3woGJDU4AGWiG1XXltT9AMUNYKyb5cIZU2ivbaMZ3+kKFqUjikD2cjh66Sbh/Sg==} + engines: {node: '>=22.12.0'} requiresBuild: true dependencies: - '@commitlint/config-validator': 17.4.4 - '@commitlint/types': 17.4.4 - import-fresh: 3.3.0 - lodash.mergewith: 4.6.2 + '@commitlint/config-validator': 21.0.1 + '@commitlint/types': 21.0.1 + es-toolkit: 1.47.1 + global-directory: 5.0.0 resolve-from: 5.0.0 - resolve-global: 1.0.0 dev: true optional: true - /@commitlint/types@17.4.4: - resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} - engines: {node: '>=v14'} + /@commitlint/types@21.0.1: + resolution: {integrity: sha512-4u7w8jcoCUFWhjWnASYzZHAP34OqOtuFBN87nQmFvqda03YU0T6z+yB4w0gSAMpekiRqqGk5rt+qSlW+a2vSEg==} + engines: {node: '>=22.12.0'} requiresBuild: true dependencies: - chalk: 4.1.2 + conventional-commits-parser: 6.4.0 + picocolors: 1.1.1 dev: true optional: true @@ -2218,1883 +1695,55 @@ packages: engines: {node: '>=18'} dev: true - /@discoveryjs/json-ext@0.5.7: - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - dev: false - - /@docsearch/css@3.9.0: - resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} - dev: false - - /@docsearch/react@3.9.0(@algolia/client-search@5.55.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3): - resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true + /@emnapi/core@1.10.0: + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + requiresBuild: true dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.55.0)(algoliasearch@5.55.0) - '@docsearch/css': 3.9.0 - algoliasearch: 5.55.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - dev: false + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.5.3 + dev: true + optional: true - /@docusaurus/core@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-qysDMVp1M5UozK3u/qOxsEZsHF7jeBvJDS+5ItMPYmNKvMbNKeYZGA0g6S7F9hRDwjIlEbvo7BaX0UMDcmTAWA==} - engines: {node: '>=16.14'} - hasBin: true - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + /@emnapi/core@1.11.1: + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + requiresBuild: true dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/runtime': 7.29.7 - '@babel/runtime-corejs3': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/cssnano-preset': 2.0.0-beta.21 - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/react-loadable': 5.5.2(react@17.0.2) - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-common': 2.0.0-beta.21 - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@slorber/static-site-generator-webpack-plugin': 4.0.7 - '@svgr/webpack': 6.5.1 - autoprefixer: 10.5.0(postcss@8.5.15) - babel-loader: 8.4.1(@babel/core@7.29.7)(webpack@5.107.2) - babel-plugin-dynamic-import-node: 2.3.3 - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - clean-css: 5.3.3 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.107.2) - core-js: 3.49.0 - css-loader: 6.11.0(webpack@5.107.2) - css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.107.2) - cssnano: 5.1.15(postcss@8.5.15) - del: 6.1.1 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 1.14.2 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - html-minifier-terser: 6.1.0 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.7(webpack@5.107.2) - import-fresh: 3.3.0 - leven: 3.1.0 - lodash: 4.17.21 - mini-css-extract-plugin: 2.10.2(webpack@5.107.2) - postcss: 8.5.15 - postcss-loader: 7.3.4(postcss@8.5.15)(typescript@4.5.5)(webpack@5.107.2) - prompts: 2.4.2 - react: 17.0.2 - react-dev-utils: 12.0.1(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2) - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) - react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) - react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@5.5.2)(webpack@5.107.2) - react-router: 5.3.4(react@17.0.2) - react-router-config: 5.1.1(react-router@5.3.4)(react@17.0.2) - react-router-dom: 5.3.4(react@17.0.2) - remark-admonitions: 1.2.1 - rtl-detect: 1.1.2 - semver: 7.8.5 - serve-handler: 6.1.7 - shelljs: 0.8.5 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2) + '@emnapi/wasi-threads': 1.2.2 tslib: 2.5.3 - update-notifier: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - wait-on: 6.0.1 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack@5.107.2) - webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.107.2) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false + dev: true + optional: true - /@docusaurus/core@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==} - engines: {node: '>=16.14'} - hasBin: true - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + /@emnapi/core@1.4.5: + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/runtime': 7.29.7 - '@babel/runtime-corejs3': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/cssnano-preset': 2.3.1 - '@docusaurus/logger': 2.3.1 - '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/react-loadable': 5.5.2(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@slorber/static-site-generator-webpack-plugin': 4.0.7 - '@svgr/webpack': 6.5.1 - autoprefixer: 10.5.0(postcss@8.5.15) - babel-loader: 8.4.1(@babel/core@7.29.7)(webpack@5.107.2) - babel-plugin-dynamic-import-node: 2.3.3 - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - clean-css: 5.3.3 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.107.2) - core-js: 3.49.0 - css-loader: 6.11.0(webpack@5.107.2) - css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.107.2) - cssnano: 5.1.15(postcss@8.5.15) - del: 6.1.1 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - html-minifier-terser: 6.1.0 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.7(webpack@5.107.2) - import-fresh: 3.3.0 - leven: 3.1.0 - lodash: 4.17.21 - mini-css-extract-plugin: 2.10.2(webpack@5.107.2) - postcss: 8.5.15 - postcss-loader: 7.3.4(postcss@8.5.15)(typescript@5.4.5)(webpack@5.107.2) - prompts: 2.4.2 - react: 17.0.2 - react-dev-utils: 12.0.1(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2) - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) - react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) - react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@5.5.2)(webpack@5.107.2) - react-router: 5.3.4(react@17.0.2) - react-router-config: 5.1.1(react-router@5.3.4)(react@17.0.2) - react-router-dom: 5.3.4(react@17.0.2) - rtl-detect: 1.1.2 - semver: 7.8.5 - serve-handler: 6.1.7 - shelljs: 0.8.5 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2) + '@emnapi/wasi-threads': 1.0.4 tslib: 2.5.3 - update-notifier: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - wait-on: 6.0.1 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack@5.107.2) - webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.107.2) - transitivePeerDependencies: - - '@docusaurus/types' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false + dev: true - /@docusaurus/cssnano-preset@2.0.0-beta.21: - resolution: {integrity: sha512-fhTZrg1vc6zYYZIIMXpe1TnEVGEjqscBo0s1uomSwKjjtMgu7wkzc1KKJYY7BndsSA+fVVkZ+OmL/kAsmK7xxw==} - engines: {node: '>=16.14'} + /@emnapi/runtime@1.10.0: + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + requiresBuild: true dependencies: - cssnano-preset-advanced: 5.3.10(postcss@8.5.15) - postcss: 8.5.15 - postcss-sort-media-queries: 4.4.1(postcss@8.5.15) tslib: 2.5.3 - dev: false + dev: true + optional: true - /@docusaurus/cssnano-preset@2.3.1: - resolution: {integrity: sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==} - engines: {node: '>=16.14'} + /@emnapi/runtime@1.11.1: + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + requiresBuild: true dependencies: - cssnano-preset-advanced: 5.3.10(postcss@8.5.15) - postcss: 8.5.15 - postcss-sort-media-queries: 4.4.1(postcss@8.5.15) tslib: 2.5.3 - dev: false + dev: true + optional: true - /@docusaurus/logger@2.0.0-beta.21: - resolution: {integrity: sha512-HTFp8FsSMrAj7Uxl5p72U+P7rjYU/LRRBazEoJbs9RaqoKEdtZuhv8MYPOCh46K9TekaoquRYqag2o23Qt4ggA==} - engines: {node: '>=16.14'} + /@emnapi/runtime@1.4.5: + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} dependencies: - chalk: 4.1.2 tslib: 2.5.3 - dev: false + dev: true - /@docusaurus/logger@2.3.1: - resolution: {integrity: sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==} - engines: {node: '>=16.14'} - dependencies: - chalk: 4.1.2 - tslib: 2.5.3 - dev: false - - /@docusaurus/mdx-loader@2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-AI+4obJnpOaBOAYV6df2ux5Y1YJCBS+MhXFf0yhED12sVLJi2vffZgdamYd/d/FwvWDw6QLs/VD2jebd7P50yQ==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@babel/parser': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@mdx-js/mdx': 1.6.22 - escape-html: 1.0.3 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - image-size: 1.2.1 - mdast-util-to-string: 2.0.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - remark-emoji: 2.2.0 - stringify-object: 3.3.0 - tslib: 2.5.3 - unist-util-visit: 2.0.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/mdx-loader@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@babel/parser': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 2.3.1 - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@mdx-js/mdx': 1.6.22 - escape-html: 1.0.3 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - image-size: 1.2.1 - mdast-util-to-string: 2.0.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - remark-emoji: 2.2.0 - stringify-object: 3.3.0 - tslib: 2.5.3 - unified: 9.2.2 - unist-util-visit: 2.0.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@docusaurus/types' - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/mdx-loader@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@babel/parser': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 2.3.1 - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@mdx-js/mdx': 1.6.22 - escape-html: 1.0.3 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - image-size: 1.2.1 - mdast-util-to-string: 2.0.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - remark-emoji: 2.2.0 - stringify-object: 3.3.0 - tslib: 2.5.3 - unified: 9.2.2 - unist-util-visit: 2.0.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@docusaurus/types' - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/module-type-aliases@2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-gRkWICgQZiqSJgrwRKWjXm5gAB+9IcfYdUbCG0PRPP/G8sNs9zBIOY4uT4Z5ox2CWFEm44U3RTTxj7BiLVMBXw==} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@docusaurus/types': 2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - '@types/react-router-dom': 5.3.3 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 3.0.0(react@17.0.2) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/module-type-aliases@2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@docusaurus/react-loadable': 5.5.2(react@17.0.2) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - '@types/react-router-dom': 5.3.3 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 3.0.0(react@17.0.2) - react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack-cli - - /@docusaurus/plugin-content-blog@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-IP21yJViP3oBmgsWBU5LhrG1MZXV4mYCQSoCAboimESmy1Z11RCNP2tXaqizE3iTmXOwZZL+SNBk06ajKCEzWg==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-common': 2.0.0-beta.21 - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - cheerio: 1.2.0 - feed: 4.2.2 - fs-extra: 10.1.0 - lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - reading-time: 1.5.0 - remark-admonitions: 1.2.1 - tslib: 2.5.3 - unist-util-visit: 2.0.3 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-content-blog@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-f5LjqX+9WkiLyGiQ41x/KGSJ/9bOjSD8lsVhPvYeUYHCtYpuiDKfhZE07O4EqpHkBx4NQdtQDbp+aptgHSTuiw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/logger': 2.3.1 - '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - cheerio: 1.2.0 - feed: 4.2.2 - fs-extra: 10.1.0 - lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - reading-time: 1.5.0 - tslib: 2.5.3 - unist-util-visit: 2.0.3 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-content-docs@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-aa4vrzJy4xRy81wNskyhE3wzRf3AgcESZ1nfKh8xgHUkT7fDTZ1UWlg50Jb3LBCQFFyQG2XQB9N6llskI/KUnw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - combine-promises: 1.2.0 - fs-extra: 10.1.0 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - remark-admonitions: 1.2.1 - tslib: 2.5.3 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-content-docs@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-DxztTOBEruv7qFxqUtbsqXeNcHqcVEIEe+NQoI1oi2DBmKBhW/o0MIal8lt+9gvmpx3oYtlwmLOOGepxZgJGkw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/logger': 2.3.1 - '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/module-type-aliases': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 10.1.0 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-content-pages@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-DmXOXjqNI+7X5hISzCvt54QIK6XBugu2MOxjxzuqI7q92Lk/EVdraEj5mthlH8IaEH/VlpWYJ1O9TzLqX5vH2g==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/mdx-loader': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - remark-admonitions: 1.2.1 - tslib: 2.5.3 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-content-pages@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-E80UL6hvKm5VVw8Ka8YaVDtO6kWWDVUK4fffGvkpQ/AJQDOg99LwOXKujPoICC22nUFTsZ2Hp70XvpezCsFQaA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-debug@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-P54J4q4ecsyWW0Jy4zbimSIHna999AfbxpXGmF1IjyHrjoA3PtuakV1Ai51XrGEAaIq9q6qMQkEhbUd3CffGAw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-json-view: 1.21.3(react-dom@17.0.2)(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - encoding - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-debug@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-Ujpml1Ppg4geB/2hyu2diWnO49az9U2bxM9Shen7b6qVcyFisNJTkVG2ocvLC7wM1efTJcUhBO6zAku2vKJGMw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-json-view: 1.21.3(react-dom@17.0.2)(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - encoding - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-google-analytics@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-+5MS0PeGaJRgPuNZlbd/WMdQSpOACaxEz7A81HAxm6kE+tIASTW3l8jgj1eWFy/PGPzaLnQrEjxI1McAfnYmQw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-google-analytics@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-OHip0GQxKOFU8n7gkt3TM4HOYTXPCFDjqKbMClDD3KaDnyTuMp/Zvd9HSr770lLEscgPWIvzhJByRAClqsUWiQ==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-google-gtag@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-4zxKZOnf0rfh6myXLG7a6YZfQcxYDMBsWqANEjCX77H5gPdK+GHZuDrxK6sjFvRBv4liYCrNjo7HJ4DpPoT0zA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-google-gtag@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-uXtDhfu4+Hm+oqWUySr3DNI5cWC/rmP6XJyAk83Heor3dFjZqDwCbkX8yWPywkRiWev3Dk/rVF8lEn0vIGVocA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-google-tag-manager@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-Ww2BPEYSqg8q8tJdLYPFFM3FMDBCVhEM4UUqKzJaiRMx3NEoly3qqDRAoRDGdIhlC//Rf0iJV9cWAoq2m6k3sw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-sitemap@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-/ynWbcXZXcYZ6sT2X6vAJbnfqcPxwdGEybd0rcRZi4gBHq6adMofYI25AqELmnbBDxt0If+vlAeUHFRG5ueP7Q==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-common': 2.0.0-beta.21 - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - sitemap: 7.1.3 - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/plugin-sitemap@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-8Yxile/v6QGYV9vgFiYL+8d2N4z4Er3pSHsrD08c5XI8bUXxTppMwjarDUTH/TRTfgAWotRbhJ6WZLyajLpozA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/logger': 2.3.1 - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - sitemap: 7.1.3 - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/preset-classic@2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5): - resolution: {integrity: sha512-KvBnIUu7y69pNTJ9UhX6SdNlK6prR//J3L4rhN897tb8xx04xHHILlPXko2Il+C3Xzgh3OCgyvkoz9K6YlFTDw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-blog': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-pages': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-debug': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-google-analytics': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-google-gtag': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-sitemap': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-classic': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-common': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-search-algolia': 2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - transitivePeerDependencies: - - '@algolia/client-search' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - encoding - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/preset-classic@2.3.1(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5): - resolution: {integrity: sha512-OQ5W0AHyfdUk0IldwJ3BlnZ1EqoJuu2L2BMhqLbqwNWdkmzmSUvlFLH1Pe7CZSQgB2YUUC/DnmjbPKk/qQD0lQ==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-blog': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-pages': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-debug': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-google-analytics': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-google-gtag': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-google-tag-manager': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-sitemap': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-classic': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-common': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-search-algolia': 2.3.1(@algolia/client-search@5.55.0)(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5) - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - transitivePeerDependencies: - - '@algolia/client-search' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - encoding - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/react-loadable@5.5.2(react@17.0.2): - resolution: {integrity: sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==} - peerDependencies: - react: '*' - dependencies: - '@types/react': 19.2.17 - prop-types: 15.8.1 - react: 17.0.2 - - /@docusaurus/theme-classic@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-Ge0WNdTefD0VDQfaIMRRWa8tWMG9+8/OlBRd5MK88/TZfqdBq7b/gnCSaalQlvZwwkj6notkKhHx72+MKwWUJA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-blog': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-pages': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-common': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-translations': 2.0.0-beta.21 - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-common': 2.0.0-beta.21 - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@mdx-js/react': 1.6.22(react@17.0.2) - clsx: 1.2.1 - copy-text-to-clipboard: 3.2.2 - infima: 0.2.0-alpha.39 - lodash: 4.17.21 - nprogress: 0.2.0 - postcss: 8.5.15 - prism-react-renderer: 1.3.5(react@17.0.2) - prismjs: 1.30.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-router-dom: 5.3.4(react@17.0.2) - rtlcss: 3.5.0 - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/theme-classic@2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-SelSIDvyttb7ZYHj8vEUhqykhAqfOPKk+uP0z85jH72IMC58e7O8DIlcAeBv+CWsLbNIl9/Hcg71X0jazuxJug==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/module-type-aliases': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-pages': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-common': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-translations': 2.3.1 - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@docusaurus/utils-common': 2.3.1(@docusaurus/types@2.3.1) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@mdx-js/react': 1.6.22(react@17.0.2) - clsx: 1.2.1 - copy-text-to-clipboard: 3.2.2 - infima: 0.2.0-alpha.42 - lodash: 4.17.21 - nprogress: 0.2.0 - postcss: 8.5.15 - prism-react-renderer: 1.3.5(react@17.0.2) - prismjs: 1.30.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-router-dom: 5.3.4(react@17.0.2) - rtlcss: 3.5.0 - tslib: 2.5.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/theme-common@2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5): - resolution: {integrity: sha512-fTKoTLRfjuFG6c3iwnVjIIOensxWMgdBKLfyE5iih3Lq7tQgkE7NyTGG9BKLrnTJ7cAD2UXdXM9xbB7tBf1qzg==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/module-type-aliases': 2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/plugin-content-pages': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - clsx: 1.2.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 1.3.5(react@17.0.2) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/theme-common@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5): - resolution: {integrity: sha512-RYmYl2OR2biO+yhmW1aS5FyEvnrItPINa+0U2dMxcHpah8reSCjQ9eJGRmAgkZFchV1+aIQzXOI1K7LCW38O0g==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docusaurus/mdx-loader': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/module-type-aliases': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/plugin-content-pages': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - clsx: 1.2.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 1.3.5(react@17.0.2) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - use-sync-external-store: 1.6.0(react@17.0.2) - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/theme-search-algolia@2.0.0-beta.21(@algolia/client-search@5.55.0)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@4.5.5): - resolution: {integrity: sha512-T1jKT8MVSSfnztSqeebUOpWHPoHKtwDXtKYE0xC99JWoZ+mMfv8AFhVSoSddn54jLJjV36mxg841eHQIySMCpQ==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@5.55.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3) - '@docusaurus/core': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/plugin-content-docs': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-common': 2.0.0-beta.21(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@4.5.5) - '@docusaurus/theme-translations': 2.0.0-beta.21 - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - '@docusaurus/utils-validation': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - algoliasearch: 4.27.0 - algoliasearch-helper: 3.29.1(algoliasearch@4.27.0) - clsx: 1.2.1 - eta: 1.14.2 - fs-extra: 10.1.0 - lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/theme-search-algolia@2.3.1(@algolia/client-search@5.55.0)(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3)(typescript@5.4.5): - resolution: {integrity: sha512-JdHaRqRuH1X++g5fEMLnq7OtULSGQdrs9AbhcWRQ428ZB8/HOiaN6mj3hzHvcD3DFgu7koIVtWPQnvnN7iwzHA==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@5.55.0)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.17.3) - '@docusaurus/core': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/logger': 2.3.1 - '@docusaurus/plugin-content-docs': 2.3.1(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-common': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(eslint@8.57.1)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2)(typescript@5.4.5) - '@docusaurus/theme-translations': 2.3.1 - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - '@docusaurus/utils-validation': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - algoliasearch: 4.27.0 - algoliasearch-helper: 3.29.1(algoliasearch@4.27.0) - clsx: 1.2.1 - eta: 2.2.0 - fs-extra: 10.1.0 - lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.5.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/types' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - eslint - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - dev: false - - /@docusaurus/theme-translations@2.0.0-beta.21: - resolution: {integrity: sha512-dLVT9OIIBs6MpzMb1bAy+C0DPJK3e3DNctG+ES0EP45gzEqQxzs4IsghpT+QDaOsuhNnAlosgJpFWX3rqxF9xA==} - engines: {node: '>=16.14'} - dependencies: - fs-extra: 10.1.0 - tslib: 2.5.3 - dev: false - - /@docusaurus/theme-translations@2.3.1: - resolution: {integrity: sha512-BsBZzAewJabVhoGG1Ij2u4pMS3MPW6gZ6sS4pc+Y7czevRpzxoFNJXRtQDVGe7mOpv/MmRmqg4owDK+lcOTCVQ==} - engines: {node: '>=16.14'} - dependencies: - fs-extra: 10.1.0 - tslib: 2.5.3 - dev: false - - /@docusaurus/types@2.0.0-beta.21(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-/GH6Npmq81eQfMC/ikS00QSv9jNyO1RXEpNSx5GLA3sFX8Iib26g2YI2zqNplM8nyxzZ2jVBuvUoeODTIbTchQ==} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - commander: 5.1.0 - history: 4.10.1 - joi: 17.13.4 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/types@2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==} - peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - commander: 5.1.0 - joi: 17.13.4 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack-cli - - /@docusaurus/utils-common@2.0.0-beta.21: - resolution: {integrity: sha512-5w+6KQuJb6pUR2M8xyVuTMvO5NFQm/p8TOTDFTx60wt3p0P1rRX00v6FYsD4PK6pgmuoKjt2+Ls8dtSXc4qFpQ==} - engines: {node: '>=16.14'} - dependencies: - tslib: 2.5.3 - dev: false - - /@docusaurus/utils-common@2.3.1(@docusaurus/types@2.3.1): - resolution: {integrity: sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==} - engines: {node: '>=16.14'} - peerDependencies: - '@docusaurus/types': '*' - peerDependenciesMeta: - '@docusaurus/types': - optional: true - dependencies: - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - tslib: 2.5.3 - dev: false - - /@docusaurus/utils-validation@2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): - resolution: {integrity: sha512-6NG1FHTRjv1MFzqW//292z7uCs77vntpWEbZBHk3n67aB1HoMn5SOwjLPtRDjbCgn6HCHFmdiJr6euCbjhYolg==} - engines: {node: '>=16.14'} - dependencies: - '@docusaurus/logger': 2.0.0-beta.21 - '@docusaurus/utils': 2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - joi: 17.13.4 - js-yaml: 4.1.0 - tslib: 2.5.3 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/utils-validation@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): - resolution: {integrity: sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==} - engines: {node: '>=16.14'} - dependencies: - '@docusaurus/logger': 2.3.1 - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - joi: 17.13.4 - js-yaml: 4.1.0 - tslib: 2.5.3 - transitivePeerDependencies: - - '@docusaurus/types' - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/utils-validation@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15): - resolution: {integrity: sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==} - engines: {node: '>=16.14'} - dependencies: - '@docusaurus/logger': 2.3.1 - '@docusaurus/utils': 2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15) - joi: 17.13.4 - js-yaml: 4.1.0 - tslib: 2.5.3 - transitivePeerDependencies: - - '@docusaurus/types' - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/utils@2.0.0-beta.21(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): - resolution: {integrity: sha512-M/BrVCDmmUPZLxtiStBgzpQ4I5hqkggcpnQmEN+LbvbohjbtVnnnZQ0vptIziv1w8jry/woY+ePsyOO7O/yeLQ==} - engines: {node: '>=16.14'} - dependencies: - '@docusaurus/logger': 2.0.0-beta.21 - '@svgr/webpack': 6.5.1 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - js-yaml: 4.1.0 - lodash: 4.17.21 - micromatch: 4.0.8 - resolve-pathname: 3.0.0 - shelljs: 0.8.5 - tslib: 2.5.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/utils@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): - resolution: {integrity: sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==} - engines: {node: '>=16.14'} - peerDependencies: - '@docusaurus/types': '*' - peerDependenciesMeta: - '@docusaurus/types': - optional: true - dependencies: - '@docusaurus/logger': 2.3.1 - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@svgr/webpack': 6.5.1 - escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - js-yaml: 4.1.0 - lodash: 4.17.21 - micromatch: 4.0.8 - resolve-pathname: 3.0.0 - shelljs: 0.8.5 - tslib: 2.5.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@docusaurus/utils@2.3.1(@docusaurus/types@2.3.1)(@swc/core@1.15.41)(postcss@8.5.15): - resolution: {integrity: sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==} - engines: {node: '>=16.14'} - peerDependencies: - '@docusaurus/types': '*' - peerDependenciesMeta: - '@docusaurus/types': - optional: true - dependencies: - '@docusaurus/logger': 2.3.1 - '@docusaurus/types': 2.3.1(@swc/core@1.15.41)(postcss@8.5.15)(react-dom@17.0.2)(react@17.0.2) - '@svgr/webpack': 6.5.1 - escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.107.2) - fs-extra: 10.1.0 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - js-yaml: 4.1.0 - lodash: 4.17.21 - micromatch: 4.0.8 - resolve-pathname: 3.0.0 - shelljs: 0.8.5 - tslib: 2.5.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.107.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - dev: false - - /@emnapi/core@1.10.0: - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - requiresBuild: true - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.5.3 - dev: true - optional: true - - /@emnapi/core@1.11.1: - resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - requiresBuild: true - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.5.3 - dev: true - optional: true - - /@emnapi/core@1.4.5: - resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} - dependencies: - '@emnapi/wasi-threads': 1.0.4 - tslib: 2.5.3 - dev: true - - /@emnapi/runtime@1.10.0: - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - requiresBuild: true - dependencies: - tslib: 2.5.3 - dev: true - optional: true - - /@emnapi/runtime@1.11.1: - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - requiresBuild: true - dependencies: - tslib: 2.5.3 - dev: true - optional: true - - /@emnapi/runtime@1.4.5: - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} - dependencies: - tslib: 2.5.3 - dev: true - - /@emnapi/wasi-threads@1.0.4: - resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + /@emnapi/wasi-threads@1.0.4: + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} dependencies: tslib: 2.5.3 dev: true @@ -4357,38 +2006,34 @@ packages: dependencies: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 + dev: true /@eslint-community/regexpp@4.12.2: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true /@eslint/eslintrc@2.1.4: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - ajv: 6.12.6 - debug: 4.3.4 + ajv: 6.15.0 + debug: 4.4.3 espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.2.0 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color + dev: true /@eslint/js@8.57.1: resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - /@hapi/hoek@9.3.0: - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - - /@hapi/topo@5.1.0: - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - dependencies: - '@hapi/hoek': 9.3.0 + dev: true /@humanwhocodes/config-array@0.13.0: resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} @@ -4396,18 +2041,21 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 + debug: 4.4.3 + minimatch: 3.1.5 transitivePeerDependencies: - supports-color + dev: true /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} + dev: true /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + dev: true /@hutson/parse-repository-url@3.0.2: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} @@ -4424,7 +2072,7 @@ packages: dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.0.1 + strip-ansi: 7.2.0 strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 @@ -4437,12 +2085,12 @@ packages: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 - js-yaml: 3.14.1 + js-yaml: 3.14.2 resolve-from: 5.0.0 dev: true - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + /@istanbuljs/schema@0.1.6: + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} engines: {node: '>=8'} dev: true @@ -4700,17 +2348,17 @@ packages: exit-x: 0.2.2 glob: 10.5.0 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.1.5 + istanbul-reports: 3.2.0 jest-message-util: 30.0.5 jest-util: 30.0.5 jest-worker: 30.0.5 slash: 3.0.0 string-length: 4.0.2 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color dev: true @@ -4736,28 +2384,21 @@ packages: exit-x: 0.2.2 glob: 10.5.0 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.1.5 + istanbul-reports: 3.2.0 jest-message-util: 30.4.1 jest-util: 30.4.1 jest-worker: 30.4.1 slash: 3.0.0 string-length: 4.0.2 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color dev: true - /@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.10 - dev: false - /@jest/schemas@30.0.5: resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -4886,18 +2527,6 @@ packages: - supports-color dev: true - /@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.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.130 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - dev: false - /@jest/types@30.0.5: resolution: {integrity: sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -4929,129 +2558,42 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 + dev: true /@jridgewell/remapping@2.3.5: resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - - /@jridgewell/source-map@0.3.11: - resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true /@jridgewell/sourcemap-codec@1.5.5: resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + dev: true /@jridgewell/trace-mapping@0.3.31: resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 dev: true - /@leichtgewicht/ip-codec@2.0.5: - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - dev: false - - /@lukeed/csprng@1.0.1: - resolution: {integrity: sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==} + /@lukeed/csprng@1.1.0: + resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} engines: {node: '>=8'} - - /@mdx-js/mdx@1.6.22: - resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==} - dependencies: - '@babel/core': 7.12.9 - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - babel-plugin-apply-mdx-type-prop: 1.6.22(@babel/core@7.12.9) - babel-plugin-extract-import-names: 1.6.22 - camelcase-css: 2.0.1 - detab: 2.0.4 - hast-util-raw: 6.0.1 - lodash.uniq: 4.5.0 - mdast-util-to-hast: 10.0.1 - remark-footnotes: 2.0.0 - remark-mdx: 1.6.22 - remark-parse: 8.0.3 - remark-squeeze-paragraphs: 4.0.0 - style-to-object: 0.3.0 - unified: 9.2.0 - unist-builder: 2.0.3 - unist-util-visit: 2.0.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@mdx-js/react@1.6.22(react@17.0.2): - resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} - peerDependencies: - react: ^16.13.1 || ^17.0.0 - dependencies: - react: 17.0.2 - dev: false - - /@mdx-js/util@1.6.22: - resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} - dev: false - - /@mikro-orm/core@5.1.5: - resolution: {integrity: sha512-UU4c6QhdRFO81sF/QlVhJncDEu50nYo+MZzHD3fIP7dNn8cjr86zv2uqK8Bs2TWhPz4HE8mPT6qoZHWlisUNJA==} - engines: {node: '>= 14.0.0'} - peerDependencies: - '@mikro-orm/better-sqlite': ^5.0.0 - '@mikro-orm/entity-generator': ^5.0.0 - '@mikro-orm/mariadb': ^5.0.0 - '@mikro-orm/migrations': ^5.0.0 - '@mikro-orm/mongodb': ^5.0.0 - '@mikro-orm/mysql': ^5.0.0 - '@mikro-orm/postgresql': ^5.0.0 - '@mikro-orm/seeder': ^5.0.0 - '@mikro-orm/sqlite': ^5.0.0 - peerDependenciesMeta: - '@mikro-orm/better-sqlite': - optional: true - '@mikro-orm/entity-generator': - optional: true - '@mikro-orm/mariadb': - optional: true - '@mikro-orm/migrations': - optional: true - '@mikro-orm/mongodb': - optional: true - '@mikro-orm/mysql': - optional: true - '@mikro-orm/postgresql': - optional: true - '@mikro-orm/seeder': - optional: true - '@mikro-orm/sqlite': - optional: true - dependencies: - dotenv: 16.0.1 - escaya: 0.0.61 - fs-extra: 10.1.0 - globby: 11.0.4 - mikro-orm: 5.6.13 - reflect-metadata: 0.1.13 - dev: false + dev: true /@mikro-orm/core@5.6.13: resolution: {integrity: sha512-PvFi1clhsBM+RJGQXQoNmFS2N917TA7PJqRJOdX+9WtGiJpj3DBCKdRAKbZ7KPkApNrEHWHUOsqWhRAMMdFU5w==} @@ -5094,8 +2636,9 @@ packages: dotenv: 16.0.3 fs-extra: 11.1.0 globby: 11.1.0 - mikro-orm: 5.6.13 - reflect-metadata: 0.1.13 + mikro-orm: 5.6.16 + reflect-metadata: 0.2.2 + dev: true /@napi-rs/nice-android-arm-eabi@1.1.1: resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} @@ -5307,111 +2850,32 @@ packages: '@emnapi/runtime': 1.11.1 '@tybys/wasm-util': 0.10.2 dev: true - optional: true - - /@nestjs/common@10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0): - resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} - peerDependencies: - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 || ^0.2.0 - rxjs: ^7.1.0 - peerDependenciesMeta: - class-transformer: - optional: true - class-validator: - optional: true - dependencies: - file-type: 20.4.1 - iterare: 1.2.1 - reflect-metadata: 0.1.13 - rxjs: 7.8.0 - tslib: 2.8.1 - uid: 2.0.2 - transitivePeerDependencies: - - supports-color - - /@nestjs/common@10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.1): - resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} - peerDependencies: - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 || ^0.2.0 - rxjs: ^7.1.0 - peerDependenciesMeta: - class-transformer: - optional: true - class-validator: - optional: true - dependencies: - file-type: 20.4.1 - iterare: 1.2.1 - reflect-metadata: 0.1.13 - rxjs: 7.8.1 - tslib: 2.8.1 - uid: 2.0.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@nestjs/common@8.4.7(reflect-metadata@0.1.13)(rxjs@7.5.7): - resolution: {integrity: sha512-m/YsbcBal+gA5CFrDpqXqsSfylo+DIQrkFY3qhVIltsYRfu8ct8J9pqsTO6OPf3mvqdOpFGrV5sBjoyAzOBvsw==} - peerDependencies: - cache-manager: '*' - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - cache-manager: - optional: true - class-transformer: - optional: true - class-validator: - optional: true - dependencies: - axios: 0.27.2 - iterare: 1.2.1 - reflect-metadata: 0.1.13 - rxjs: 7.5.7 - tslib: 2.4.0 - uuid: 8.3.2 - transitivePeerDependencies: - - debug - dev: false + optional: true - /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0): - resolution: {integrity: sha512-6IX9+VwjiKtCjx+mXVPncpkQ5ZjKfmssOZPFexmT+6T9H9wZ3svpYACAo7+9e7Nr9DZSoRZw3pffkJP7Z0UjaA==} - requiresBuild: true + /@nestjs/common@10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1): + resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 - '@nestjs/websockets': ^10.0.0 - reflect-metadata: ^0.1.12 || ^0.2.0 - rxjs: ^7.1.0 + class-transformer: '*' + class-validator: '*' + reflect-metadata: 0.2.2 + rxjs: 7.8.1 peerDependenciesMeta: - '@nestjs/microservices': - optional: true - '@nestjs/platform-express': + class-transformer: optional: true - '@nestjs/websockets': + class-validator: optional: true dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) - '@nuxtjs/opencollective': 0.3.2 - fast-safe-stringify: 2.1.1 + file-type: 20.4.1 iterare: 1.2.1 - path-to-regexp: 3.3.0 - reflect-metadata: 0.1.13 - rxjs: 7.8.0 + reflect-metadata: 0.2.2 + rxjs: 7.8.1 tslib: 2.8.1 uid: 2.0.2 transitivePeerDependencies: - - encoding + - supports-color + dev: true - /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.1): + /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1): resolution: {integrity: sha512-6IX9+VwjiKtCjx+mXVPncpkQ5ZjKfmssOZPFexmT+6T9H9wZ3svpYACAo7+9e7Nr9DZSoRZw3pffkJP7Z0UjaA==} requiresBuild: true peerDependencies: @@ -5419,8 +2883,8 @@ packages: '@nestjs/microservices': ^10.0.0 '@nestjs/platform-express': ^10.0.0 '@nestjs/websockets': ^10.0.0 - reflect-metadata: ^0.1.12 || ^0.2.0 - rxjs: ^7.1.0 + reflect-metadata: 0.2.2 + rxjs: 7.8.1 peerDependenciesMeta: '@nestjs/microservices': optional: true @@ -5429,52 +2893,19 @@ packages: '@nestjs/websockets': optional: true dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/common': 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 path-to-regexp: 3.3.0 - reflect-metadata: 0.1.13 + reflect-metadata: 0.2.2 rxjs: 7.8.1 tslib: 2.8.1 uid: 2.0.2 transitivePeerDependencies: - encoding - dev: false - - /@nestjs/core@8.4.7(@nestjs/common@8.4.7)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.5.7): - resolution: {integrity: sha512-XB9uexHqzr2xkPo6QSiQWJJttyYYLmvQ5My64cFvWFi7Wk2NIus0/xUNInwX3kmFWB6pF1ab5Y2ZBvWdPwGBhw==} - requiresBuild: true - peerDependencies: - '@nestjs/common': ^8.0.0 - '@nestjs/microservices': ^8.0.0 - '@nestjs/platform-express': ^8.0.0 - '@nestjs/websockets': ^8.0.0 - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - '@nestjs/microservices': - optional: true - '@nestjs/platform-express': - optional: true - '@nestjs/websockets': - optional: true - dependencies: - '@nestjs/common': 8.4.7(reflect-metadata@0.1.13)(rxjs@7.5.7) - '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) - '@nuxtjs/opencollective': 0.3.2 - fast-safe-stringify: 2.1.1 - iterare: 1.2.1 - object-hash: 3.0.0 - path-to-regexp: 3.2.0 - reflect-metadata: 0.1.13 - rxjs: 7.5.7 - tslib: 2.4.0 - uuid: 8.3.2 - transitivePeerDependencies: - - encoding - dev: false + dev: true /@nestjs/platform-express@10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22): resolution: {integrity: sha512-ySSq7Py/DFozzZdNDH67m/vHoeVdphDniWBnl6q5QVoXldDdrZIHLXLRMPayTDh5A95nt7jjJzmD4qpTbNQ6tA==} @@ -5482,8 +2913,8 @@ packages: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/common': 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1) body-parser: 1.20.4 cors: 2.8.5 express: 4.22.1 @@ -5491,6 +2922,7 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - supports-color + dev: true /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@5.4.5): resolution: {integrity: sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==} @@ -5525,29 +2957,37 @@ packages: '@nestjs/platform-express': optional: true dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.1.13)(rxjs@7.8.0) - '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.1.13)(rxjs@7.8.0) + '@nestjs/common': 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) tslib: 2.8.1 dev: true + /@noble/hashes@1.8.0: + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + dev: true + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.20.1 + dev: true /@nuxtjs/opencollective@0.3.2: resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} @@ -5556,9 +2996,10 @@ packages: dependencies: chalk: 4.1.2 consola: 2.15.3 - node-fetch: 2.6.9 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding + dev: true /@nx/devkit@22.7.5(nx@22.7.5): resolution: {integrity: sha512-/63ziS7kdHXYTLLhwWBu9hFwoFFT8xf+PkcQjsNdPqc5JmkYkSew0cE/vp5ORgBpGLWWnFPJgmfqjbJoO2C7jA==} @@ -5923,100 +3364,98 @@ packages: - debug dev: true - /@octokit/auth-token@3.0.3: - resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} + /@octokit/auth-token@3.0.4: + resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} engines: {node: '>= 14'} - dependencies: - '@octokit/types': 9.0.0 dev: true - /@octokit/core@4.2.0: - resolution: {integrity: sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==} + /@octokit/core@4.2.4: + resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-token': 3.0.3 - '@octokit/graphql': 5.0.5 - '@octokit/request': 6.2.3 + '@octokit/auth-token': 3.0.4 + '@octokit/graphql': 5.0.6 + '@octokit/request': 6.2.8 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 before-after-hook: 2.2.3 - universal-user-agent: 6.0.0 + universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding dev: true - /@octokit/endpoint@7.0.5: - resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} + /@octokit/endpoint@7.0.6: + resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 + universal-user-agent: 6.0.1 dev: true - /@octokit/graphql@5.0.5: - resolution: {integrity: sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==} + /@octokit/graphql@5.0.6: + resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} engines: {node: '>= 14'} dependencies: - '@octokit/request': 6.2.3 - '@octokit/types': 9.0.0 - universal-user-agent: 6.0.0 + '@octokit/request': 6.2.8 + '@octokit/types': 9.3.2 + universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding dev: true - /@octokit/openapi-types@16.0.0: - resolution: {integrity: sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==} + /@octokit/openapi-types@18.1.1: + resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} dev: true - /@octokit/plugin-paginate-rest@6.0.0(@octokit/core@4.2.0): - resolution: {integrity: sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==} + /@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4): + resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=4' dependencies: - '@octokit/core': 4.2.0 - '@octokit/types': 9.0.0 + '@octokit/core': 4.2.4 + '@octokit/tsconfig': 1.0.2 + '@octokit/types': 9.3.2 dev: true - /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.0): + /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4): resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.2.0 + '@octokit/core': 4.2.4 dev: true - /@octokit/plugin-rest-endpoint-methods@7.0.1(@octokit/core@4.2.0): - resolution: {integrity: sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==} + /@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4): + resolution: {integrity: sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.2.0 - '@octokit/types': 9.0.0 - deprecation: 2.3.1 + '@octokit/core': 4.2.4 + '@octokit/types': 10.0.0 dev: true /@octokit/request-error@3.0.3: resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 deprecation: 2.3.1 once: 1.4.0 dev: true - /@octokit/request@6.2.3: - resolution: {integrity: sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==} + /@octokit/request@6.2.8: + resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==} engines: {node: '>= 14'} dependencies: - '@octokit/endpoint': 7.0.5 + '@octokit/endpoint': 7.0.6 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.9 - universal-user-agent: 6.0.0 + node-fetch: 2.7.0 + universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding dev: true @@ -6025,24 +3464,40 @@ packages: resolution: {integrity: sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==} engines: {node: '>= 14'} dependencies: - '@octokit/core': 4.2.0 - '@octokit/plugin-paginate-rest': 6.0.0(@octokit/core@4.2.0) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.0) - '@octokit/plugin-rest-endpoint-methods': 7.0.1(@octokit/core@4.2.0) + '@octokit/core': 4.2.4 + '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.4) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.4) + '@octokit/plugin-rest-endpoint-methods': 7.2.3(@octokit/core@4.2.4) transitivePeerDependencies: - encoding dev: true - /@octokit/types@9.0.0: - resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} + /@octokit/tsconfig@1.0.2: + resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==} + dev: true + + /@octokit/types@10.0.0: + resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==} + dependencies: + '@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': 16.0.0 + '@octokit/openapi-types': 18.1.1 dev: true /@oxc-project/types@0.137.0: resolution: {integrity: sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==} dev: true + /@paralleldrive/cuid2@2.3.1: + resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} + dependencies: + '@noble/hashes': 1.8.0 + dev: true + /@phenomnomnominal/tsquery@6.2.0(typescript@5.4.5): resolution: {integrity: sha512-Vo9nkhfZxDB/sBiqIY3pjDC4mOSyure+AFlEW5hcy/tRE82MqCXjRN4InnVNMldinRt0dLYqg4HAU2XPq5e1LA==} peerDependencies: @@ -6065,8 +3520,8 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dev: true - /@pnpm/config.env-replace@1.0.0: - resolution: {integrity: sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA==} + /@pnpm/config.env-replace@1.1.0: + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} dev: true @@ -6077,19 +3532,15 @@ packages: graceful-fs: 4.2.10 dev: true - /@pnpm/npm-conf@2.1.0: - resolution: {integrity: sha512-Oe6ntvgsMTE3hDIqy6sajqHF+MnzJrOF06qC2QSiUEybLL7cp6tjoKUa32gpd9+KPVl4QyMs3E3nsXrx/Vdnlw==} + /@pnpm/npm-conf@3.0.3: + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} engines: {node: '>=12'} dependencies: - '@pnpm/config.env-replace': 1.0.0 + '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 dev: true - /@polka/url@1.0.0-next.29: - resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - dev: false - /@quansync/fs@1.0.0: resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} dependencies: @@ -6106,12 +3557,12 @@ packages: detect-indent: 7.0.1 fast-glob: 3.2.12 ini: 3.0.1 - js-yaml: 4.1.0 + js-yaml: 4.2.0 lodash.castarray: 4.4.0 lodash.get: 4.4.2 lodash.set: 4.3.2 release-it: 15.8.0 - semver: 7.3.8 + semver: 7.8.5 dev: true /@release-it/conventional-changelog@5.1.1(release-it@15.8.0): @@ -6269,32 +3720,19 @@ packages: resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} dev: true - /@sideway/address@4.1.5: - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - dependencies: - '@hapi/hoek': 9.3.0 - - /@sideway/formula@3.0.1: - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - - /@sideway/pinpoint@2.0.0: - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - - /@sinclair/typebox@0.27.10: - resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} - dev: false + /@simple-libs/stream-utils@1.2.0: + resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==} + engines: {node: '>=18'} + requiresBuild: true + dev: true + optional: true /@sinclair/typebox@0.34.49: resolution: {integrity: sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==} dev: true - /@sindresorhus/is@0.14.0: - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} - dev: false - - /@sindresorhus/is@5.3.0: - resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} + /@sindresorhus/is@5.6.0: + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} dev: true @@ -6316,168 +3754,6 @@ packages: '@sinonjs/commons': 3.0.1 dev: true - /@slorber/static-site-generator-webpack-plugin@4.0.7: - resolution: {integrity: sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==} - engines: {node: '>=14'} - dependencies: - eval: 0.1.8 - p-map: 4.0.0 - webpack-sources: 3.5.0 - dev: false - - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7): - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7): - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - dev: false - - /@svgr/babel-preset@6.5.1(@babel/core@7.29.7): - resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.29.7) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.29.7) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.29.7) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.29.7) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.29.7) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.29.7) - dev: false - - /@svgr/core@6.5.1: - resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} - engines: {node: '>=10'} - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-preset': 6.5.1(@babel/core@7.29.7) - '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) - camelcase: 6.3.0 - cosmiconfig: 7.1.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@svgr/hast-util-to-babel-ast@6.5.1: - resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} - engines: {node: '>=10'} - dependencies: - '@babel/types': 7.29.7 - entities: 4.4.0 - dev: false - - /@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1): - resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} - engines: {node: '>=10'} - peerDependencies: - '@svgr/core': ^6.0.0 - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-preset': 6.5.1(@babel/core@7.29.7) - '@svgr/core': 6.5.1 - '@svgr/hast-util-to-babel-ast': 6.5.1 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - dev: false - - /@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1): - resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} - engines: {node: '>=10'} - peerDependencies: - '@svgr/core': '*' - dependencies: - '@svgr/core': 6.5.1 - cosmiconfig: 7.1.0 - deepmerge: 4.3.1 - svgo: 2.8.2 - dev: false - - /@svgr/webpack@6.5.1: - resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} - engines: {node: '>=10'} - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@svgr/core': 6.5.1 - '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) - '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) - transitivePeerDependencies: - - supports-color - dev: false - /@swc/cli@0.7.10(@swc/core@1.15.41): resolution: {integrity: sha512-QQ36Q1VwGTT2YzvMeNe/j1x4DKS277DscNhWc57dIwQn//C+zAgvuSupMB/XkmYqPKQX+8hjn5/cHRJrMvWy0Q==} engines: {node: '>= 16.14.0'} @@ -6497,7 +3773,7 @@ packages: piscina: 4.9.3 semver: 7.8.5 slash: 3.0.0 - source-map: 0.7.4 + source-map: 0.7.6 tinyglobby: 0.2.17 transitivePeerDependencies: - bare-abort-controller @@ -6512,6 +3788,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@swc/core-darwin-x64@1.15.41: @@ -6520,6 +3797,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@swc/core-linux-arm-gnueabihf@1.15.41: @@ -6528,6 +3806,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-arm64-gnu@1.15.41: @@ -6536,6 +3815,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-arm64-musl@1.15.41: @@ -6544,6 +3824,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-ppc64-gnu@1.15.41: @@ -6552,6 +3833,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-s390x-gnu@1.15.41: @@ -6560,6 +3842,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-x64-gnu@1.15.41: @@ -6568,6 +3851,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-x64-musl@1.15.41: @@ -6576,6 +3860,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-win32-arm64-msvc@1.15.41: @@ -6584,6 +3869,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@swc/core-win32-ia32-msvc@1.15.41: @@ -6592,6 +3878,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@swc/core-win32-x64-msvc@1.15.41: @@ -6600,6 +3887,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@swc/core@1.15.41(@swc/helpers@0.5.23): @@ -6628,9 +3916,11 @@ packages: '@swc/core-win32-arm64-msvc': 1.15.41 '@swc/core-win32-ia32-msvc': 1.15.41 '@swc/core-win32-x64-msvc': 1.15.41 + dev: true /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: true /@swc/helpers@0.5.23: resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} @@ -6653,13 +3943,7 @@ packages: resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} dependencies: '@swc/counter': 0.1.3 - - /@szmarczak/http-timer@1.1.2: - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - dependencies: - defer-to-connect: 1.1.3 - dev: false + dev: true /@szmarczak/http-timer@5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -6677,17 +3961,19 @@ packages: token-types: 6.1.2 transitivePeerDependencies: - supports-color + dev: true /@tokenizer/token@0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + dev: true /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} dev: true - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.12: + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} dev: true /@tsconfig/node12@1.0.11: @@ -6698,8 +3984,8 @@ packages: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: true - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true /@tybys/wasm-util@0.10.2: @@ -6721,144 +4007,69 @@ packages: dependencies: '@babel/parser': 7.29.7 '@babel/types': 7.29.7 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.3 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 dev: true - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + /@types/babel__generator@7.27.0: + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} dependencies: '@babel/types': 7.29.7 dev: true - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: '@babel/parser': 7.29.7 '@babel/types': 7.29.7 dev: true - /@types/babel__traverse@7.18.3: - resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} + /@types/babel__traverse@7.28.0: + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} dependencies: '@babel/types': 7.29.7 dev: true - /@types/body-parser@1.19.6: - resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - dependencies: - '@types/connect': 3.4.38 - '@types/node': 18.19.130 - dev: false - - /@types/bonjour@3.5.13: - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/connect-history-api-fallback@1.5.4: - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} - dependencies: - '@types/express-serve-static-core': 5.1.1 - '@types/node': 18.19.130 - dev: false - - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/cookiejar@2.1.2: - resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} - dev: true - - /@types/debug@4.1.7: - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} - dependencies: - '@types/ms': 0.7.31 - - /@types/esquery@1.5.4: - resolution: {integrity: sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==} - dependencies: - '@types/estree': 1.0.9 - dev: true - - /@types/estree@1.0.9: - resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - - /@types/express-serve-static-core@4.19.8: - resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} - dependencies: - '@types/node': 18.19.130 - '@types/qs': 6.15.1 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - dev: false - - /@types/express-serve-static-core@5.1.1: - resolution: {integrity: sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==} - dependencies: - '@types/node': 18.19.130 - '@types/qs': 6.15.1 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - dev: false - - /@types/express@4.17.25: - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.8 - '@types/qs': 6.15.1 - '@types/serve-static': 1.15.10 - dev: false - - /@types/hast@2.3.10: - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} - dependencies: - '@types/unist': 2.0.11 - dev: false - - /@types/history@4.7.11: - resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} - - /@types/html-minifier-terser@6.1.0: - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - dev: false - - /@types/http-cache-semantics@4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + /@types/cookiejar@2.1.5: + resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} dev: true - /@types/http-errors@2.0.5: - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - dev: false + /@types/debug@4.1.13: + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + dependencies: + '@types/ms': 2.1.0 + dev: true - /@types/http-proxy@1.17.17: - resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + /@types/esquery@1.5.4: + resolution: {integrity: sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==} dependencies: - '@types/node': 18.19.130 - dev: false + '@types/estree': 1.0.9 + dev: true + + /@types/estree@1.0.9: + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/http-cache-semantics@4.2.0: + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} dev: true /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: '@types/istanbul-lib-coverage': 2.0.6 + dev: true /@types/istanbul-reports@3.0.4: resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 + dev: true /@types/jest@30.0.0: resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} @@ -6871,192 +4082,76 @@ packages: resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} dependencies: '@types/node': 18.19.130 - '@types/tough-cookie': 4.0.2 - parse5: 7.1.2 + '@types/tough-cookie': 4.0.5 + parse5: 7.3.0 dev: true /@types/jsesc@2.5.1: resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} dev: true - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/mdast@3.0.15: - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - dependencies: - '@types/unist': 2.0.11 - dev: false - - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - dev: false - - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/methods@1.1.4: + resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} dev: true - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - - /@types/node-forge@1.3.14: - resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/node@16.11.68: - resolution: {integrity: sha512-JkRpuVz3xCNCWaeQ5EHLR/6woMbHZz/jZ7Kmc63AkU+1HxnoUugzSWMck7dsR4DvNYX8jp9wTi9K7WvnxOIQZQ==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + dev: true - /@types/node@17.0.45: - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - dev: false + /@types/ms@2.1.0: + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + dev: true /@types/node@18.19.130: resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} dependencies: undici-types: 5.26.5 - - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - - /@types/parse5@5.0.3: - resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} - dev: false - - /@types/qs@6.15.1: - resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} - dev: false - - /@types/range-parser@1.2.7: - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - dev: false - - /@types/react-router-config@5.0.11: - resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router': 5.1.20 - - /@types/react-router-dom@5.3.3: - resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router': 5.1.20 - - /@types/react-router@5.1.20: - resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - - /@types/react@19.2.17: - resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} - dependencies: - csstype: 3.2.3 - - /@types/responselike@1.0.3: - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: false - - /@types/sax@1.2.7: - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/send@0.17.6: - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} - dependencies: - '@types/mime': 1.3.5 - '@types/node': 18.19.130 - dev: false - - /@types/send@1.2.1: - resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} - dependencies: - '@types/node': 18.19.130 - dev: false - - /@types/serve-index@1.9.4: - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} - dependencies: - '@types/express': 4.17.25 - dev: false - - /@types/serve-static@1.15.10: - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 18.19.130 - '@types/send': 0.17.6 - dev: false + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true - /@types/sockjs@0.3.36: - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} - dependencies: - '@types/node': 18.19.130 - dev: false + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + dev: true /@types/stack-utils@2.0.3: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true - /@types/superagent@4.1.16: - resolution: {integrity: sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==} + /@types/superagent@8.1.10: + resolution: {integrity: sha512-nbt4IWXABhW0jGmmpRzCFNlbmwCTzZ2gTUsNIr+X+ItdqPms+PAJZbWsNzpS2USqXjcoNLQcO6nXo60zcPQiIg==} dependencies: - '@types/cookiejar': 2.1.2 + '@types/cookiejar': 2.1.5 + '@types/methods': 1.1.4 '@types/node': 18.19.130 + form-data: 4.0.6 dev: true /@types/supertest@2.0.12: resolution: {integrity: sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==} dependencies: - '@types/superagent': 4.1.16 + '@types/superagent': 8.1.10 dev: true - /@types/tough-cookie@4.0.2: - resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} dev: true - /@types/unist@2.0.11: - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - dev: false - - /@types/validator@13.7.13: - resolution: {integrity: sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q==} - - /@types/ws@8.18.1: - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - dependencies: - '@types/node': 18.19.130 - dev: false + /@types/validator@13.15.10: + resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} + dev: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true /@types/yargs@17.0.35: resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 + dev: true /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} @@ -7099,7 +4194,7 @@ packages: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.4 + debug: 4.4.3 eslint: 8.57.1 typescript: 5.4.5 transitivePeerDependencies: @@ -7157,7 +4252,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - debug: 4.3.4 + debug: 4.4.3 eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.4.5) typescript: 5.4.5 @@ -7204,7 +4299,7 @@ packages: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.4 + debug: 4.4.3 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.9 @@ -7286,6 +4381,7 @@ packages: /@ungap/structured-clone@1.3.1: resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + dev: true /@unrs/resolver-binding-android-arm-eabi@1.12.2: resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} @@ -7467,97 +4563,6 @@ packages: dev: true optional: true - /@webassemblyjs/ast@1.14.1: - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - - /@webassemblyjs/floating-point-hex-parser@1.13.2: - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - - /@webassemblyjs/helper-api-error@1.13.2: - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - - /@webassemblyjs/helper-buffer@1.14.1: - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - - /@webassemblyjs/helper-numbers@1.13.2: - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 - - /@webassemblyjs/helper-wasm-bytecode@1.13.2: - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - - /@webassemblyjs/helper-wasm-section@1.14.1: - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 - - /@webassemblyjs/ieee754@1.13.2: - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - dependencies: - '@xtuc/ieee754': 1.2.0 - - /@webassemblyjs/leb128@1.13.2: - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - dependencies: - '@xtuc/long': 4.2.2 - - /@webassemblyjs/utf8@1.13.2: - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - - /@webassemblyjs/wasm-edit@1.14.1: - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 - - /@webassemblyjs/wasm-gen@1.14.1: - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - /@webassemblyjs/wasm-opt@1.14.1: - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - - /@webassemblyjs/wasm-parser@1.14.1: - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - /@webassemblyjs/wast-printer@1.14.1: - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 - /@xhmikosr/archive-type@7.1.0: resolution: {integrity: sha512-xZEpnGplg1sNPyEgFh0zbHxqlw5dtYg6viplmWSxUj12+QjU9SKu3U/2G73a15pEjLaOqTefNSZ1fOPUOT4Xgg==} engines: {node: '>=18'} @@ -7689,12 +4694,6 @@ packages: arch: 3.0.0 dev: true - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true @@ -7720,14 +4719,7 @@ packages: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - - /acorn-import-phases@1.0.4(acorn@8.17.0): - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - acorn: ^8.14.0 - dependencies: - acorn: 8.17.0 + dev: true /acorn-jsx@5.3.2(acorn@8.17.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -7735,36 +4727,37 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.17.0 + dev: true /acorn-loose@8.3.0: resolution: {integrity: sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==} engines: {node: '>=0.4.0'} dependencies: - acorn: 8.8.2 + acorn: 8.17.0 + dev: true /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + dev: true - /acorn@8.17.0: - resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + /acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - hasBin: true + dependencies: + acorn: 8.17.0 + dev: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.17.0: + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} engines: {node: '>=0.4.0'} hasBin: true + dev: true /add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true - /address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} - dev: false - /address@2.0.3: resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==} engines: {node: '>= 16.0.0'} @@ -7774,7 +4767,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color dev: true @@ -7784,24 +4777,6 @@ packages: engines: {node: '>= 14'} dev: true - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: false - - /ajv-formats@2.1.1(ajv@8.18.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.18.0 - /ajv-formats@3.0.1(ajv@8.18.0): resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: @@ -7813,111 +4788,48 @@ packages: ajv: 8.18.0 dev: true - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - dev: false - - /ajv-keywords@5.1.0(ajv@8.18.0): - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - dependencies: - ajv: 8.18.0 - fast-deep-equal: 3.1.3 - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + /ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - requiresBuild: true + /ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} dependencies: fast-deep-equal: 3.1.3 + fast-uri: 3.1.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 dev: true - optional: true - /ajv@8.18.0: - resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + /ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + requiresBuild: true dependencies: fast-deep-equal: 3.1.3 fast-uri: 3.1.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - - /algoliasearch-helper@3.29.1(algoliasearch@4.27.0): - resolution: {integrity: sha512-6ck2YFudF2Pje7szQoPBiRFTGfd+1I+0I/WfLPGn0bj1kvrFoOQmNyedNiDxTk3/r4IfSLDYk+RA4G7u8H6+yA==} - peerDependencies: - algoliasearch: '>= 3.1 < 6' - dependencies: - '@algolia/events': 4.0.1 - algoliasearch: 4.27.0 - dev: false - - /algoliasearch@4.27.0: - resolution: {integrity: sha512-C88C5grLa5VOCp9eYZJt+q99ik7yNdm92l7Q9+4XK0Md8kL05Lg8l2v9ZVX0uMW3mH9pAFxMMXlLOvqNumA4lw==} - dependencies: - '@algolia/cache-browser-local-storage': 4.27.0 - '@algolia/cache-common': 4.27.0 - '@algolia/cache-in-memory': 4.27.0 - '@algolia/client-account': 4.27.0 - '@algolia/client-analytics': 4.27.0 - '@algolia/client-common': 4.27.0 - '@algolia/client-personalization': 4.27.0 - '@algolia/client-search': 4.27.0 - '@algolia/logger-common': 4.27.0 - '@algolia/logger-console': 4.27.0 - '@algolia/recommend': 4.27.0 - '@algolia/requester-browser-xhr': 4.27.0 - '@algolia/requester-common': 4.27.0 - '@algolia/requester-node-http': 4.27.0 - '@algolia/transporter': 4.27.0 - dev: false - - /algoliasearch@5.55.0: - resolution: {integrity: sha512-af+rI+tUVeS9KWHPAZQHIHPOIC3StPRR6IwQu2nz1aQoTL6Gs5Ty3KsHCgbXMHOpoh9QqSjq8F3KJ8xmaCZSBA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@algolia/abtesting': 1.21.0 - '@algolia/client-abtesting': 5.55.0 - '@algolia/client-analytics': 5.55.0 - '@algolia/client-common': 5.55.0 - '@algolia/client-insights': 5.55.0 - '@algolia/client-personalization': 5.55.0 - '@algolia/client-query-suggestions': 5.55.0 - '@algolia/client-search': 5.55.0 - '@algolia/ingestion': 1.55.0 - '@algolia/monitoring': 1.55.0 - '@algolia/recommend': 5.55.0 - '@algolia/requester-browser-xhr': 5.55.0 - '@algolia/requester-fetch': 5.55.0 - '@algolia/requester-node-http': 5.55.0 - dev: false + dev: true + optional: true /all-contributors-cli@6.24.0: resolution: {integrity: sha512-7oSKr2PnqxsOotuSwciltcFTS1eVRdjR0cn99hbElfff7gRQBShVhsf/XBprY41sLcgqTk0l0MKgKv6QNgZdMg==} engines: {node: '>=4'} hasBin: true dependencies: - '@babel/runtime': 7.21.0 - async: 3.2.4 + '@babel/runtime': 7.29.7 + async: 3.2.6 chalk: 4.1.2 didyoumean: 1.2.2 inquirer: 7.3.3 json-fixer: 1.6.15 - lodash: 4.17.21 - node-fetch: 2.6.9 + lodash: 4.18.1 + node-fetch: 2.7.0 pify: 5.0.0 yargs: 15.4.1 transitivePeerDependencies: @@ -7928,6 +4840,7 @@ packages: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 + dev: true /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -7946,19 +4859,11 @@ packages: type-fest: 0.21.3 dev: true - /ansi-escapes@6.0.0: - resolution: {integrity: sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==} + /ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} - dependencies: - type-fest: 3.6.1 dev: true - /ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - dev: false - /ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} @@ -7972,31 +4877,36 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + dev: true - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + /ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} + dev: true /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 + dev: true /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==} + /ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + dev: true /ansis@4.3.1: resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} @@ -8008,10 +4918,12 @@ packages: engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 + dev: true /append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} + dev: true /arch@3.0.0: resolution: {integrity: sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==} @@ -8021,20 +4933,27 @@ packages: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: false - /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 + dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + dev: true /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -8047,16 +4966,32 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + dev: true - /array.prototype.map@1.0.5: - resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} + /array.prototype.map@1.0.8: + resolution: {integrity: sha512-YocPM7bYYu2hXGxWpb5vwZ8cMeudNHYtYBcUDY4Z1GWa53qcnQMWSl25jeBHNzitjl9HW2AWW4ro/S/nftUaOQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 + es-object-atoms: 1.1.2 + is-string: 1.1.1 + dev: true + + /arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 dev: true /arrify@1.0.1: @@ -8066,6 +5001,7 @@ packages: /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true /ast-kit@3.0.0: resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} @@ -8083,71 +5019,42 @@ packages: tslib: 2.5.3 dev: true + /async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + dev: true + /async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: retry: 0.13.1 dev: true - /async@2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - dependencies: - lodash: 4.17.21 - dev: true - - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} dev: true /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - - /autoprefixer@10.5.0(postcss@8.5.15): - resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001799 - fraction.js: 5.3.4 - picocolors: 1.1.1 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - dev: false - - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} dev: true - /axios@0.25.0: - resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} - dependencies: - follow-redirects: 1.16.0 - transitivePeerDependencies: - - debug - dev: false - - /axios@0.27.2: - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} dependencies: - follow-redirects: 1.16.0 - form-data: 4.0.6 - transitivePeerDependencies: - - debug - dev: false + possible-typed-array-names: 1.1.0 + dev: true /axios@1.16.0: resolution: {integrity: sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==} dependencies: follow-redirects: 1.16.0 - form-data: 4.0.6 + form-data: 4.0.5 proxy-from-env: 2.1.0 transitivePeerDependencies: - debug @@ -8226,31 +5133,6 @@ packages: - supports-color dev: true - /babel-loader@8.4.1(@babel/core@7.29.7)(webpack@5.107.2): - resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==} - engines: {node: '>= 8.9'} - peerDependencies: - '@babel/core': ^7.0.0 - webpack: '>=2' - dependencies: - '@babel/core': 7.29.7 - find-cache-dir: 3.3.2 - loader-utils: 2.0.4 - make-dir: 3.1.0 - schema-utils: 2.7.1 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9): - resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==} - peerDependencies: - '@babel/core': ^7.11.6 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 - '@mdx-js/util': 1.6.22 - dev: false - /babel-plugin-const-enum@1.2.0(@babel/core@7.29.7): resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: @@ -8264,25 +5146,13 @@ packages: - supports-color dev: true - /babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} - dependencies: - object.assign: 4.1.4 - dev: false - - /babel-plugin-extract-import-names@1.6.22: - resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==} - dependencies: - '@babel/helper-plugin-utils': 7.10.4 - dev: false - /babel-plugin-istanbul@7.0.1: resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} engines: {node: '>=12'} dependencies: '@babel/helper-plugin-utils': 7.29.7 '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 + '@istanbuljs/schema': 0.1.6 istanbul-lib-instrument: 6.0.3 test-exclude: 6.0.0 transitivePeerDependencies: @@ -8330,7 +5200,7 @@ packages: babel-helper-evaluate-path: 0.5.0 babel-helper-mark-eval-scopes: 0.4.3 babel-helper-remove-or-void: 0.4.3 - lodash: 4.17.21 + lodash: 4.18.1 dev: true /babel-plugin-minify-flip-comparisons@0.4.3: @@ -8390,6 +5260,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} @@ -8401,6 +5272,7 @@ packages: core-js-compat: 3.49.0 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} @@ -8412,6 +5284,7 @@ packages: core-js-compat: 3.49.0 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} @@ -8422,6 +5295,7 @@ packages: '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) transitivePeerDependencies: - supports-color + dev: true /babel-plugin-transform-inline-consecutive-adds@0.4.3: resolution: {integrity: sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==} @@ -8554,15 +5428,12 @@ packages: babel-plugin-transform-remove-undefined: 0.5.0 babel-plugin-transform-simplify-comparison-operators: 6.9.4 babel-plugin-transform-undefined-to-void: 6.9.4 - lodash: 4.17.21 + lodash: 4.18.1 dev: true - /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} - dev: false - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true /balanced-match@4.0.3: resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} @@ -8636,10 +5507,6 @@ packages: bare-path: 3.0.1 dev: true - /base16@1.0.0: - resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} - dev: false - /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -8648,6 +5515,7 @@ packages: resolution: {integrity: sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==} engines: {node: '>=6.0.0'} hasBin: true + dev: true /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} @@ -8656,18 +5524,10 @@ packages: safe-buffer: 5.1.2 dev: true - /batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - dev: false - /before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true - /big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - dev: false - /bin-version-check@5.1.0: resolution: {integrity: sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==} engines: {node: '>=12'} @@ -8685,11 +5545,6 @@ packages: find-versions: 5.1.0 dev: true - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - dev: false - /birpc@4.0.0: resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} dev: true @@ -8699,7 +5554,7 @@ packages: dependencies: buffer: 5.7.1 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /bl@5.1.0: @@ -8707,7 +5562,7 @@ packages: dependencies: buffer: 6.0.3 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /body-parser@1.20.4: @@ -8728,47 +5583,10 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - /bonjour-service@1.4.1: - resolution: {integrity: sha512-9KM4QMPKnaJqaja1v7gYO/+TXZGLtzPA05NmUTqDAJjcsWeVoOXKMvU9g0gfuuoYTQqJZ924hivICd5R/bCJbA==} - dependencies: - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 - dev: false - - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - dev: false - - /boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - dev: false - - /boxen@7.0.2: - resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==} + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} engines: {node: '>=14.16'} dependencies: ansi-align: 3.0.1 @@ -8781,16 +5599,18 @@ packages: wrap-ansi: 8.1.0 dev: true - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + /brace-expansion@1.1.15: + resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 + dev: true /brace-expansion@2.1.1: resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} dependencies: balanced-match: 1.0.2 + dev: true /brace-expansion@5.0.6: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} @@ -8799,17 +5619,12 @@ packages: balanced-match: 4.0.3 dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - /braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: fill-range: 7.1.1 + dev: true /browserslist@4.28.2: resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} @@ -8821,6 +5636,7 @@ packages: electron-to-chromium: 1.5.376 node-releases: 2.0.48 update-browserslist-db: 1.2.3(browserslist@4.28.2) + dev: true /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -8837,6 +5653,7 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -8857,15 +5674,12 @@ packages: engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 - - /bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - dev: false + dev: true /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + dev: true /cac@7.0.0: resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} @@ -8877,32 +5691,19 @@ packages: engines: {node: '>=14.16'} dev: true - /cacheable-request@10.2.8: - resolution: {integrity: sha512-IDVO5MJ4LItE6HKFQTqT2ocAQsisOoCTUDu1ddCmnhyiwFQjXNPp4081Xj23N4tO+AFEFNzGuNEf/c8Gwwt15A==} + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} dependencies: - '@types/http-cache-semantics': 4.0.1 + '@types/http-cache-semantics': 4.2.0 get-stream: 6.0.1 - http-cache-semantics: 4.1.1 - keyv: 4.5.2 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.0 + normalize-url: 8.1.1 responselike: 3.0.0 dev: true - /cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 - dev: false - /cachedir@2.3.0: resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} @@ -8914,12 +5715,17 @@ packages: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 + dev: true - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + dev: true /call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} @@ -8927,21 +5733,12 @@ packages: dependencies: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 + dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - - /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - dependencies: - pascal-case: 3.1.2 - tslib: 2.5.3 - - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - dev: false + dev: true /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -8960,26 +5757,16 @@ packages: /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + dev: true /camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} dev: true - /caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001799 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - /caniuse-lite@1.0.30001799: resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} - - /ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} - dev: false + dev: true /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -8988,6 +5775,7 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -8995,6 +5783,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true /chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} @@ -9006,76 +5795,14 @@ packages: engines: {node: '>=10'} dev: true - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: false - - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: false - - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: false - /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true - /cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - dependencies: - boolbase: 1.0.0 - css-select: 5.2.2 - css-what: 6.2.2 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - dev: false - - /cheerio@1.2.0: - resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} - engines: {node: '>=20.18.1'} - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 10.1.0 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 7.28.0 - whatwg-mimetype: 4.0.0 - dev: false - - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: false - - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + dev: true /ci-info@4.4.0: resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} @@ -9086,25 +5813,10 @@ packages: resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} dev: true - /clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} - dependencies: - source-map: 0.6.1 - - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: false - - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: false - /cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} + dev: true /cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} @@ -9132,20 +5844,11 @@ packages: engines: {node: '>=6'} dev: true - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} dev: true - /cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - dev: false - /cli-width@2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} dev: true @@ -9155,8 +5858,8 @@ packages: engines: {node: '>= 10'} dev: true - /cli-width@4.0.0: - resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} dev: true @@ -9185,39 +5888,16 @@ packages: wrap-ansi: 7.0.0 dev: true - /clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: false - /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} dev: true - /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} - engines: {node: '>=6'} - dev: false - /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /collapse-white-space@1.0.6: - resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} - dev: false - /collect-v8-coverage@1.0.3: resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} dev: true @@ -9226,25 +5906,22 @@ packages: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false + dev: true /columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} @@ -9254,40 +5931,22 @@ packages: wcwidth: 1.0.1 dev: true - /combine-promises@1.2.0: - resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} - engines: {node: '>=10'} - dev: false - /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - - /comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} - dev: false - - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - /commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + dev: true /commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} dev: true - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + dev: true /comment-json@5.0.0: resolution: {integrity: sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==} @@ -9297,13 +5956,13 @@ packages: esprima: 4.0.1 dev: true - /commitizen@4.3.0(@swc/core@1.15.41): + /commitizen@4.3.0(@types/node@18.19.130)(typescript@5.4.5): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@swc/core@1.15.41) + cz-conventional-changelog: 3.3.0(@types/node@18.19.130)(typescript@5.4.5) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -9317,14 +5976,10 @@ packages: strip-bom: 4.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript dev: true - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: false - /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -9332,34 +5987,13 @@ packages: dot-prop: 5.3.0 dev: true - /component-emitter@1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + /component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} dev: true - /compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true /concat-stream@2.0.0: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} @@ -9367,8 +6001,9 @@ packages: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 typedarray: 0.0.6 + dev: true /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -9377,24 +6012,12 @@ packages: proto-list: 1.2.4 dev: true - /configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.11 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 - dev: false - /configstore@6.0.0: resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} engines: {node: '>=12'} dependencies: dot-prop: 6.0.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 unique-string: 3.0.0 write-file-atomic: 3.0.3 xdg-basedir: 5.1.0 @@ -9404,28 +6027,21 @@ packages: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true - /connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - dev: false - /consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - - /content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} - dev: false + dev: true /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 + dev: true /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + dev: true /conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} @@ -9454,7 +6070,7 @@ packages: engines: {node: '>=10'} dependencies: compare-func: 2.0.0 - lodash: 4.17.21 + lodash: 4.18.1 q: 1.5.1 dev: true @@ -9470,7 +6086,7 @@ packages: git-raw-commits: 2.0.11 git-remote-origin-url: 2.0.0 git-semver-tags: 4.1.1 - lodash: 4.17.21 + lodash: 4.18.1 normalize-package-data: 3.0.3 q: 1.5.1 read-pkg: 3.0.0 @@ -9526,11 +6142,11 @@ packages: dependencies: conventional-commits-filter: 2.0.7 dateformat: 3.0.3 - handlebars: 4.7.7 + handlebars: 4.7.9 json-stringify-safe: 5.0.1 - lodash: 4.17.21 + lodash: 4.18.1 meow: 8.1.2 - semver: 6.3.0 + semver: 6.3.1 split: 1.0.1 through2: 4.0.2 dev: true @@ -9571,12 +6187,23 @@ packages: dependencies: JSONStream: 1.3.5 is-text-path: 1.0.1 - lodash: 4.17.21 + lodash: 4.18.1 meow: 8.1.2 split2: 3.2.2 through2: 4.0.2 dev: true + /conventional-commits-parser@6.4.0: + resolution: {integrity: sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + dependencies: + '@simple-libs/stream-utils': 1.2.0 + meow: 13.2.0 + dev: true + optional: true + /conventional-recommended-bump@6.1.0: resolution: {integrity: sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==} engines: {node: '>=10'} @@ -9592,60 +6219,32 @@ packages: q: 1.5.1 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==} - - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - /cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - - /cookiejar@2.1.4: - resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} dev: true - /copy-text-to-clipboard@3.2.2: - resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} - engines: {node: '>=12'} - dev: false + /cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + dev: true - /copy-webpack-plugin@11.0.0(webpack@5.107.2): - resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - webpack: ^5.1.0 - dependencies: - fast-glob: 3.2.12 - glob-parent: 6.0.2 - globby: 13.1.3 - normalize-path: 3.0.0 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false + /cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + dev: true + + /cookiejar@2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} + dev: true /core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} dependencies: browserslist: 4.28.2 - - /core-js-pure@3.49.0: - resolution: {integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==} - requiresBuild: true - dev: false - - /core-js@3.49.0: - resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} - requiresBuild: true - dev: false + dev: true /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} @@ -9653,112 +6252,72 @@ packages: dependencies: object-assign: 4.1.1 vary: 1.1.2 + dev: true /corser@2.0.1: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} engines: {node: '>= 0.4.0'} dev: true - /cosmiconfig-typescript-loader@4.3.0(@types/node@18.19.130)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} - engines: {node: '>=12', npm: '>=6'} + /cosmiconfig-typescript-loader@6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.4.5): + resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} + engines: {node: '>=v18'} requiresBuild: true peerDependencies: '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' - typescript: '>=3' + cosmiconfig: '>=9' + typescript: '>=5' dependencies: '@types/node': 18.19.130 - cosmiconfig: 8.1.0 - ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@4.9.5) - typescript: 4.9.5 + cosmiconfig: 9.0.2(typescript@5.4.5) + jiti: 2.6.1 + typescript: 5.4.5 dev: true optional: true - /cosmiconfig@6.0.0: - resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} - engines: {node: '>=8'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: false - /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.2 + yaml: 1.10.3 + dev: true /cosmiconfig@8.1.0: resolution: {integrity: sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==} engines: {node: '>=14'} dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 + import-fresh: 3.3.1 + js-yaml: 4.2.0 parse-json: 5.2.0 path-type: 4.0.0 dev: true - /cosmiconfig@8.3.6(typescript@4.5.5): - 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: 4.5.5 - dev: false - - /cosmiconfig@8.3.6(typescript@5.4.5): - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + /cosmiconfig@9.0.2(typescript@5.4.5): + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} engines: {node: '>=14'} + requiresBuild: true peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: typescript: optional: true dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.2.0 parse-json: 5.2.0 - path-type: 4.0.0 typescript: 5.4.5 - dev: false + dev: true + optional: true /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - /cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -9766,11 +6325,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - - /crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: false + dev: true /crypto-random-string@4.0.0: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} @@ -9779,184 +6334,6 @@ packages: type-fest: 1.4.0 dev: true - /css-declaration-sorter@6.4.1(postcss@8.5.15): - resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 - dependencies: - postcss: 8.5.15 - - /css-loader@6.11.0(webpack@5.107.2): - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.15) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.15) - postcss-modules-scope: 3.2.1(postcss@8.5.15) - postcss-modules-values: 4.0.0(postcss@8.5.15) - postcss-value-parser: 4.2.0 - semver: 7.8.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.107.2): - resolution: {integrity: sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@parcel/css': '*' - '@swc/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - lightningcss: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - '@swc/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - lightningcss: - optional: true - dependencies: - clean-css: 5.3.3 - cssnano: 5.1.15(postcss@8.5.15) - jest-worker: 29.7.0 - postcss: 8.5.15 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - source-map: 0.6.1 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - - /css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - dev: false - - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - - /css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - /cssnano-preset-advanced@5.3.10(postcss@8.5.15): - resolution: {integrity: sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - autoprefixer: 10.5.0(postcss@8.5.15) - cssnano-preset-default: 5.2.14(postcss@8.5.15) - postcss: 8.5.15 - postcss-discard-unused: 5.1.0(postcss@8.5.15) - postcss-merge-idents: 5.1.1(postcss@8.5.15) - postcss-reduce-idents: 5.2.0(postcss@8.5.15) - postcss-zindex: 5.1.0(postcss@8.5.15) - dev: false - - /cssnano-preset-default@5.2.14(postcss@8.5.15): - resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.4.1(postcss@8.5.15) - cssnano-utils: 3.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-calc: 8.2.4(postcss@8.5.15) - postcss-colormin: 5.3.1(postcss@8.5.15) - postcss-convert-values: 5.1.3(postcss@8.5.15) - postcss-discard-comments: 5.1.2(postcss@8.5.15) - postcss-discard-duplicates: 5.1.0(postcss@8.5.15) - postcss-discard-empty: 5.1.1(postcss@8.5.15) - postcss-discard-overridden: 5.1.0(postcss@8.5.15) - postcss-merge-longhand: 5.1.7(postcss@8.5.15) - postcss-merge-rules: 5.1.4(postcss@8.5.15) - postcss-minify-font-values: 5.1.0(postcss@8.5.15) - postcss-minify-gradients: 5.1.1(postcss@8.5.15) - postcss-minify-params: 5.1.4(postcss@8.5.15) - postcss-minify-selectors: 5.2.1(postcss@8.5.15) - postcss-normalize-charset: 5.1.0(postcss@8.5.15) - postcss-normalize-display-values: 5.1.0(postcss@8.5.15) - postcss-normalize-positions: 5.1.1(postcss@8.5.15) - postcss-normalize-repeat-style: 5.1.1(postcss@8.5.15) - postcss-normalize-string: 5.1.0(postcss@8.5.15) - postcss-normalize-timing-functions: 5.1.0(postcss@8.5.15) - postcss-normalize-unicode: 5.1.1(postcss@8.5.15) - postcss-normalize-url: 5.1.0(postcss@8.5.15) - postcss-normalize-whitespace: 5.1.1(postcss@8.5.15) - postcss-ordered-values: 5.1.3(postcss@8.5.15) - postcss-reduce-initial: 5.1.2(postcss@8.5.15) - postcss-reduce-transforms: 5.1.0(postcss@8.5.15) - postcss-svgo: 5.1.0(postcss@8.5.15) - postcss-unique-selectors: 5.1.1(postcss@8.5.15) - - /cssnano-utils@3.1.0(postcss@8.5.15): - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - - /cssnano@5.1.15(postcss@8.5.15): - resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-preset-default: 5.2.14(postcss@8.5.15) - lilconfig: 2.1.0 - postcss: 8.5.15 - yaml: 1.10.2 - - /csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} - dependencies: - css-tree: 1.1.3 - /cssstyle@4.6.0: resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} @@ -9965,24 +6342,21 @@ packages: rrweb-cssom: 0.8.0 dev: true - /csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - - /cz-conventional-changelog@3.3.0(@swc/core@1.15.41): + /cz-conventional-changelog@3.3.0(@types/node@18.19.130)(typescript@5.4.5): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@swc/core@1.15.41) + commitizen: 4.3.0(@types/node@18.19.130)(typescript@5.4.5) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 - word-wrap: 1.2.3 + word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 17.4.4(@swc/core@1.15.41) + '@commitlint/load': 21.0.2(@types/node@18.19.130)(typescript@5.4.5) transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript dev: true /cz-customizable@7.0.0: @@ -9992,9 +6366,9 @@ packages: editor: 1.0.0 find-config: 1.0.0 inquirer: 6.5.2 - lodash: 4.17.21 + lodash: 4.18.1 temp: 0.9.4 - word-wrap: 1.2.3 + word-wrap: 1.2.5 dev: true /dargs@7.0.0: @@ -10020,14 +6394,37 @@ packages: whatwg-url: 14.2.0 dev: true + /data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + + /data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + + /data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - dev: false - /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -10037,16 +6434,6 @@ packages: optional: true dependencies: ms: 2.0.0 - - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 dev: true /debug@4.3.1: @@ -10061,17 +6448,6 @@ packages: ms: 2.1.2 dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - /debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -10082,6 +6458,7 @@ packages: optional: true dependencies: ms: 2.1.3 + dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -10100,13 +6477,6 @@ packages: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} dev: true - /decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - dependencies: - mimic-response: 1.0.1 - dev: false - /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -10130,20 +6500,16 @@ packages: /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} + dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - - /default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} - dependencies: - execa: 5.1.1 - dev: false + dev: true /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -10156,66 +6522,57 @@ packages: engines: {node: '>=16'} dev: true - /defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - dev: false - /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} dev: true + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} + dev: true - /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: - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 + dev: true /defu@6.1.7: resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} dev: true - /degenerator@3.0.2: - resolution: {integrity: sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==} + /degenerator@3.0.4: + resolution: {integrity: sha512-Z66uPeBfHZAHVmue3HPfyKu2Q0rC2cRxbTOsvmU/po5fvvcx27W4mIu9n0PUlQih4oUYvcG1BsbtVv8x7KDOSw==} engines: {node: '>= 6'} dependencies: ast-types: 0.13.4 escodegen: 1.14.3 esprima: 4.0.1 - vm2: 3.9.14 + vm2: 3.11.5 dev: true - /del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: false - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - - /depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - dev: false + dev: true /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dev: true /deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -10224,12 +6581,7 @@ packages: /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - /detab@2.0.4: - resolution: {integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==} - dependencies: - repeat-string: 1.6.1 - dev: false + dev: true /detect-file@1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} @@ -10251,32 +6603,6 @@ packages: engines: {node: '>=8'} dev: true - /detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - dev: false - - /detect-port-alt@1.1.6: - resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} - engines: {node: '>= 4.2.1'} - hasBin: true - dependencies: - address: 1.2.2 - debug: 2.6.9 - transitivePeerDependencies: - - supports-color - dev: false - - /detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} - hasBin: true - dependencies: - address: 1.2.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - dev: false - /detect-port@2.1.0: resolution: {integrity: sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==} engines: {node: '>= 16.0.0'} @@ -10296,8 +6622,8 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + /diff@4.0.4: + resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} engines: {node: '>=0.3.1'} dev: true @@ -10306,93 +6632,21 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - - /dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} - dependencies: - '@leichtgewicht/ip-codec': 2.0.5 - dev: false + dev: true /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 - - /docusaurus-plugin-typedoc@0.17.2(typedoc-plugin-markdown@3.11.14)(typedoc@0.22.13): - resolution: {integrity: sha512-4K6kJbyUlUMR7tl2cMfCOG8E/3N0JISw7Wcx0afo0lvrXdZukDqwtpS58Nt/hBVO1s6gzSWyK+PJjseaDq0JdA==} - peerDependencies: - typedoc: '>=0.22.0' - typedoc-plugin-markdown: '>=3.11.10' - dependencies: - typedoc: 0.22.13(typescript@4.5.5) - typedoc-plugin-markdown: 3.11.14(typedoc@0.22.13) - dev: false - - /dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} - dependencies: - utila: 0.4.0 - dev: false - - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.4.0 - dev: false - - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: false - - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - - /domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dev: false - - /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dependencies: - no-case: 3.0.4 - tslib: 2.5.3 + dev: true /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} dependencies: is-obj: 2.0.0 + dev: true /dot-prop@6.0.1: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} @@ -10405,8 +6659,8 @@ packages: resolution: {integrity: sha512-XfMzVdpdDTRnlcgvFLg3lSyiLXqFxS4tH7RbK5IxkC4XIUuxPyrGoDufkfLjy/dA28EILzEu+mros6h8aQmyGg==} hasBin: true dependencies: - cross-spawn: 7.0.3 - dotenv: 16.0.3 + cross-spawn: 7.0.6 + dotenv: 16.6.1 dotenv-expand: 10.0.0 minimist: 1.2.8 dev: true @@ -10423,22 +6677,25 @@ packages: dotenv: 16.4.7 dev: true - /dotenv@16.0.1: - resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} - engines: {node: '>=12'} - dev: false - /dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} + dev: true /dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} dev: true - /dottie@2.0.3: - resolution: {integrity: sha512-4liA0PuRkZWQFQjwBypdxPfZaRWiv5tkhMXY2hzsa2pNf5s7U3m9cwUchfNKe8wZQxdGPQQzO6Rm2uGe0rvohQ==} + /dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + dev: true + + /dottie@2.0.7: + resolution: {integrity: sha512-7lAK2A0b3zZr3UC5aE69CPdCFR4RHW1o2Dr74TqFykxkUCBXSRJum/yPc7g8zRHJqWKomPLHwFLLoUnn8PXXRg==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dev: true /dts-resolver@3.0.0: resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} @@ -10457,17 +6714,11 @@ packages: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - - /duplexer3@0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - dev: false - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: false + dev: true /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true /editor@1.0.0: resolution: {integrity: sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==} @@ -10475,6 +6726,7 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true /ejs@5.0.1: resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} @@ -10484,6 +6736,7 @@ packages: /electron-to-chromium@1.5.376: resolution: {integrity: sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==} + dev: true /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -10492,18 +6745,11 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - dev: false - - /emoticon@3.2.0: - resolution: {integrity: sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==} - dev: false + dev: true /empathic@2.0.1: resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} @@ -10513,25 +6759,13 @@ packages: /encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - - /encoding-sniffer@0.2.1: - resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding: 3.1.1 - dev: false + dev: true /end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} dependencies: once: 1.4.0 - - /enhanced-resolve@5.24.0: - resolution: {integrity: sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.3 + dev: true /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} @@ -10540,64 +6774,92 @@ packages: ansi-colors: 4.1.3 dev: true - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - - /entities@4.4.0: - resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} - engines: {node: '>=0.12'} - /entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + dev: true - /entities@7.0.1: - resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} - engines: {node: '>=0.12'} - dev: false + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + requiresBuild: true + dev: true + optional: true - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + /error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} dependencies: is-arrayish: 0.2.1 + dev: true + + /es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + dev: true - /es-abstract@1.21.1: - resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} + /es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.0 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.1 + function.prototype.name: 1.2.0 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.10 - is-weakref: 1.0.2 - object-inspect: 1.12.3 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.8 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.22 dev: true /es-array-method-boxes-properly@1.0.0: @@ -10607,28 +6869,27 @@ packages: /es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} + dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + dev: true /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 + call-bind: 1.0.9 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + is-arguments: 1.2.0 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.1.1 isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 + stop-iteration-iterator: 1.1.0 dev: true - /es-module-lexer@2.1.0: - resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} - /es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -10641,14 +6902,6 @@ packages: engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 dev: true /es-set-tostringtag@2.1.0: @@ -10658,16 +6911,25 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.4 + hasown: 2.0.2 + dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + /es-to-primitive@1.3.1: + resolution: {integrity: sha512-CxN9N56HYfd2m/acc/NOFrZQsN9kU4eh+2kk6A707Kz1krH8tKmfrs5RnftB8WNX80T0NS7vSQsDOlg23diR2g==} engines: {node: '>= 0.4'} dependencies: + es-abstract-get: 1.0.0 + es-errors: 1.3.0 is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + dev: true + + /es-toolkit@1.47.1: + resolution: {integrity: sha512-5RAqEwf4P4E17p+W75KLOWw/nOvKZzSQpxM32IpI2KZLaVonjTrZ0Ai5ghMaVI9eKC2p8eoQgcBdkEDgzFk6+Q==} + requiresBuild: true dev: true + optional: true /esbuild@0.28.1: resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} @@ -10703,19 +6965,10 @@ packages: '@esbuild/win32-x64': 0.28.1 dev: true - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - /escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - - /escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - dev: false + dev: true /escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} @@ -10724,10 +6977,12 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + dev: true /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} @@ -10737,17 +6992,13 @@ packages: /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + dev: true /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} dev: true - /escaya@0.0.61: - resolution: {integrity: sha512-WLLmvdG72Z0pCq8XUBd03GEJlAiMceXFanjdQeEzeSiuV1ZgrJqbkU7ZEe/hu0OsBlg5wLlySEeOvfzcGoO8mg==} - engines: {node: '>=6.0.0'} - dev: false - /escodegen@1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} engines: {node: '>=4.0'} @@ -10770,23 +7021,18 @@ packages: eslint: 8.57.1 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true /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} + dev: true /eslint-visitor-keys@5.0.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} @@ -10807,38 +7053,39 @@ packages: '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.3.1 - ajv: 6.12.6 + ajv: 6.15.0 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 + cross-spawn: 7.0.6 + debug: 4.4.3 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 + js-yaml: 4.2.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -10847,17 +7094,13 @@ packages: acorn: 8.17.0 acorn-jsx: 5.3.2(acorn@8.17.0) eslint-visitor-keys: 3.4.3 + dev: true /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 + dev: true /esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} @@ -10871,14 +7114,17 @@ packages: engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 + dev: true /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} + dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + dev: true /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -10889,31 +7135,16 @@ packages: /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - - /eta@1.14.2: - resolution: {integrity: sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==} - engines: {node: '>=6.0.0'} - dev: false - - /eta@2.2.0: - resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} - engines: {node: '>=6.0.0'} - dev: false + dev: true /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - - /eval@0.1.8: - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} - engines: {node: '>= 0.8'} - dependencies: - '@types/node': 18.19.130 - require-like: 0.1.2 - dev: false + dev: true /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true /events-universal@1.0.1: resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} @@ -10923,15 +7154,11 @@ packages: - bare-abort-controller dev: true - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -10940,17 +7167,18 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: true /execa@7.0.0: resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 - human-signals: 4.3.0 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 @@ -11002,7 +7230,7 @@ packages: content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.7.2 - cookie-signature: 1.0.6 + cookie-signature: 1.0.7 debug: 2.6.9 depd: 2.0.0 encodeurl: 2.0.0 @@ -11010,7 +7238,7 @@ packages: etag: 1.8.1 finalhandler: 1.3.2 fresh: 0.5.2 - http-errors: 2.0.0 + http-errors: 2.0.1 merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 @@ -11023,18 +7251,19 @@ packages: send: 0.19.2 serve-static: 1.16.3 setprototypeof: 1.2.0 - statuses: 2.0.1 + statuses: 2.0.2 type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 transitivePeerDependencies: - supports-color + dev: true /ext-list@2.2.2: resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} engines: {node: '>=0.10.0'} dependencies: - mime-db: 1.52.0 + mime-db: 1.54.0 dev: true /ext-name@5.0.0: @@ -11045,17 +7274,6 @@ packages: sort-keys-length: 1.0.1 dev: true - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: false - - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false - /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -11067,6 +7285,7 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true /fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -11080,31 +7299,41 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 + dev: true + + /fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: true /fast-uri@3.1.2: resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - - /faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} + /fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} dependencies: - websocket-driver: 0.7.5 - dev: false + reusify: 1.1.0 + dev: true /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -11112,32 +7341,6 @@ packages: bser: 2.1.1 dev: true - /fbemitter@3.0.0: - resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} - dependencies: - fbjs: 3.0.5 - transitivePeerDependencies: - - encoding - dev: false - - /fbjs-css-vars@1.0.2: - resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - dev: false - - /fbjs@3.0.5: - resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} - dependencies: - cross-fetch: 3.2.0 - fbjs-css-vars: 1.0.2 - loose-envify: 1.4.0 - object-assign: 4.1.1 - promise: 7.3.1 - setimmediate: 1.0.5 - ua-parser-js: 1.0.41 - transitivePeerDependencies: - - encoding - dev: false - /fdir@6.5.0(picomatch@4.0.4): resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -11150,23 +7353,17 @@ packages: picomatch: 4.0.4 dev: true - /feed@4.2.2: - resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} - engines: {node: '>=0.4.0'} - dependencies: - xml-js: 1.6.11 - dev: false - /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 + web-streams-polyfill: 3.3.3 dev: true /fflate@0.8.3: resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + dev: true /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} @@ -11194,18 +7391,8 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 - - /file-loader@6.2.0(webpack@5.107.2): - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false + flat-cache: 3.2.0 + dev: true /file-type@20.4.1: resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} @@ -11217,6 +7404,7 @@ packages: uint8array-extras: 1.5.0 transitivePeerDependencies: - supports-color + dev: true /file-type@20.5.0: resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} @@ -11247,22 +7435,12 @@ packages: filename-reserved-regex: 3.0.0 dev: true - /filesize@8.0.7: - resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} - engines: {node: '>= 0.4.0'} - dev: false - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - /fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: true /finalhandler@1.3.2: resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} @@ -11277,15 +7455,7 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: false + dev: true /find-config@1.0.0: resolution: {integrity: sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==} @@ -11312,19 +7482,13 @@ packages: locate-path: 2.0.0 dev: true - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: false - /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 + dev: true /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -11332,6 +7496,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true /find-versions@5.1.0: resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} @@ -11346,35 +7511,27 @@ packages: dependencies: detect-file: 1.0.0 is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.8 resolve-dir: 1.0.1 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.7 + flatted: 3.4.2 + keyv: 4.5.4 rimraf: 3.0.2 + dev: true /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true + dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - - /flux@4.0.4(react@17.0.2): - resolution: {integrity: sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==} - peerDependencies: - react: ^15.0.2 || ^16.0.0 || ^17.0.0 - dependencies: - fbemitter: 3.0.0 - fbjs: 3.0.5 - react: 17.0.2 - transitivePeerDependencies: - - encoding - dev: false + /flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + dev: true /follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} @@ -11384,99 +7541,28 @@ packages: peerDependenciesMeta: debug: optional: true - - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - - /foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 dev: true - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2): - resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} - engines: {node: '>=10', yarn: '>=1.0.0'} - peerDependencies: - eslint: '>= 6' - typescript: '>= 2.7' - vue-template-compiler: '*' - webpack: '>= 4' - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true - dependencies: - '@babel/code-frame': 7.29.7 - '@types/json-schema': 7.0.15 - chalk: 4.1.2 - chokidar: 3.6.0 - cosmiconfig: 6.0.0 - deepmerge: 4.3.1 - eslint: 8.57.1 - fs-extra: 9.1.0 - glob: 7.2.3 - memfs: 3.5.3 - minimatch: 3.1.2 - schema-utils: 2.7.0 - semver: 7.8.5 - tapable: 1.1.3 - typescript: 4.5.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2): - resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} - engines: {node: '>=10', yarn: '>=1.0.0'} - peerDependencies: - eslint: '>= 6' - typescript: '>= 2.7' - vue-template-compiler: '*' - webpack: '>= 4' - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true + /for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} dependencies: - '@babel/code-frame': 7.29.7 - '@types/json-schema': 7.0.15 - chalk: 4.1.2 - chokidar: 3.6.0 - cosmiconfig: 6.0.0 - deepmerge: 4.3.1 - eslint: 8.57.1 - fs-extra: 9.1.0 - glob: 7.2.3 - memfs: 3.5.3 - minimatch: 3.1.2 - schema-utils: 2.7.0 - semver: 7.8.5 - tapable: 1.1.3 - typescript: 5.4.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false + is-callable: 1.2.7 + dev: true + + /foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + dev: true /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} dev: true - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} @@ -11484,7 +7570,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.4 + hasown: 2.0.2 mime-types: 2.1.35 dev: true @@ -11497,6 +7583,7 @@ packages: es-set-tostringtag: 2.1.0 hasown: 2.0.4 mime-types: 2.1.35 + dev: true /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} @@ -11505,47 +7592,46 @@ packages: fetch-blob: 3.2.0 dev: true - /formidable@2.1.2: - resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + /formidable@2.1.5: + resolution: {integrity: sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q==} dependencies: + '@paralleldrive/cuid2': 2.3.1 dezalgo: 1.0.4 - hexoid: 1.0.0 once: 1.4.0 - qs: 6.11.1 + qs: 6.15.2 dev: true /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - - /fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - dev: false + dev: true /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + dev: true /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + /fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false + jsonfile: 6.2.1 + universalify: 2.0.1 + dev: true - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + /fs-extra@11.3.5: + resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + dev: true /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} @@ -11561,22 +7647,21 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - - /fs-monkey@1.1.0: - resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} - dev: false + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true /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 /ftp@0.3.10: @@ -11587,42 +7672,44 @@ packages: xregexp: 2.0.0 dev: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.9 + call-bound: 1.0.4 + es-define-property: 1.0.1 + es-errors: 1.3.0 functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 + is-callable: 1.2.7 + is-document.all: 1.0.0 dev: true /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true + /generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + dev: true + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + dev: true /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - /get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -11630,17 +7717,14 @@ packages: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.2 + es-object-atoms: 1.1.1 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.4 + hasown: 2.0.2 math-intrinsics: 1.1.0 - - /get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: false + dev: true /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -11655,7 +7739,7 @@ packages: '@hutson/parse-repository-url': 3.0.2 hosted-git-info: 4.1.0 through2: 2.0.5 - yargs: 16.2.0 + yargs: 16.2.2 dev: true /get-proto@1.0.1: @@ -11663,32 +7747,21 @@ packages: engines: {node: '>= 0.4'} dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.2 - - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.4 - dev: false - - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.4 - dev: false + es-object-atoms: 1.1.1 + dev: true /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + dev: true - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 dev: true /get-them-args@1.3.2: @@ -11708,7 +7781,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 data-uri-to-buffer: 3.0.1 - debug: 4.3.4 + debug: 4.4.3 file-uri-to-path: 2.0.0 fs-extra: 8.1.0 ftp: 0.3.10 @@ -11719,10 +7792,11 @@ packages: /git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true dependencies: dargs: 7.0.0 - lodash: 4.17.21 + lodash: 4.18.1 meow: 8.1.2 split2: 3.2.2 through2: 4.0.2 @@ -11739,16 +7813,17 @@ packages: /git-semver-tags@4.1.1: resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} engines: {node: '>=10'} + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true dependencies: meow: 8.1.2 - semver: 6.3.0 + semver: 6.3.1 dev: true /git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} dependencies: - is-ssh: 1.4.0 + is-ssh: 1.4.1 parse-url: 8.1.0 dev: true @@ -11764,24 +7839,19 @@ packages: ini: 1.3.8 dev: true - /github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - dev: false - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + dev: true /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true /glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} @@ -11798,20 +7868,22 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true - /global-dirs@0.1.1: - resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} - engines: {node: '>=4'} + /global-directory@5.0.0: + resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==} + engines: {node: '>=20'} requiresBuild: true dependencies: - ini: 1.3.8 + ini: 6.0.0 dev: true optional: true @@ -11820,6 +7892,7 @@ packages: engines: {node: '>=10'} dependencies: ini: 2.0.0 + dev: true /global-modules@1.0.0: resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} @@ -11830,13 +7903,6 @@ packages: resolve-dir: 1.0.1 dev: true - /global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} - dependencies: - global-prefix: 3.0.0 - dev: false - /global-prefix@1.0.2: resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} engines: {node: '>=0.10.0'} @@ -11848,88 +7914,66 @@ packages: which: 1.3.1 dev: true - /global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} - dependencies: - ini: 1.3.8 - kind-of: 6.0.3 - which: 1.3.1 - dev: false - - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true /globals@17.6.0: resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} engines: {node: '>=18'} dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 + gopd: 1.2.0 dev: true - /globby@11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - dev: false - /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 + fast-glob: 3.3.3 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 + dev: true /globby@13.1.3: resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 + fast-glob: 3.3.3 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.0 dev: true /gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} + dev: true /got@12.6.0: resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} engines: {node: '>=14.16'} dependencies: - '@sindresorhus/is': 5.3.0 + '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.8 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 @@ -11939,79 +7983,29 @@ packages: resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} engines: {node: '>=16'} dependencies: - '@sindresorhus/is': 5.3.0 + '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.8 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 dev: true - /got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.3 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 - dev: false - /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - /gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - dev: false - - /gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - dependencies: - duplexer: 0.1.2 - dev: false - - /handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - dev: false - - /handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.17.4 dev: true /handlebars@4.7.9: @@ -12024,7 +8018,8 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.17.4 + uglify-js: 3.19.3 + dev: true /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} @@ -12035,41 +8030,37 @@ packages: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + /has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} dev: true /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + dev: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: - get-intrinsic: 1.2.0 - - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} + es-define-property: 1.0.1 dev: true - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + /has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} engines: {node: '>= 0.4'} + dependencies: + dunder-proto: 1.0.1 + dev: true /has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 dev: true /has-tostringtag@1.0.2: @@ -12077,23 +8068,13 @@ packages: engines: {node: '>= 0.4'} dependencies: has-symbols: 1.1.0 - - /has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - dev: false + dev: true /has-yarn@3.0.0: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -12106,114 +8087,13 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - - /hast-to-hyperscript@9.0.1: - resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} - dependencies: - '@types/unist': 2.0.11 - comma-separated-tokens: 1.0.8 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - style-to-object: 0.3.0 - unist-util-is: 4.1.0 - web-namespaces: 1.1.4 - dev: false - - /hast-util-from-parse5@5.0.3: - resolution: {integrity: sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==} - dependencies: - ccount: 1.1.0 - hastscript: 5.1.2 - property-information: 5.6.0 - web-namespaces: 1.1.4 - xtend: 4.0.2 - dev: false - - /hast-util-from-parse5@6.0.1: - resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} - dependencies: - '@types/parse5': 5.0.3 - hastscript: 6.0.0 - property-information: 5.6.0 - vfile: 4.2.1 - vfile-location: 3.2.0 - web-namespaces: 1.1.4 - dev: false - - /hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} - dev: false - - /hast-util-raw@6.0.1: - resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} - dependencies: - '@types/hast': 2.3.10 - hast-util-from-parse5: 6.0.1 - hast-util-to-parse5: 6.0.0 - html-void-elements: 1.0.5 - parse5: 6.0.1 - unist-util-position: 3.1.0 - vfile: 4.2.1 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 - dev: false - - /hast-util-to-parse5@6.0.0: - resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==} - dependencies: - hast-to-hyperscript: 9.0.1 - property-information: 5.6.0 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 - dev: false - - /hastscript@5.1.2: - resolution: {integrity: sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==} - dependencies: - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - dev: false - - /hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} - dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - dev: false + dev: true /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 - /history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} - dependencies: - '@babel/runtime': 7.29.7 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - value-equal: 1.0.1 - dev: false - - /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - dependencies: - react-is: 16.13.1 - dev: false - /homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -12234,125 +8114,29 @@ packages: engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 - dev: true - - /hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - dev: false - - /html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - dependencies: - whatwg-encoding: 2.0.0 - dev: true - - /html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} - dependencies: - whatwg-encoding: 3.1.1 - dev: true - - /html-entities@2.6.0: - resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - /html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} - hasBin: true - dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 8.3.0 - he: 1.2.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.48.0 - - /html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - dev: false - - /html-void-elements@1.0.5: - resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==} - dev: false - - /html-webpack-plugin@5.6.7(webpack@5.107.2): - resolution: {integrity: sha512-md+vXtdCAe60s1k6AU3dUyMJnDxUyQAwfwPKoLisvgUF1IXjtlLsk2se54+qfL9Mdm26bbwvjJybpNx48NKRLw==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.21 - pretty-error: 4.0.0 - tapable: 2.3.3 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /htmlparser2@10.1.0: - resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 7.0.1 - dev: false - - /htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 - dev: false - - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - - /http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - dev: false + dev: true - /http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} + /html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - dev: false + whatwg-encoding: 2.0.0 + dev: true - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + /html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 + whatwg-encoding: 3.1.1 + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + dev: true /http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} @@ -12363,10 +8147,7 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.2 toidentifier: 1.0.1 - - /http-parser-js@0.5.10: - resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} - dev: false + dev: true /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} @@ -12374,7 +8155,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color dev: true @@ -12389,25 +8170,6 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.10(@types/express@4.17.25): - resolution: {integrity: sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - dependencies: - '@types/express': 4.17.25 - '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.8 - transitivePeerDependencies: - - debug - dev: false - /http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} @@ -12417,6 +8179,7 @@ packages: requires-port: 1.0.0 transitivePeerDependencies: - debug + dev: true /http-server@14.1.1: resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==} @@ -12432,7 +8195,7 @@ packages: mime: 1.6.0 minimist: 1.2.8 opener: 1.5.2 - portfinder: 1.0.32 + portfinder: 1.0.38 secure-compare: 3.0.1 union: 0.5.0 url-join: 4.0.1 @@ -12441,8 +8204,8 @@ packages: - supports-color dev: true - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + /http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 @@ -12454,7 +8217,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color dev: true @@ -12472,9 +8235,10 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + dev: true - /human-signals@4.3.0: - resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} dev: true @@ -12483,21 +8247,14 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - - /icss-utils@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.5.15 - dev: false + dev: true /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} @@ -12508,43 +8265,25 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} + dev: true /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + dev: true /ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} dev: true - /image-size@1.2.1: - resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} - engines: {node: '>=16.x'} - hasBin: true - dependencies: - queue: 6.0.2 - dev: false - - /immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - dev: false - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + /import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - - /import-lazy@2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} - dev: false + dev: true /import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} @@ -12568,49 +8307,50 @@ packages: /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + dev: true /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - - /infima@0.2.0-alpha.39: - resolution: {integrity: sha512-UyYiwD3nwHakGhuOUfpe3baJ8gkiPpRVx4a4sE/Ag+932+Y6swtLsdPoRR8ezhwqGnduzxmFkjumV9roz6QoLw==} - engines: {node: '>=12'} - dev: false - - /infima@0.2.0-alpha.42: - resolution: {integrity: sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==} - engines: {node: '>=12'} - dev: false + dev: true /inflection@1.13.4: resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} engines: {'0': node >= 0.4.0} + dev: true /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true /ini@2.0.0: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} + dev: true /ini@3.0.1: resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true - /inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - dev: false + /ini@6.0.0: + resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} + engines: {node: ^20.17.0 || >=22.9.0} + requiresBuild: true + dev: true + optional: true /inquirer@6.5.2: resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} @@ -12622,10 +8362,10 @@ packages: cli-width: 2.2.1 external-editor: 3.1.0 figures: 2.0.0 - lodash: 4.17.21 + lodash: 4.18.1 mute-stream: 0.0.7 run-async: 2.4.1 - rxjs: 6.6.7 + rxjs: 7.8.1 string-width: 2.1.1 strip-ansi: 5.2.0 through: 2.3.8 @@ -12641,10 +8381,10 @@ packages: cli-width: 3.0.0 external-editor: 3.1.0 figures: 3.2.0 - lodash: 4.17.21 + lodash: 4.18.1 mute-stream: 0.0.8 run-async: 2.4.1 - rxjs: 6.6.7 + rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -12675,10 +8415,10 @@ packages: resolution: {integrity: sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==} engines: {node: '>=12.0.0'} dependencies: - ansi-escapes: 6.0.0 + ansi-escapes: 6.2.1 chalk: 5.2.0 cli-cursor: 4.0.0 - cli-width: 4.0.0 + cli-width: 4.1.0 external-editor: 3.1.0 figures: 5.0.0 lodash: 4.17.21 @@ -12687,7 +8427,7 @@ packages: run-async: 2.4.1 rxjs: 7.8.1 string-width: 5.1.2 - strip-ansi: 7.0.1 + strip-ansi: 7.2.0 through: 2.3.8 wrap-ansi: 8.1.0 dev: true @@ -12698,156 +8438,146 @@ packages: kind-of: 6.0.3 dev: true - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.4 + side-channel: 1.1.1 dev: true /interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} + dev: true - /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - dependencies: - loose-envify: 1.4.0 + /ip-address@10.2.0: + resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} + engines: {node: '>= 12'} + dev: true /ip-regex@2.1.0: resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} engines: {node: '>=4'} dev: true - /ip@1.1.8: - resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} - dev: true - - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + /ip@1.1.9: + resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==} dev: true /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + dev: true - /ipaddr.js@2.4.0: - resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} - engines: {node: '>= 10'} - dev: false - - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: false - - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - dev: false - - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + /is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 dev: true /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + /is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} dependencies: - has-bigints: 1.0.2 + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + /is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} dependencies: - binary-extensions: 2.3.0 - dev: false + has-bigints: 1.1.0 + dev: true - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + /is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 dev: true - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: false - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: true - /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 - dev: false - /is-ci@3.0.1: 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.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - /is-core-module@2.16.2: resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} dependencies: hasown: 2.0.4 + dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + /is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 dev: true - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: false + /is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + dev: true /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true + dev: true - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: false + /is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + dev: true /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + dev: true + + /is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + dev: true /is-fullwidth-code-point@2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} @@ -12857,21 +8587,30 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + dev: true /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} dev: true + /is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + dev: true + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: false + dev: true /is-installed-globally@0.4.0: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} @@ -12879,6 +8618,7 @@ packages: dependencies: global-dirs: 3.0.1 is-path-inside: 3.0.3 + dev: true /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} @@ -12890,74 +8630,55 @@ packages: engines: {node: '>=12'} dev: true - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} dev: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} dev: true - /is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} - dev: false - - /is-npm@6.0.0: - resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + /is-npm@6.1.0: + resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + /is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - - /is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - dev: false + dev: true /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: false + dev: true /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + dev: true /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: false - - /is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - dev: false - - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true /is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} @@ -12968,61 +8689,59 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + /is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 dev: true - /is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - dev: false - - /is-root@2.1.0: - resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} - engines: {node: '>=6'} - dev: false - - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} dev: true - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + /is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bound: 1.0.4 dev: true - /is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + /is-ssh@1.4.1: + resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==} dependencies: - protocols: 2.0.1 + protocols: 2.0.2 dev: true /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + dev: true /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + /is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + /is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.3 + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 dev: true /is-text-path@1.0.1: @@ -13032,19 +8751,16 @@ packages: text-extensions: 1.9.0 dev: true - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + /is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + which-typed-array: 1.1.22 dev: true /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} @@ -13064,34 +8780,37 @@ packages: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + dev: true + + /is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bound: 1.0.4 dev: true - /is-whitespace-character@1.0.4: - resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} - dev: false + /is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + dev: true /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} dev: true - /is-word-character@1.0.4: - resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} - dev: false - /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 - - /is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - dev: false + dev: true /is-yarn-global@0.4.1: resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} @@ -13109,9 +8828,11 @@ packages: /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: true /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -13119,13 +8840,10 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} dev: true @@ -13135,19 +8853,19 @@ packages: dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.7 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-coverage: 3.2.2 semver: 7.8.5 transitivePeerDependencies: - supports-color dev: true - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 supports-color: 7.2.0 dev: true @@ -13157,22 +8875,23 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.31 debug: 4.4.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + /istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 dev: true /iterare@1.2.1: resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} engines: {node: '>=6'} + dev: true /iterate-iterator@1.0.2: resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} @@ -13852,18 +9571,6 @@ packages: - supports-color dev: true - /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.3 - '@types/node': 18.19.130 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: false - /jest-util@30.0.5: resolution: {integrity: sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -13933,30 +9640,12 @@ packages: '@jest/test-result': 30.4.1 '@jest/types': 30.4.1 '@types/node': 18.19.130 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 30.4.1 - string-length: 4.0.2 - dev: true - - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 16.11.68 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - /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.19.130 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: false + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 30.4.1 + string-length: 4.0.2 + dev: true /jest-worker@30.0.5: resolution: {integrity: sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ==} @@ -14002,35 +9691,31 @@ packages: - ts-node dev: true - /jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + /jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - dev: false - - /joi@17.13.4: - resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 + requiresBuild: true + dev: true + optional: true /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + /js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 + dev: true - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + /js-yaml@4.2.0: + resolution: {integrity: sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==} hasBin: true dependencies: argparse: 2.0.1 + dev: true /jsdom@26.1.0: resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} @@ -14071,10 +9756,7 @@ packages: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} hasBin: true - - /json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - dev: false + dev: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -14084,7 +9766,7 @@ packages: resolution: {integrity: sha512-TuDuZ5KrgyjoCIppdPXBMqiGfota55+odM+j2cQ5rt/XKyKmqGB3Whz1F8SN8+60yYGy/Nu5lbRZ+rx8kBIvBw==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.29.7 chalk: 4.1.2 pegjs: 0.10.0 dev: true @@ -14095,15 +9777,19 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -14113,6 +9799,7 @@ packages: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true + dev: true /jsonc-eslint-parser@2.4.2: resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} @@ -14130,6 +9817,7 @@ packages: /jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -14137,26 +9825,21 @@ packages: graceful-fs: 4.2.11 dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + /jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 + dev: true /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} dev: true - /keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - dependencies: - json-buffer: 3.0.0 - dev: false - - /keyv@4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true @@ -14172,36 +9855,19 @@ packages: /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: false - - /latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} - dependencies: - package-json: 6.5.0 - dev: false + dev: true /latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} dependencies: - package-json: 8.1.0 + package-json: 8.1.1 dev: true - /launch-editor@2.14.1: - resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} - dependencies: - picocolors: 1.1.1 - shell-quote: 1.8.4 - dev: false - /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} + dev: true /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} @@ -14217,13 +9883,11 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} + dev: true /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true /lines-and-columns@2.0.3: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} @@ -14240,24 +9904,6 @@ packages: strip-bom: 3.0.0 dev: true - /loader-runner@4.3.2: - resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} - engines: {node: '>=6.11.5'} - - /loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - dev: false - - /loader-utils@3.3.1: - resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} - engines: {node: '>= 12.13.0'} - dev: false - /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -14266,81 +9912,60 @@ packages: path-exists: 3.0.0 dev: true - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: false - /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 + dev: true /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true /lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: true - /lodash.curry@4.1.1: - resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} - dev: false - /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - /lodash.flow@3.5.0: - resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} - dev: false + dev: true /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. dev: true /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - requiresBuild: true - dev: true - optional: true - /lodash.map@4.6.0: resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} dev: true /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - /lodash.mergewith@4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - requiresBuild: true dev: true - optional: true /lodash.set@4.3.2: resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} dev: true - /lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - requiresBuild: true - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + dev: true /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} @@ -14363,27 +9988,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - dependencies: - js-tokens: 4.0.0 - - /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - dependencies: - tslib: 2.5.3 - - /lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - dev: false - - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: false - /lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -14397,19 +10001,17 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: true - /lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - dev: false - - /macos-release@3.1.0: - resolution: {integrity: sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA==} + /macos-release@3.5.1: + resolution: {integrity: sha512-Lci/1in+elqZ589PXnfP/iwZXpwQifTM94WJRQwG2tZSdfY7NfB/aUaTARHrohWCgHlXoabeaeXRDOnF5X9JQw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true @@ -14419,11 +10021,12 @@ packages: '@jridgewell/sourcemap-codec': 1.5.5 dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: - semver: 6.3.1 + semver: 7.8.5 + dev: true /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -14445,72 +10048,28 @@ packages: engines: {node: '>=8'} dev: true - /markdown-escapes@1.0.4: - resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} - dev: false - - /marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - dev: false - /math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - - /mdast-squeeze-paragraphs@4.0.0: - resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==} - dependencies: - unist-util-remove: 2.1.0 - dev: false - - /mdast-util-definitions@4.0.0: - resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} - dependencies: - unist-util-visit: 2.0.3 - dev: false - - /mdast-util-to-hast@10.0.1: - resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - mdast-util-definitions: 4.0.0 - mdurl: 1.0.1 - unist-builder: 2.0.3 - unist-util-generated: 1.1.6 - unist-util-position: 3.1.0 - unist-util-visit: 2.0.3 - dev: false - - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: false - - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: false + dev: true /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + dev: true - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} - dependencies: - fs-monkey: 1.1.0 - dev: false + /meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + requiresBuild: true + dev: true + optional: 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.5 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -14525,13 +10084,16 @@ packages: /merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + dev: true /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + dev: true /merge@2.1.1: resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} @@ -14540,55 +10102,43 @@ packages: /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 + dev: true /micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 + dev: true - /mikro-orm@5.6.13: - resolution: {integrity: sha512-AH5XSDREChcrpKTWqy5zgPlX8tE4+kSw/GKv7D5ZtiH8MVnq4vrNEB0OvD+DKPzj2RlT/sp9Gjnlw4U80CAp0g==} + /mikro-orm@5.6.16: + resolution: {integrity: sha512-HgG079qA5hWgGWlq9u3BjgE3ynGnDFsGRtvFhgo6W3Itkz46SsQ4oeQxRcAetd8mj/qM4SOLuy0k71pI6h0PkQ==} engines: {node: '>= 14.0.0'} - - /mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} - dev: false + dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: true /mime-db@1.54.0: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} - - /mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.33.0 - dev: false + dev: true /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 + dev: true /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true + dev: true /mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} @@ -14604,17 +10154,13 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + dev: true /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} dev: true - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: false - /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -14630,21 +10176,6 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.10.2(webpack@5.107.2): - resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - schema-utils: 4.3.3 - tapable: 2.3.3 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: false - /minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -14652,23 +10183,11 @@ packages: brace-expansion: 5.0.6 dev: true - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - /minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} dependencies: - brace-expansion: 1.1.11 - dev: false - - /minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.1.1 - dev: false + brace-expansion: 1.1.15 + dev: true /minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} @@ -14692,6 +10211,7 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true /minipass@7.1.3: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} @@ -14707,33 +10227,34 @@ packages: hasBin: true dependencies: minimist: 1.2.8 + dev: true /modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} dev: true - /moment-timezone@0.5.41: - resolution: {integrity: sha512-e0jGNZDOHfBXJGz8vR/sIMXvBIGJJcqFjmlg9lmE+5KX1U7/RZNMswfD8nKnNCnQdKTIj50IaRKwl1fvMLyyRg==} + /moment-timezone@0.5.48: + resolution: {integrity: sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==} dependencies: - moment: 2.29.4 - - /moment@2.29.4: - resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + moment: 2.30.1 + dev: true - /mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} - dev: false + /moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + dev: true /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true /multer@2.0.2: resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==} @@ -14746,14 +10267,7 @@ packages: object-assign: 4.1.1 type-is: 1.6.18 xtend: 4.0.2 - - /multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - dependencies: - dns-packet: 5.6.1 - thunky: 1.1.0 - dev: false + dev: true /mute-stream@0.0.7: resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} @@ -14763,11 +10277,6 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nanoid@3.3.13: - resolution: {integrity: sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - /napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -14776,21 +10285,19 @@ packages: /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - - /negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - dev: false + dev: true /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true - /netmask@2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + /netmask@2.1.1: + resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==} engines: {node: '>= 0.4.0'} dev: true @@ -14801,34 +10308,12 @@ packages: type-fest: 2.19.0 dev: true - /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - dependencies: - lower-case: 2.0.2 - tslib: 2.5.3 - /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead dev: true - /node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - dependencies: - lodash: 4.17.21 - dev: false - - /node-fetch@2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -14839,7 +10324,7 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: false + dev: true /node-fetch@3.3.0: resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} @@ -14850,11 +10335,6 @@ packages: formdata-polyfill: 4.0.10 dev: true - /node-forge@1.4.0: - resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} - engines: {node: '>= 6.13.0'} - dev: false - /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true @@ -14862,13 +10342,14 @@ packages: /node-releases@2.0.48: resolution: {integrity: sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==} engines: {node: '>=18'} + dev: true /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.1 - semver: 5.7.1 + resolve: 1.22.12 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -14877,7 +10358,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.11.0 + is-core-module: 2.16.2 semver: 7.3.8 validate-npm-package-license: 3.0.4 dev: true @@ -14885,18 +10366,10 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + dev: true - /normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - dev: false - - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + /normalize-url@8.1.1: + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} engines: {node: '>=14.16'} dev: true @@ -14905,23 +10378,15 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 + dev: true - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: true - /nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - dev: false - - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - dependencies: - boolbase: 1.0.0 - /nwsapi@2.2.24: resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} dev: true @@ -15068,36 +10533,29 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: false - - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: true /object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + dev: true - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - has-symbols: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 object-keys: 1.1.1 - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: false + dev: true /obug@2.1.3: resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} @@ -15109,16 +10567,13 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - - /on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - dev: false + dev: true /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true /onetime@2.0.1: resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} @@ -15132,6 +10587,7 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 + dev: true /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} @@ -15147,10 +10603,12 @@ packages: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 + dev: true /opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true + dev: true /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} @@ -15161,7 +10619,7 @@ packages: levn: 0.3.0 prelude-ls: 1.1.2 type-check: 0.3.2 - word-wrap: 1.2.3 + word-wrap: 1.2.5 dev: true /optionator@0.9.4: @@ -15174,6 +10632,7 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 + dev: true /ora@5.3.0: resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} @@ -15182,7 +10641,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.6.1 is-interactive: 1.0.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 @@ -15196,7 +10655,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -15211,11 +10670,11 @@ packages: bl: 5.1.0 chalk: 5.2.0 cli-cursor: 4.0.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 2.0.0 is-unicode-supported: 1.3.0 log-symbols: 5.1.0 - strip-ansi: 7.0.1 + strip-ansi: 7.2.0 wcwidth: 1.0.1 dev: true @@ -15228,8 +10687,8 @@ packages: resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - macos-release: 3.1.0 - windows-release: 5.1.0 + macos-release: 3.5.1 + windows-release: 5.1.1 dev: true /os-tmpdir@1.0.2: @@ -15237,10 +10696,14 @@ packages: engines: {node: '>=0.10.0'} dev: true - /p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - dev: false + /own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + dev: true /p-cancelable@3.0.0: resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} @@ -15259,12 +10722,14 @@ packages: engines: {node: '>=6'} dependencies: p-try: 2.2.0 + dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} @@ -15273,39 +10738,19 @@ packages: p-limit: 1.3.0 dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - dev: false - /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 + dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: false - - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - dependencies: - '@types/retry': 0.12.0 - retry: 0.13.1 - dev: false + dev: true /p-try@1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} @@ -15315,6 +10760,7 @@ packages: /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + dev: true /pac-proxy-agent@5.0.0: resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==} @@ -15322,12 +10768,12 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.3 get-uri: 3.0.2 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 pac-resolver: 5.0.1 - raw-body: 2.5.2 + raw-body: 2.5.3 socks-proxy-agent: 5.0.1 transitivePeerDependencies: - supports-color @@ -15337,63 +10783,37 @@ packages: resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==} engines: {node: '>= 8'} dependencies: - degenerator: 3.0.2 - ip: 1.1.8 - netmask: 2.0.2 + degenerator: 3.0.4 + ip: 1.1.9 + netmask: 2.1.1 dev: true /package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} dev: true - /package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - dependencies: - got: 9.6.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - semver: 6.3.1 - dev: false - - /package-json@8.1.0: - resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==} + /package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} dependencies: got: 12.6.0 - registry-auth-token: 5.0.2 + registry-auth-token: 5.1.1 registry-url: 6.0.1 - semver: 7.8.5 + semver: 7.3.8 dev: true - /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - dependencies: - dot-case: 3.0.4 - tslib: 2.5.3 - /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 - - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 - dev: false + dev: true /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-better-errors: 1.0.2 dev: true @@ -15401,93 +10821,59 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.18.6 - error-ex: 1.3.2 + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - - /parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - dev: false + dev: true /parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} dev: true - /parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + /parse-path@7.1.0: + resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} dependencies: - protocols: 2.0.1 + protocols: 2.0.2 dev: true /parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} dependencies: - parse-path: 7.0.0 - dev: true - - /parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - dependencies: - domhandler: 5.0.3 - parse5: 7.3.0 - dev: false - - /parse5-parser-stream@7.1.2: - resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} - dependencies: - parse5: 7.3.0 - dev: false - - /parse5@5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} - dev: false - - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false - - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - dependencies: - entities: 4.4.0 + parse-path: 7.1.0 dev: true /parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} dependencies: entities: 6.0.1 + dev: true /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - - /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - dependencies: - no-case: 3.0.4 - tslib: 2.5.3 + dev: true /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} + dev: true /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + dev: true /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - - /path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} - dev: false + dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -15496,6 +10882,7 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true /path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} @@ -15507,19 +10894,11 @@ packages: /path-to-regexp@0.1.13: resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - - /path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} - dependencies: - isarray: 0.0.1 - dev: false - - /path-to-regexp@3.2.0: - resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} - dev: false + dev: true /path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + dev: true /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -15531,6 +10910,7 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + dev: true /pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -15546,15 +10926,18 @@ packages: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true - /pg-connection-string@2.5.0: - resolution: {integrity: sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==} + /pg-connection-string@2.14.0: + resolution: {integrity: sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==} + dev: true /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: true - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + /picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} + dev: true /picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} @@ -15592,433 +10975,27 @@ packages: engines: {node: '>=8'} dependencies: find-up: 4.1.0 - - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} - dependencies: - find-up: 3.0.0 - dev: false + dev: true /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} dev: true - /portfinder@1.0.32: - resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} - engines: {node: '>= 0.12.0'} + /portfinder@1.0.38: + resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} + engines: {node: '>= 10.12'} dependencies: - async: 2.6.4 - debug: 3.2.7 - mkdirp: 0.5.6 + async: 3.2.6 + debug: 4.4.3 transitivePeerDependencies: - supports-color dev: true - /postcss-calc@8.2.4(postcss@8.5.15): - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} - peerDependencies: - postcss: ^8.2.2 - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.4 - postcss-value-parser: 4.2.0 - - /postcss-colormin@5.3.1(postcss@8.5.15): - resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-convert-values@5.1.3(postcss@8.5.15): - resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-discard-comments@5.1.2(postcss@8.5.15): - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - - /postcss-discard-duplicates@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - - /postcss-discard-empty@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - - /postcss-discard-overridden@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - - /postcss-discard-unused@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.4 - dev: false - - /postcss-loader@7.3.4(postcss@8.5.15)(typescript@4.5.5)(webpack@5.107.2): - resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - dependencies: - cosmiconfig: 8.3.6(typescript@4.5.5) - jiti: 1.21.7 - postcss: 8.5.15 - semver: 7.8.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - typescript - dev: false - - /postcss-loader@7.3.4(postcss@8.5.15)(typescript@5.4.5)(webpack@5.107.2): - resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - dependencies: - cosmiconfig: 8.3.6(typescript@5.4.5) - jiti: 1.21.7 - postcss: 8.5.15 - semver: 7.8.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - typescript - dev: false - - /postcss-merge-idents@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 3.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - dev: false - - /postcss-merge-longhand@5.1.7(postcss@8.5.15): - resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.5.15) - - /postcss-merge-rules@5.1.4(postcss@8.5.15): - resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-selector-parser: 6.1.4 - - /postcss-minify-font-values@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-minify-gradients@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-minify-params@5.1.4(postcss@8.5.15): - resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - cssnano-utils: 3.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-minify-selectors@5.2.1(postcss@8.5.15): - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.4 - - /postcss-modules-extract-imports@3.1.0(postcss@8.5.15): - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.5.15 - dev: false - - /postcss-modules-local-by-default@4.2.0(postcss@8.5.15): - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-selector-parser: 7.1.4 - postcss-value-parser: 4.2.0 - dev: false - - /postcss-modules-scope@3.2.1(postcss@8.5.15): - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.4 - dev: false - - /postcss-modules-values@4.0.0(postcss@8.5.15): - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - dev: false - - /postcss-normalize-charset@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - - /postcss-normalize-display-values@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-positions@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-repeat-style@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-string@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-timing-functions@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-unicode@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-url@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - normalize-url: 6.1.0 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-normalize-whitespace@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-ordered-values@5.1.3(postcss@8.5.15): - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 3.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-reduce-idents@5.2.0(postcss@8.5.15): - resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - dev: false - - /postcss-reduce-initial@5.1.2(postcss@8.5.15): - resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - postcss: 8.5.15 - - /postcss-reduce-transforms@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - /postcss-selector-parser@6.1.4: - resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - /postcss-selector-parser@7.1.4: - resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: false - - /postcss-sort-media-queries@4.4.1(postcss@8.5.15): - resolution: {integrity: sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.4.16 - dependencies: - postcss: 8.5.15 - sort-css-media-queries: 2.1.0 - dev: false - - /postcss-svgo@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - svgo: 2.8.2 - - /postcss-unique-selectors@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.4 - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - /postcss-zindex@5.1.0(postcss@8.5.15): - resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.5.15 - dev: false - - /postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.13 - picocolors: 1.1.1 - source-map-js: 1.2.1 + /possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + dev: true /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} @@ -16028,11 +11005,7 @@ packages: /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - - /prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - dev: false + dev: true /prettier@2.8.4: resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} @@ -16040,13 +11013,6 @@ packages: hasBin: true dev: true - /pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - dependencies: - lodash: 4.17.21 - renderkid: 3.0.0 - dev: false - /pretty-format@30.0.5: resolution: {integrity: sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -16060,78 +11026,34 @@ packages: resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@jest/schemas': 30.4.1 - ansi-styles: 5.2.0 - react-is-18: /react-is@18.3.1 - react-is-19: /react-is@19.2.7 - dev: true - - /pretty-time@1.1.0: - resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} - engines: {node: '>=4'} - dev: false - - /prism-react-renderer@1.3.5(react@17.0.2): - resolution: {integrity: sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==} - peerDependencies: - react: '>=0.14.9' - dependencies: - react: 17.0.2 - dev: false - - /prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} - dev: false + '@jest/schemas': 30.4.1 + ansi-styles: 5.2.0 + react-is-18: /react-is@18.3.1 + react-is-19: /react-is@19.2.7 + dev: true /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true /promise.allsettled@1.0.6: resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} engines: {node: '>= 0.4'} dependencies: - array.prototype.map: 1.0.5 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - get-intrinsic: 1.2.0 + array.prototype.map: 1.0.8 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + get-intrinsic: 1.3.0 iterate-value: 1.0.2 dev: true - /promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - dependencies: - asap: 2.0.6 - dev: false - - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: false - - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - - /property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - dependencies: - xtend: 4.0.2 - dev: false - /proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: true - /protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + /protocols@2.0.2: + resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==} dev: true /proxy-addr@2.0.7: @@ -16140,13 +11062,14 @@ packages: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 + dev: true /proxy-agent@5.0.0: resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} engines: {node: '>= 8'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.3 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 lru-cache: 5.1.1 @@ -16166,40 +11089,18 @@ packages: engines: {node: '>=10'} dev: true - /pump@3.0.4: - resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} - dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 - dev: false - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true - /pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - dependencies: - escape-goat: 2.1.1 - dev: false - - /pupa@3.1.0: - resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + /pupa@3.3.0: + resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} engines: {node: '>=12.20'} dependencies: escape-goat: 4.0.0 dev: true - /pure-color@1.3.0: - resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} - dev: false - /pure-rand@7.0.1: resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} dev: true @@ -16207,20 +11108,25 @@ packages: /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) dev: true - /qs@6.11.1: - resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==} + /qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.1.1 dev: true - /qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} + /qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} dependencies: side-channel: 1.1.1 + dev: true /quansync@1.0.0: resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} @@ -16228,12 +11134,7 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - /queue@6.0.2: - resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} - dependencies: - inherits: 2.0.4 - dev: false + dev: true /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -16245,29 +11146,9 @@ packages: engines: {node: '>=10'} dev: true - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} - dev: false - /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 dev: true /raw-body@2.5.3: @@ -16278,6 +11159,7 @@ packages: http-errors: 2.0.1 iconv-lite: 0.4.24 unpipe: 1.0.0 + dev: true /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -16287,143 +11169,7 @@ packages: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - - /react-base16-styling@0.6.0: - resolution: {integrity: sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==} - dependencies: - base16: 1.0.0 - lodash.curry: 4.1.1 - lodash.flow: 3.5.0 - pure-color: 1.3.0 - dev: false - - /react-dev-utils@12.0.1(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2): - resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=2.7' - webpack: '>=4' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@babel/code-frame': 7.29.7 - address: 1.2.2 - browserslist: 4.28.2 - chalk: 4.1.2 - cross-spawn: 7.0.6 - detect-port-alt: 1.1.6 - escape-string-regexp: 4.0.0 - filesize: 8.0.7 - find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@4.5.5)(webpack@5.107.2) - global-modules: 2.0.0 - globby: 11.1.0 - gzip-size: 6.0.0 - immer: 9.0.21 - is-root: 2.1.0 - loader-utils: 3.3.1 - open: 8.4.2 - pkg-up: 3.1.0 - prompts: 2.4.2 - react-error-overlay: 6.1.0 - recursive-readdir: 2.2.3 - shell-quote: 1.8.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - typescript: 4.5.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - eslint - - supports-color - - vue-template-compiler - dev: false - - /react-dev-utils@12.0.1(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2): - resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=2.7' - webpack: '>=4' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@babel/code-frame': 7.29.7 - address: 1.2.2 - browserslist: 4.28.2 - chalk: 4.1.2 - cross-spawn: 7.0.6 - detect-port-alt: 1.1.6 - escape-string-regexp: 4.0.0 - filesize: 8.0.7 - find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.107.2) - global-modules: 2.0.0 - globby: 11.1.0 - gzip-size: 6.0.0 - immer: 9.0.21 - is-root: 2.1.0 - loader-utils: 3.3.1 - open: 8.4.2 - pkg-up: 3.1.0 - prompts: 2.4.2 - react-error-overlay: 6.1.0 - recursive-readdir: 2.2.3 - shell-quote: 1.8.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - typescript: 5.4.5 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - transitivePeerDependencies: - - eslint - - supports-color - - vue-template-compiler - dev: false - - /react-dom@17.0.2(react@17.0.2): - resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} - peerDependencies: - react: 17.0.2 - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react: 17.0.2 - scheduler: 0.20.2 - - /react-error-overlay@6.1.0: - resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==} - dev: false - - /react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - - /react-helmet-async@1.3.0(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@babel/runtime': 7.29.7 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - /react-helmet-async@3.0.0(react@17.0.2): - resolution: {integrity: sha512-nA3IEZfXiclgrz4KLxAhqJqIfFDuvzQwlKwpdmzZIuC1KNSghDEIXmyU0TKtbM+NafnkICcwx8CECFrZ/sL/1w==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - dependencies: - invariant: 2.2.4 - react: 17.0.2 - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true /react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -16433,103 +11179,6 @@ packages: resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} dev: true - /react-json-view@1.21.3(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==} - peerDependencies: - react: ^17.0.0 || ^16.3.0 || ^15.5.4 - react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4 - dependencies: - flux: 4.0.4(react@17.0.2) - react: 17.0.2 - react-base16-styling: 0.6.0 - react-dom: 17.0.2(react@17.0.2) - react-lifecycles-compat: 3.0.4 - react-textarea-autosize: 8.5.9(react@17.0.2) - transitivePeerDependencies: - - '@types/react' - - encoding - dev: false - - /react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - dev: false - - /react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@5.5.2)(webpack@5.107.2): - resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - react-loadable: '*' - webpack: '>=4.41.1 || 5.x' - dependencies: - '@babel/runtime': 7.29.7 - react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /react-router-config@5.1.1(react-router@5.3.4)(react@17.0.2): - resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} - peerDependencies: - react: '>=15' - react-router: '>=5' - dependencies: - '@babel/runtime': 7.29.7 - react: 17.0.2 - react-router: 5.3.4(react@17.0.2) - dev: false - - /react-router-dom@5.3.4(react@17.0.2): - resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} - peerDependencies: - react: '>=15' - dependencies: - '@babel/runtime': 7.29.7 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 17.0.2 - react-router: 5.3.4(react@17.0.2) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - dev: false - - /react-router@5.3.4(react@17.0.2): - resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} - peerDependencies: - react: '>=15' - dependencies: - '@babel/runtime': 7.29.7 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - path-to-regexp: 1.9.0 - prop-types: 15.8.1 - react: 17.0.2 - react-is: 16.13.1 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - dev: false - - /react-textarea-autosize@8.5.9(react@17.0.2): - resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} - engines: {node: '>=10'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - dependencies: - '@babel/runtime': 7.29.7 - react: 17.0.2 - use-composed-ref: 1.4.0(react@17.0.2) - use-latest: 1.3.0(react@17.0.2) - transitivePeerDependencies: - - '@types/react' - dev: false - - /react@17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} - engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - /read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -16560,7 +11209,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -16585,14 +11234,7 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - - /readable-stream@3.6.1: - resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 + dev: true /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -16601,30 +11243,14 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: false - - /reading-time@1.5.0: - resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} - dev: false + dev: true /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.1 - - /recursive-readdir@2.2.3: - resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} - engines: {node: '>=6.0.0'} - dependencies: - minimatch: 3.1.2 - dev: false + resolve: 1.22.12 + dev: true /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -16634,29 +11260,44 @@ packages: strip-indent: 3.0.0 dev: true - /reflect-metadata@0.1.13: - resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} + /reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + + /reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + dev: true /regenerate-unicode-properties@10.2.2: resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 + dev: true /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + /regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 dev: true /regexpu-core@6.4.0: @@ -16669,28 +11310,15 @@ packages: regjsparser: 0.13.2 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 + dev: true - /registry-auth-token@4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} - dependencies: - rc: 1.2.8 - dev: false - - /registry-auth-token@5.0.2: - resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + /registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} engines: {node: '>=14'} dependencies: - '@pnpm/npm-conf': 2.1.0 + '@pnpm/npm-conf': 3.0.3 dev: true - /registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} - dependencies: - rc: 1.2.8 - dev: false - /registry-url@6.0.1: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} @@ -16700,24 +11328,14 @@ packages: /regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + dev: true /regjsparser@0.13.2: resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true dependencies: jsesc: 3.1.0 - - /rehype-parse@6.0.2: - resolution: {integrity: sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==} - dependencies: - hast-util-from-parse5: 5.0.3 - parse5: 5.1.1 - xtend: 4.0.2 - dev: false - - /relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} + dev: true /release-it@15.8.0: resolution: {integrity: sha512-eJwYY/vXefcnWn7OHlZRcQJYPSJw/fdO+29C/Re5MZE8FZReCHu+EYq3yB0Bm39/3cTVz/5I/2Fk5rtAsVFU1g==} @@ -16741,96 +11359,19 @@ packages: node-fetch: 3.3.0 open: 8.4.2 ora: 6.1.2 - os-name: 5.1.0 - promise.allsettled: 1.0.6 - proxy-agent: 5.0.0 - semver: 7.3.8 - shelljs: 0.8.5 - update-notifier: 6.0.2 - url-join: 5.0.0 - wildcard-match: 5.1.2 - yargs-parser: 21.1.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /remark-admonitions@1.2.1: - resolution: {integrity: sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==} - dependencies: - rehype-parse: 6.0.2 - unified: 8.4.2 - unist-util-visit: 2.0.3 - dev: false - - /remark-emoji@2.2.0: - resolution: {integrity: sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==} - dependencies: - emoticon: 3.2.0 - node-emoji: 1.11.0 - unist-util-visit: 2.0.3 - dev: false - - /remark-footnotes@2.0.0: - resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==} - dev: false - - /remark-mdx@1.6.22: - resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==} - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-proposal-object-rest-spread': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - is-alphabetical: 1.0.4 - remark-parse: 8.0.3 - unified: 9.2.0 - transitivePeerDependencies: - - supports-color - dev: false - - /remark-parse@8.0.3: - resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==} - dependencies: - ccount: 1.1.0 - collapse-white-space: 1.0.6 - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - is-whitespace-character: 1.0.4 - is-word-character: 1.0.4 - markdown-escapes: 1.0.4 - parse-entities: 2.0.0 - repeat-string: 1.6.1 - state-toggle: 1.0.3 - trim: 0.0.1 - trim-trailing-lines: 1.1.4 - unherit: 1.1.3 - unist-util-remove-position: 2.0.1 - vfile-location: 3.2.0 - xtend: 4.0.2 - dev: false - - /remark-squeeze-paragraphs@4.0.0: - resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==} - dependencies: - mdast-squeeze-paragraphs: 4.0.0 - dev: false - - /renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - dependencies: - css-select: 4.3.0 - dom-converter: 0.2.0 - htmlparser2: 6.1.0 - lodash: 4.17.21 - strip-ansi: 6.0.1 - dev: false - - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: false + os-name: 5.1.0 + promise.allsettled: 1.0.6 + proxy-agent: 5.0.0 + semver: 7.3.8 + shelljs: 0.8.5 + update-notifier: 6.0.2 + url-join: 5.0.0 + wildcard-match: 5.1.2 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: true /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} @@ -16840,10 +11381,7 @@ packages: /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - - /require-like@0.1.2: - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} - dev: false + dev: true /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} @@ -16851,6 +11389,7 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -16874,25 +11413,13 @@ packages: /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + dev: true /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} dev: true - /resolve-global@1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - global-dirs: 0.1.1 - dev: true - optional: true - - /resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - dev: false - /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true @@ -16902,14 +11429,6 @@ packages: engines: {node: '>=10'} dev: true - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - /resolve@1.22.12: resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} engines: {node: '>= 0.4'} @@ -16919,12 +11438,7 @@ packages: is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - - /responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - dependencies: - lowercase-keys: 1.0.1 - dev: false + dev: true /responselike@3.0.0: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} @@ -16957,23 +11471,23 @@ packages: signal-exit: 3.0.7 dev: true - /retry-as-promised@5.0.0: - resolution: {integrity: sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA==} - dev: false - - /retry-as-promised@7.0.4: - resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==} + /retry-as-promised@7.1.1: + resolution: {integrity: sha512-hMD7odLOt3LkTjcif8aRZqi/hybjpLNgSk5oF5FCowfCjok6LukpN2bDX7R5wDmbgBQFn7YoBxSagmtXHaJYJw==} + dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} + dev: true - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + /reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -16985,6 +11499,7 @@ packages: hasBin: true dependencies: glob: 7.2.3 + dev: true /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@5.4.5): resolution: {integrity: sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==} @@ -17048,20 +11563,6 @@ packages: resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} dev: true - /rtl-detect@1.1.2: - resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} - dev: false - - /rtlcss@3.5.0: - resolution: {integrity: sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==} - hasBin: true - dependencies: - find-up: 5.0.0 - picocolors: 1.1.1 - postcss: 8.5.15 - strip-json-comments: 3.1.1 - dev: false - /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -17071,50 +11572,53 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - dependencies: - tslib: 1.14.1 dev: true - /rxjs@7.5.7: - resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==} - dependencies: - tslib: 2.3.1 - dev: false - - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - dependencies: - tslib: 2.5.0 - /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.5.3 + dev: true + + /safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + dev: true /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + dev: true - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-regex: 1.1.4 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 dev: true /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - /sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} + dev: true /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} @@ -17123,60 +11627,6 @@ packages: xmlchars: 2.2.0 dev: true - /scheduler@0.20.2: - resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - - /schema-utils@2.7.0: - resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} - engines: {node: '>= 8.9.0'} - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: false - - /schema-utils@2.7.1: - resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} - engines: {node: '>= 8.9.0'} - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: false - - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: false - - /schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.18.0 - ajv-formats: 2.1.1(ajv@8.18.0) - ajv-keywords: 5.1.0(ajv@8.18.0) - - /search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - dev: false - - /section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - dev: false - /secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true @@ -17188,30 +11638,11 @@ packages: commander: 6.2.1 dev: true - /select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - dev: false - - /selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - dependencies: - '@types/node-forge': 1.3.14 - node-forge: 1.4.0 - dev: false - - /semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: false - /semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} dependencies: - semver: 7.8.5 + semver: 7.3.8 dev: true /semver-regex@4.0.5: @@ -17226,18 +11657,15 @@ packages: semver: 7.8.5 dev: true - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + dev: true /semver@7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} @@ -17245,6 +11673,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true /semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} @@ -17256,6 +11685,7 @@ packages: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true + dev: true /send@0.19.2: resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} @@ -17276,60 +11706,12 @@ packages: statuses: 2.0.2 transitivePeerDependencies: - supports-color + dev: true /sequelize-pool@7.1.0: resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} engines: {node: '>= 10.0.0'} - - /sequelize@6.17.0: - resolution: {integrity: sha512-AZus+0YZDq91Zg0hzDaO5atTzHgJruI23V8nBlAhkLuI81Z53nSRdAe/4R1A6vGOZ/RfCLP9idF4tfQnoAsM5A==} - engines: {node: '>=10.0.0'} - peerDependencies: - ibm_db: '*' - mariadb: '*' - mysql2: '*' - pg: '*' - pg-hstore: '*' - snowflake-sdk: '*' - sqlite3: '*' - tedious: '*' - peerDependenciesMeta: - ibm_db: - optional: true - mariadb: - optional: true - mysql2: - optional: true - pg: - optional: true - pg-hstore: - optional: true - snowflake-sdk: - optional: true - sqlite3: - optional: true - tedious: - optional: true - dependencies: - '@types/debug': 4.1.7 - '@types/validator': 13.7.13 - debug: 4.4.3 - dottie: 2.0.3 - inflection: 1.13.4 - lodash: 4.17.21 - moment: 2.29.4 - moment-timezone: 0.5.41 - pg-connection-string: 2.5.0 - retry-as-promised: 5.0.0 - semver: 7.8.5 - sequelize-pool: 7.1.0 - toposort-class: 1.0.1 - uuid: 8.3.2 - validator: 13.9.0 - wkx: 0.5.0 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /sequelize@6.29.2: resolution: {integrity: sha512-CxtPKhs8R/vDgxvxqDlDsIYyexuOfLOHnud34/YnEwu206wTOCC8+FG/1vwvAqobtaj7Mqa+onn28eqatv+nGg==} @@ -17364,57 +11746,25 @@ packages: tedious: optional: true dependencies: - '@types/debug': 4.1.7 - '@types/validator': 13.7.13 - debug: 4.3.4 - dottie: 2.0.3 + '@types/debug': 4.1.13 + '@types/validator': 13.15.10 + debug: 4.4.3 + dottie: 2.0.7 inflection: 1.13.4 - lodash: 4.17.21 - moment: 2.29.4 - moment-timezone: 0.5.41 - pg-connection-string: 2.5.0 - retry-as-promised: 7.0.4 - semver: 7.3.8 + lodash: 4.18.1 + moment: 2.30.1 + moment-timezone: 0.5.48 + pg-connection-string: 2.14.0 + retry-as-promised: 7.1.1 + semver: 7.8.5 sequelize-pool: 7.1.0 toposort-class: 1.0.1 uuid: 8.3.2 - validator: 13.9.0 + validator: 13.15.35 wkx: 0.5.0 transitivePeerDependencies: - supports-color - - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - dependencies: - randombytes: 2.1.0 - dev: false - - /serve-handler@6.1.7: - resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} - dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.5 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 - dev: false - - /serve-index@1.9.2: - resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} - engines: {node: '>= 0.8.0'} - dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.8.1 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color - dev: false + dev: true /serve-static@1.16.3: resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} @@ -17426,46 +11776,63 @@ packages: send: 0.19.2 transitivePeerDependencies: - supports-color + dev: true /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: false + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + dev: true - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true - /shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} + /set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} dependencies: - kind-of: 6.0.3 + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + dev: true - /shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true /shell-exec@1.0.2: resolution: {integrity: sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==} dev: true - /shell-quote@1.8.4: - resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} - engines: {node: '>= 0.4'} - dev: false - /shelljs@0.8.5: resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} @@ -17474,14 +11841,7 @@ packages: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - - /shiki@0.10.1: - resolution: {integrity: sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==} - dependencies: - jsonc-parser: 3.3.1 - vscode-oniguruma: 1.7.0 - vscode-textmate: 5.2.0 - dev: false + dev: true /side-channel-list@1.0.1: resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} @@ -17489,6 +11849,7 @@ packages: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 + dev: true /side-channel-map@1.0.1: resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} @@ -17498,6 +11859,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.3.0 object-inspect: 1.13.4 + dev: true /side-channel-weakmap@1.0.2: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} @@ -17508,13 +11870,6 @@ packages: get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-map: 1.0.1 - - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 dev: true /side-channel@1.1.1: @@ -17526,46 +11881,26 @@ packages: side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} dev: true - /sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - dependencies: - '@polka/url': 1.0.0-next.29 - mrmime: 2.0.1 - totalist: 3.0.1 - dev: false - - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false - - /sitemap@7.1.3: - resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - hasBin: true - dependencies: - '@types/node': 17.0.45 - '@types/sax': 1.2.7 - arg: 5.0.2 - sax: 1.6.0 - dev: false - /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + dev: true /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} + dev: true /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} @@ -17577,38 +11912,25 @@ packages: engines: {node: '>= 18'} dev: true - /sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.5 - dev: false - /socks-proxy-agent@5.0.1: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.7.1 + debug: 4.4.3 + socks: 2.8.9 transitivePeerDependencies: - supports-color dev: true - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + /socks@2.8.9: + resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} dependencies: - ip: 2.0.0 + ip-address: 10.2.0 smart-buffer: 4.2.0 dev: true - /sort-css-media-queries@2.1.0: - resolution: {integrity: sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==} - engines: {node: '>= 6.3.0'} - dev: false - /sort-keys-length@1.0.1: resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} engines: {node: '>=0.10.0'} @@ -17623,10 +11945,6 @@ packages: is-plain-obj: 1.1.0 dev: true - /source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -17634,89 +11952,54 @@ packages: source-map: 0.6.1 dev: true - /source-map-support@0.5.19: - resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + /source-map-support@0.5.19: + resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: false + dev: true /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + dev: true /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: true - /space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - dev: false + /source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + dev: true /spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.12 + spdx-license-ids: 3.0.23 dev: true - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} dev: true /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.12 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.23 dev: true - /spdx-license-ids@3.0.12: - resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} + /spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} dev: true - /spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - dependencies: - debug: 4.4.3 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 - transitivePeerDependencies: - - supports-color - dev: false - - /spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - dependencies: - debug: 4.4.3 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /split@1.0.1: @@ -17727,10 +12010,7 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - /stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} @@ -17739,37 +12019,23 @@ packages: escape-string-regexp: 2.0.0 dev: true - /state-toggle@1.0.3: - resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} - dev: false - - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: false - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - /statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} + dev: true - /std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - dev: false - - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + /stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.5 + es-errors: 1.3.0 + internal-slot: 1.1.0 dev: true /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + dev: true /streamx@2.28.0: resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} @@ -17805,6 +12071,7 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -17812,22 +12079,40 @@ packages: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 + strip-ansi: 7.2.0 + dev: true + + /string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 + dev: true - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + /string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 dev: true - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 dev: true /string_decoder@0.10.31: @@ -17838,20 +12123,13 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 + dev: true /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - - /stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - dev: false + dev: true /strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} @@ -17872,17 +12150,14 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 + dev: true - /strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + /strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} dependencies: - ansi-regex: 6.0.1 - - /strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - dev: false + ansi-regex: 6.2.2 + dev: true /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} @@ -17904,6 +12179,7 @@ packages: /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + dev: true /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} @@ -17920,47 +12196,35 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + dev: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + dev: true /strtok3@10.3.5: resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} dependencies: '@tokenizer/token': 0.3.0 + dev: true - /style-to-object@0.3.0: - resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} - dependencies: - inline-style-parser: 0.1.1 - dev: false - - /stylehacks@5.1.1(postcss@8.5.15): - resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-selector-parser: 6.1.4 - - /superagent@8.0.9: - resolution: {integrity: sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==} + /superagent@8.1.2: + resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} + deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net dependencies: - component-emitter: 1.3.0 + component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.4 + debug: 4.4.3 fast-safe-stringify: 2.1.1 - form-data: 4.0.0 - formidable: 2.1.2 + form-data: 4.0.6 + formidable: 2.1.5 methods: 1.1.2 mime: 2.6.0 - qs: 6.11.1 - semver: 7.3.8 + qs: 6.15.2 + semver: 7.8.5 transitivePeerDependencies: - supports-color dev: true @@ -17968,9 +12232,10 @@ packages: /supertest@6.3.3: resolution: {integrity: sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==} engines: {node: '>=6.4.0'} + deprecated: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net dependencies: methods: 1.1.2 - superagent: 8.0.9 + superagent: 8.1.2 transitivePeerDependencies: - supports-color dev: true @@ -17980,39 +12245,26 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 + dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - - /svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - dev: false - - /svgo@2.8.2: - resolution: {integrity: sha512-TyzE4NVGLUFy+H/Uy4N6c3G0HEeprsVfge6Lmq+0FdQQ/zqoVYB62IsBZORsiL+o96s6ff/V6/3UQo/C0cgCAA==} - engines: {node: '>=10.13.0'} - hasBin: true - dependencies: - commander: 7.2.0 - css-select: 4.3.0 - css-tree: 1.1.3 - csso: 4.2.0 - picocolors: 1.1.1 - sax: 1.6.0 - stable: 0.1.8 + dev: true /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -18025,15 +12277,6 @@ packages: '@pkgr/core': 0.3.6 dev: true - /tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} - dev: false - - /tapable@2.3.3: - resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} - engines: {node: '>=6'} - /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -18084,77 +12327,13 @@ packages: rimraf: 2.6.3 dev: true - /terser-webpack-plugin@5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2): - resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@minify-html/node': '*' - '@swc/core': '*' - '@swc/css': '*' - '@swc/html': '*' - clean-css: '*' - cssnano: '*' - csso: '*' - esbuild: '*' - html-minifier-terser: '*' - lightningcss: '*' - postcss: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@minify-html/node': - optional: true - '@swc/core': - optional: true - '@swc/css': - optional: true - '@swc/html': - optional: true - clean-css: - optional: true - cssnano: - optional: true - csso: - optional: true - esbuild: - optional: true - html-minifier-terser: - optional: true - lightningcss: - optional: true - postcss: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - clean-css: 5.3.3 - cssnano: 5.1.15(postcss@8.5.15) - html-minifier-terser: 6.1.0 - jest-worker: 27.5.1 - postcss: 8.5.15 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - - /terser@5.48.0: - resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.17.0 - commander: 2.20.3 - source-map-support: 0.5.21 - /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} dependencies: - '@istanbuljs/schema': 0.1.3 + '@istanbuljs/schema': 0.1.6 glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 3.1.5 dev: true /text-decoder@1.2.7: @@ -18172,6 +12351,7 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -18183,25 +12363,13 @@ packages: /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - dev: false - - /tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - dev: false - - /tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - dev: false - /tinyexec@1.2.4: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} @@ -18242,20 +12410,17 @@ packages: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true - /to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - dev: false - /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + dev: true /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + dev: true /token-types@6.1.2: resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} @@ -18264,14 +12429,11 @@ packages: '@borewit/text-codec': 0.2.2 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 + dev: true /toposort-class@1.0.1: resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} - - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - dev: false + dev: true /tough-cookie@5.1.2: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} @@ -18282,6 +12444,7 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true /tr46@5.1.1: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} @@ -18300,19 +12463,6 @@ packages: engines: {node: '>=8'} dev: true - /trim-trailing-lines@1.1.4: - resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} - dev: false - - /trim@0.0.1: - resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} - deprecated: Use String.prototype.trim() instead - dev: false - - /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - dev: false - /ts-api-utils@1.4.3(typescript@5.4.5): resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -18373,39 +12523,6 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@4.9.5): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.19.130 - acorn: 8.8.2 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - optional: true - /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -18422,16 +12539,16 @@ packages: dependencies: '@cspotcode/source-map-support': 0.8.1 '@swc/core': 1.15.41(@swc/helpers@0.5.23) - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 + '@tsconfig/node16': 1.0.4 '@types/node': 18.19.130 - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.17.0 + acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 - diff: 4.0.2 + diff: 4.0.4 make-error: 1.3.6 typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 @@ -18504,21 +12621,6 @@ packages: - vue-tsc dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib@2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} - dev: false - - /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - dev: false - - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tslib@2.5.3: resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} @@ -18547,6 +12649,7 @@ packages: engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} @@ -18561,6 +12664,7 @@ packages: /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + dev: true /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -18585,10 +12689,6 @@ packages: /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - - /type-fest@3.6.1: - resolution: {integrity: sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==} - engines: {node: '>=14.16'} dev: true /type-fest@4.41.0: @@ -18602,65 +12702,68 @@ packages: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 + dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - is-typed-array: 1.1.10 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 dev: true - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + /typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} dependencies: - is-typedarray: 1.0.0 - - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + dev: true - /typedoc-plugin-markdown@3.11.14(typedoc@0.22.13): - resolution: {integrity: sha512-lh47OQvl0079nB18YL9wuTRRhMpjo300SZKfx/xpQY8qG+GINeSxTod95QBELeI0NP81sNtUbemRDrn5nyef4Q==} - peerDependencies: - typedoc: '>=0.22.0' + /typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} dependencies: - handlebars: 4.7.9 - typedoc: 0.22.13(typescript@4.5.5) - dev: false + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + dev: true - /typedoc@0.22.13(typescript@4.5.5): - resolution: {integrity: sha512-NHNI7Dr6JHa/I3+c62gdRNXBIyX7P33O9TafGLd07ur3MqzcKgwTvpg18EtvCLHJyfeSthAtCLpM7WkStUmDuQ==} - engines: {node: '>= 12.10.0'} - hasBin: true - peerDependencies: - typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x + /typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} + engines: {node: '>= 0.4'} dependencies: - glob: 7.2.3 - lunr: 2.3.9 - marked: 4.3.0 - minimatch: 5.1.9 - shiki: 0.10.1 - typescript: 4.5.5 - dev: false + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + dev: true - /typescript@4.5.5: - resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: false + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - requiresBuild: true + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - optional: true /typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true + dev: true /typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} @@ -18668,35 +12771,34 @@ packages: hasBin: true dev: true - /ua-parser-js@1.0.41: - resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} - hasBin: true - dev: false - - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + /uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true + dev: true optional: true /uid@2.0.2: resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} engines: {node: '>=8'} dependencies: - '@lukeed/csprng': 1.0.1 + '@lukeed/csprng': 1.1.0 + dev: true /uint8array-extras@1.5.0: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} + dev: true - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + /unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 dev: true /unbzip2-stream@1.4.3: @@ -18715,87 +12817,38 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true - /undici@7.28.0: - resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} - engines: {node: '>=20.18.1'} - dev: false - - /unherit@1.1.3: - resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} - dependencies: - inherits: 2.0.4 - xtend: 4.0.2 - dev: false - - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + /unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} + dev: true /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.1.0 + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + dev: true /unicode-match-property-value-ecmascript@2.2.1: resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + dev: true - /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - /unified@8.4.2: - resolution: {integrity: sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==} - dependencies: - '@types/unist': 2.0.11 - bail: 1.0.5 - extend: 3.0.2 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - dev: false - - /unified@9.2.0: - resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==} - dependencies: - '@types/unist': 2.0.11 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - dev: false - - /unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} - dependencies: - '@types/unist': 2.0.11 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - dev: false - /union@0.5.0: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} dependencies: - qs: 6.14.2 + qs: 6.15.2 dev: true - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - dependencies: - crypto-random-string: 2.0.0 - dev: false - /unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} @@ -18803,57 +12856,8 @@ packages: crypto-random-string: 4.0.0 dev: true - /unist-builder@2.0.3: - resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} - dev: false - - /unist-util-generated@1.1.6: - resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} - dev: false - - /unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - dev: false - - /unist-util-position@3.1.0: - resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} - dev: false - - /unist-util-remove-position@2.0.1: - resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==} - dependencies: - unist-util-visit: 2.0.3 - dev: false - - /unist-util-remove@2.1.0: - resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==} - dependencies: - unist-util-is: 4.1.0 - dev: false - - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - dependencies: - '@types/unist': 2.0.11 - dev: false - - /unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - dev: false - - /unist-util-visit@2.0.3: - resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 - dev: false - - /universal-user-agent@6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + /universal-user-agent@6.0.1: + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} dev: true /universalify@0.1.2: @@ -18861,13 +12865,15 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + dev: true /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + dev: true /unrs-resolver@1.12.2: resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} @@ -18908,42 +12914,23 @@ packages: browserslist: 4.28.2 escalade: 3.2.0 picocolors: 1.1.1 - - /update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} - dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.8.5 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 - dev: false + dev: true /update-notifier@6.0.2: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} engines: {node: '>=14.16'} dependencies: - boxen: 7.0.2 + boxen: 7.1.1 chalk: 5.2.0 configstore: 6.0.0 has-yarn: 3.0.0 import-lazy: 4.0.0 is-ci: 3.0.1 is-installed-globally: 0.4.0 - is-npm: 6.0.0 + is-npm: 6.1.0 is-yarn-global: 0.4.1 latest-version: 7.0.0 - pupa: 3.1.0 + pupa: 3.3.0 semver: 7.3.8 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -18952,7 +12939,8 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 + dev: true /url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} @@ -18963,75 +12951,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.107.2): - resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - file-loader: '*' - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - dependencies: - file-loader: 6.2.0(webpack@5.107.2) - loader-utils: 2.0.4 - mime-types: 2.1.35 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - dependencies: - prepend-http: 2.0.0 - dev: false - - /use-composed-ref@1.4.0(react@17.0.2): - resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - react: 17.0.2 - dev: false - - /use-isomorphic-layout-effect@1.2.1(react@17.0.2): - resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - react: 17.0.2 - dev: false - - /use-latest@1.3.0(react@17.0.2): - resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - react: 17.0.2 - use-isomorphic-layout-effect: 1.2.1(react@17.0.2) - dev: false - - /use-sync-external-store@1.6.0(react@17.0.2): - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - dependencies: - react: 17.0.2 - dev: false - /user-home@2.0.0: resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} engines: {node: '>=0.10.0'} @@ -19041,34 +12960,30 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - dev: false - - /utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} + dev: true /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + dev: true /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true + dev: true /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + /v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.31 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 dev: true /validate-npm-package-license@3.0.4: @@ -19078,55 +12993,25 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /validator@13.9.0: - resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} + /validator@13.15.35: + resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==} engines: {node: '>= 0.10'} - - /value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - dev: false + dev: true /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + dev: true - /vfile-location@3.2.0: - resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} - dev: false - - /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position: 2.0.3 - dev: false - - /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} - dependencies: - '@types/unist': 2.0.11 - is-buffer: 2.0.5 - unist-util-stringify-position: 2.0.3 - vfile-message: 2.0.4 - dev: false - - /vm2@3.9.14: - resolution: {integrity: sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==} + /vm2@3.11.5: + resolution: {integrity: sha512-RSrkBiwrj6FRU+QdqNs6KG0XdlvJCjpQ4GXiqmMbrhmwfu5k/XIMpAer0L8f6iuf0uJ3a4T1xJN126Q8yf0VIA==} engines: {node: '>=6.0'} hasBin: true dependencies: - acorn: 8.8.2 - acorn-walk: 8.2.0 + acorn: 8.17.0 + acorn-walk: 8.3.5 dev: true - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - dev: false - - /vscode-textmate@5.2.0: - resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==} - dev: false - /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -19134,234 +13019,32 @@ packages: xml-name-validator: 5.0.0 dev: true - /wait-on@6.0.1: - resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} - engines: {node: '>=10.0.0'} - hasBin: true - dependencies: - axios: 0.25.0 - joi: 17.13.4 - lodash: 4.17.21 - minimist: 1.2.8 - rxjs: 7.8.1 - transitivePeerDependencies: - - debug - dev: false - /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: true - /watchpack@2.5.2: - resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - - /wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - dependencies: - minimalistic-assert: 1.0.1 - dev: false - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true - /web-namespaces@1.1.4: - resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} - dev: false - - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + /web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} dev: true /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} dev: true - /webpack-bundle-analyzer@4.10.2: - resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} - engines: {node: '>= 10.13.0'} - hasBin: true - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.17.0 - acorn-walk: 8.2.0 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - opener: 1.5.2 - picocolors: 1.1.1 - sirv: 2.0.4 - ws: 7.5.11 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /webpack-dev-middleware@5.3.4(webpack@5.107.2): - resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - colorette: 2.0.20 - memfs: 3.5.3 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.3.3 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /webpack-dev-server@4.15.2(webpack@5.107.2): - resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.4.1 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.1 - connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.22.1 - graceful-fs: 4.2.11 - html-entities: 2.6.0 - http-proxy-middleware: 2.0.10(@types/express@4.17.25) - ipaddr.js: 2.4.0 - launch-editor: 2.14.1 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 - schema-utils: 4.3.3 - selfsigned: 2.4.1 - serve-index: 1.9.2 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - webpack-dev-middleware: 5.3.4(webpack@5.107.2) - ws: 8.21.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - dev: false - - /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 - - /webpack-sources@3.5.0: - resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==} - engines: {node: '>=10.13.0'} - - /webpack@5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15): - resolution: {integrity: sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.17.0 - acorn-import-phases: 1.0.4(acorn@8.17.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.24.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15)(webpack@5.107.2) - watchpack: 2.5.2 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - /webpackbar@5.0.2(webpack@5.107.2): - resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} - engines: {node: '>=12'} - peerDependencies: - webpack: 3 || 4 || 5 - dependencies: - chalk: 4.1.2 - consola: 2.15.3 - pretty-time: 1.1.0 - std-env: 3.10.0 - webpack: 5.107.2(@swc/core@1.15.41)(clean-css@5.3.3)(cssnano@5.1.15)(html-minifier-terser@6.1.0)(postcss@8.5.15) - dev: false - - /websocket-driver@0.7.5: - resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} - engines: {node: '>=0.8.0'} - dependencies: - http-parser-js: 0.5.10 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - dev: false - - /websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - dev: false - /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} @@ -19376,10 +13059,12 @@ packages: deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation dependencies: iconv-lite: 0.6.3 + dev: true /whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} + dev: true /whatwg-url@14.2.0: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} @@ -19394,31 +13079,63 @@ packages: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + dev: true + + /which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + dev: true + + /which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.2.0 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.22 + dev: true - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 dev: true - /which-module@2.0.0: - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + /which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 dev: true /which@1.3.1: @@ -19426,6 +13143,7 @@ packages: hasBin: true dependencies: isexe: 2.0.0 + dev: true /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -19433,29 +13151,21 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - dependencies: - string-width: 4.2.3 - dev: false + dev: true /widest-line@4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} dependencies: string-width: 5.1.2 + dev: true /wildcard-match@5.1.2: resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==} dev: true - /wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - - /windows-release@5.1.0: - resolution: {integrity: sha512-CddHecz5dt0ngTjGPP1uYr9Tjl4qq5rEKNk8UGb8XCdngNXI+GRYvqelD055FdiUgqODZz3R/5oZWYldPtXQpA==} + /windows-release@5.1.1: + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 @@ -19465,18 +13175,16 @@ packages: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: '@types/node': 18.19.130 - - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} dev: true /word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + dev: true /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -19494,17 +13202,20 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 + dev: true /wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.0.1 + strip-ansi: 7.2.0 + dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} @@ -19513,6 +13224,7 @@ packages: is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 + dev: true /write-file-atomic@5.0.1: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} @@ -19522,19 +13234,6 @@ packages: signal-exit: 4.1.0 dev: true - /ws@7.5.11: - resolution: {integrity: sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /ws@8.21.0: resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} @@ -19546,24 +13245,13 @@ packages: optional: true utf-8-validate: optional: true - - /xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} - dev: false + dev: true /xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} dev: true - /xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - dependencies: - sax: 1.6.0 - dev: false - /xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -19580,6 +13268,7 @@ packages: /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + dev: true /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} @@ -19592,13 +13281,16 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + /yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} engines: {node: '>= 6'} + dev: true /yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} @@ -19636,17 +13328,17 @@ packages: require-main-filename: 2.0.0 set-blocking: 2.0.0 string-width: 4.2.3 - which-module: 2.0.0 + which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 dev: true - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + /yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -19695,7 +13387,4 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - - /zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} - dev: false + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 18ec407ef..4215786e4 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,10 @@ +# Scoped to the packages the benchmark consumes via workspace:* (+ the benchmark +# itself). The other libs and the test/docs projects resolve @automapper/* via +# tsconfig paths for build/test, so they don't need to be workspace members — +# keeping this list small avoids pulling docusaurus's ancient deps (which created +# a fan-out of conflicting @nestjs / rxjs / reflect-metadata versions). packages: - - 'packages/*' + - 'packages/core' + - 'packages/classes' + - 'packages/pojos' + - 'packages/benchmark-core' From dec343812025021c0c954e2e95310e291c3d6955 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 05:48:47 -0400 Subject: [PATCH 12/73] =?UTF-8?q?chore(release):=209.0.0-alpha.0=20?= =?UTF-8?q?=E2=80=94=20versions,=20engines=20>=3D20,=20peer=20ranges?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - all published packages -> 9.0.0-alpha.0 - engines node >=16 -> >=20 (declared major-version floor bump) - inter-package peers 'latest' -> ^9.0.0-alpha.0 (prerelease-correct caret) 114 tests green; build + attw clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/classes/mapped-types/package.json | 6 +++--- packages/classes/package.json | 6 +++--- packages/classes/transformer-plugin/package.json | 6 +++--- packages/core/package.json | 4 ++-- packages/mikro/package.json | 6 +++--- packages/nestjs/package.json | 6 +++--- packages/pojos/package.json | 6 +++--- packages/sequelize/package.json | 6 +++--- pnpm-lock.yaml | 13 ++++--------- 9 files changed, 27 insertions(+), 32 deletions(-) diff --git a/packages/classes/mapped-types/package.json b/packages/classes/mapped-types/package.json index 33031d075..4840c6237 100644 --- a/packages/classes/mapped-types/package.json +++ b/packages/classes/mapped-types/package.json @@ -1,14 +1,14 @@ { "name": "@automapper/classes/mapped-types", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "sideEffects": false, "publishConfig": { "access": "public" }, "peerDependencies": { - "@automapper/core": "latest", - "@automapper/classes": "latest" + "@automapper/core": "^9.0.0-alpha.0", + "@automapper/classes": "^9.0.0-alpha.0" }, "repository": { "type": "git", diff --git a/packages/classes/package.json b/packages/classes/package.json index fc412e7a6..40fb9eda8 100644 --- a/packages/classes/package.json +++ b/packages/classes/package.json @@ -1,9 +1,9 @@ { "name": "@automapper/classes", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "peerDependencies": { - "@automapper/core": "latest", + "@automapper/core": "^9.0.0-alpha.0", "reflect-metadata": "^0.2.0" }, "exports": { @@ -13,7 +13,7 @@ }, "sideEffects": false, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" }, "publishConfig": { "access": "public" diff --git a/packages/classes/transformer-plugin/package.json b/packages/classes/transformer-plugin/package.json index 934580192..7e07eb764 100644 --- a/packages/classes/transformer-plugin/package.json +++ b/packages/classes/transformer-plugin/package.json @@ -1,14 +1,14 @@ { "name": "@automapper/classes/transformer-plugin", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "sideEffects": false, "publishConfig": { "access": "public" }, "peerDependencies": { - "@automapper/core": "latest", - "@automapper/classes": "latest" + "@automapper/core": "^9.0.0-alpha.0", + "@automapper/classes": "^9.0.0-alpha.0" }, "repository": { "type": "git", diff --git a/packages/core/package.json b/packages/core/package.json index c51b592a2..593361c1f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,13 +1,13 @@ { "name": "@automapper/core", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "sideEffects": false, "exports": { ".": "./src/index.ts" }, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" }, "publishConfig": { "access": "public" diff --git a/packages/mikro/package.json b/packages/mikro/package.json index 28b7d6b09..a5de9de2a 100644 --- a/packages/mikro/package.json +++ b/packages/mikro/package.json @@ -1,15 +1,15 @@ { "name": "@automapper/mikro", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "peerDependencies": { - "@automapper/classes": "latest", + "@automapper/classes": "^9.0.0-alpha.0", "@mikro-orm/core": "^5.0.0", "reflect-metadata": "^0.2.0" }, "sideEffects": false, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" }, "publishConfig": { "access": "public" diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 4789780c1..86e5975a8 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -1,15 +1,15 @@ { "name": "@automapper/nestjs", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "peerDependencies": { - "@automapper/core": "latest", + "@automapper/core": "^9.0.0-alpha.0", "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0", "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0" }, "sideEffects": false, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" }, "publishConfig": { "access": "public" diff --git a/packages/pojos/package.json b/packages/pojos/package.json index 60e9cd3e9..0cda6df45 100644 --- a/packages/pojos/package.json +++ b/packages/pojos/package.json @@ -1,19 +1,19 @@ { "name": "@automapper/pojos", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "sideEffects": false, "exports": { ".": "./src/index.ts" }, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" }, "publishConfig": { "access": "public" }, "peerDependencies": { - "@automapper/core": "latest" + "@automapper/core": "^9.0.0-alpha.0" }, "repository": { "type": "git", diff --git a/packages/sequelize/package.json b/packages/sequelize/package.json index c59476164..b48b3f98a 100644 --- a/packages/sequelize/package.json +++ b/packages/sequelize/package.json @@ -1,15 +1,15 @@ { "name": "@automapper/sequelize", - "version": "0.0.0", + "version": "9.0.0-alpha.0", "type": "module", "peerDependencies": { - "@automapper/classes": "latest", + "@automapper/classes": "^9.0.0-alpha.0", "sequelize": "^6.0.0", "reflect-metadata": "^0.2.0" }, "sideEffects": false, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0cb494c2f..ad58f8570 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -183,8 +183,8 @@ importers: packages/classes: dependencies: '@automapper/core': - specifier: latest - version: 8.8.1 + specifier: ^9.0.0-alpha.0 + version: link:../core reflect-metadata: specifier: 0.2.2 version: 0.2.2 @@ -194,8 +194,8 @@ importers: packages/pojos: dependencies: '@automapper/core': - specifier: latest - version: 8.8.1 + specifier: ^9.0.0-alpha.0 + version: link:../core packages: @@ -239,11 +239,6 @@ packages: lru-cache: 10.4.3 dev: true - /@automapper/core@8.8.1: - resolution: {integrity: sha512-VIRULNAImqaTojp8zqhVGVimjxjriawqZWlemooWh5B5tX2XlgA6icPrQBQh+M9wY8IVQipBTOcr338N9lf8RA==} - engines: {node: '>=16.0.0'} - dev: false - /@babel/code-frame@7.29.7: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} From 08e95fe8fab36ded19ff1ed8b6b4ee72c113d7c6 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 05:51:16 -0400 Subject: [PATCH 13/73] =?UTF-8?q?chore(tsconfig):=20modernize=20base=20?= =?UTF-8?q?=E2=80=94=20es2022=20target/lib,=20bundler=20resolution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - target/lib es2020 -> es2022 - moduleResolution node -> bundler (fits the tsdown build; ts-jest tolerates it) note: verbatimModuleSyntax / isolatedModules deferred — both conflict with the pervasive const-enum usage (and emitDecoratorMetadata), needing a const-enum -> enum conversion first (post-alpha). 114 tests green; build + attw clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- tsconfig.base.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tsconfig.base.json b/tsconfig.base.json index 4b7f3c038..c1b2c83a1 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -4,13 +4,13 @@ "rootDir": ".", "sourceMap": true, "declaration": false, - "moduleResolution": "node", + "moduleResolution": "bundler", "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, - "target": "es2020", + "target": "es2022", "module": "esnext", - "lib": ["es2020", "dom"], + "lib": ["es2022", "dom"], "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", From 4c3564d9b9cf0fc4b21693bbddf1f677e2eda7b2 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 05:58:52 -0400 Subject: [PATCH 14/73] chore(deps): typescript 5.4 -> 5.9 (latest 5.x) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TS 6.0 is blocked by ts-jest@29 (peer typescript <6) — it breaks the ts-jest unit suites. Staying on the latest 5.x that the test toolchain supports. note: TS 6 is unblocked by migrating Jest -> Vitest (goal #5), but Vitest needs an swc transform for the classes emitDecoratorMetadata specs — a focused follow-up. Flagged for post-alpha. 114 tests green; build + attw clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- package.json | 2 +- pnpm-lock.yaml | 196 ++++++++++++++++++++++++------------------------- 2 files changed, 96 insertions(+), 102 deletions(-) diff --git a/package.json b/package.json index f6fc82a76..a08ed72f3 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "ts-jest": "29.4.11", "ts-node": "10.9.1", "tsdown": "^0.22.3", - "typescript": "5.4.5" + "typescript": "~5.9.0" }, "config": { "commitizen": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad58f8570..1f9d2a4f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,7 @@ importers: version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) '@nestjs/schematics': specifier: 11.1.0 - version: 11.1.0(prettier@2.8.4)(typescript@5.4.5) + version: 11.1.0(prettier@2.8.4)(typescript@5.9.3) '@nestjs/testing': specifier: 10.4.22 version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) @@ -45,16 +45,16 @@ importers: version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) '@nx/eslint-plugin': specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.4.5) + version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.9.3) '@nx/jest': specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + version: 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': specifier: 22.7.5 version: 22.7.5(@swc/core@1.15.41)(nx@22.7.5) '@nx/nest': specifier: 22.7.5 - version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5) + version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3) '@nx/web': specifier: 22.7.5 version: 22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) @@ -87,10 +87,10 @@ importers: version: 2.0.12 '@typescript-eslint/eslint-plugin': specifier: 7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.9.3) '@typescript-eslint/parser': specifier: 7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.4.5) + version: 7.18.0(eslint@8.57.1)(typescript@5.9.3) all-contributors-cli: specifier: 6.24.0 version: 6.24.0 @@ -99,7 +99,7 @@ importers: version: 0.5.2 commitizen: specifier: 4.3.0 - version: 4.3.0(@types/node@18.19.130)(typescript@5.4.5) + version: 4.3.0(@types/node@18.19.130)(typescript@5.9.3) cz-customizable: specifier: 7.0.0 version: 7.0.0 @@ -147,16 +147,16 @@ importers: version: 6.3.3 ts-jest: specifier: 29.4.11 - version: 29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.4.5) + version: 29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.9.3) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) + version: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3) tsdown: specifier: ^0.22.3 - version: 0.22.3(typescript@5.4.5) + version: 0.22.3(typescript@5.9.3) typescript: - specifier: 5.4.5 - version: 5.4.5 + specifier: ~5.9.0 + version: 5.9.3 packages/benchmark-core: dependencies: @@ -1597,7 +1597,7 @@ packages: dev: true optional: true - /@commitlint/load@21.0.2(@types/node@18.19.130)(typescript@5.4.5): + /@commitlint/load@21.0.2(@types/node@18.19.130)(typescript@5.9.3): resolution: {integrity: sha512-lwUE70hN0/qE/ZRROhbaX65ly/FF12DrqfReLCESo37M0OQCFAf2jRS+2tSCSORq+bm4Kdju7qNDj46uc1QzTA==} engines: {node: '>=22.12.0'} requiresBuild: true @@ -1606,8 +1606,8 @@ packages: '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.0.1 '@commitlint/types': 21.0.1 - cosmiconfig: 9.0.2(typescript@5.4.5) - cosmiconfig-typescript-loader: 6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.4.5) + cosmiconfig: 9.0.2(typescript@5.9.3) + cosmiconfig-typescript-loader: 6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.9.3) es-toolkit: 1.47.1 is-plain-obj: 4.1.0 picocolors: 1.1.1 @@ -2919,7 +2919,7 @@ packages: - supports-color dev: true - /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@5.4.5): + /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@5.9.3): resolution: {integrity: sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==} peerDependencies: prettier: ^3.0.0 @@ -2934,7 +2934,7 @@ packages: jsonc-parser: 3.3.1 pluralize: 8.0.0 prettier: 2.8.4 - typescript: 5.4.5 + typescript: 5.9.3 transitivePeerDependencies: - chokidar dev: true @@ -3021,7 +3021,7 @@ packages: - nx dev: true - /@nx/eslint-plugin@22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.4.5): + /@nx/eslint-plugin@22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.9.3): resolution: {integrity: sha512-C9mLUAZjcAKvkAifLNxNBWzvX9RFc/fg+GbO0d50596Lw3Yoz5tRCm4mgpUbVI3mkMIQumjoe8hu9bFx85bXnw==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 @@ -3032,10 +3032,10 @@ packages: dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@phenomnomnominal/tsquery': 6.2.0(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/type-utils': 8.61.1(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.4.5) + '@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.61.1(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.9.3) chalk: 4.1.2 confusing-browser-globals: 1.0.11 eslint-config-prettier: 10.1.8(eslint@8.57.1) @@ -3068,7 +3068,7 @@ packages: optional: true dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) eslint: 8.57.1 semver: 7.8.5 @@ -3084,14 +3084,14 @@ packages: - verdaccio dev: true - /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5): + /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): resolution: {integrity: sha512-+WlVdtDlVM1dyJKQg/gKiMMs6B4cR8Qh3NT9J2WFPbKdD89DTR771j+WZE572MLijJmqzOE7uNH189kV1qEj0A==} dependencies: '@jest/reporters': 30.4.1 '@jest/test-result': 30.4.1 '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@phenomnomnominal/tsquery': 6.2.0(typescript@5.4.5) + '@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3) identity-obj-proxy: 3.0.0 jest-config: 30.4.2(@types/node@18.19.130)(ts-node@10.9.1) jest-resolve: 30.4.1 @@ -3161,14 +3161,14 @@ packages: - supports-color dev: true - /@nx/nest@22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.4.5): + /@nx/nest@22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3): resolution: {integrity: sha512-UhCLlH3UjankgIFcQi6ZYEgAKSfKQlk6g9jJJpN+yyPDvoQYDPOr0iPicO+dUJvX+xDOxI/jS8easNuZ64fVPA==} dependencies: - '@nestjs/schematics': 11.1.0(prettier@2.8.4)(typescript@5.4.5) + '@nestjs/schematics': 11.1.0(prettier@2.8.4)(typescript@5.9.3) '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' @@ -3191,13 +3191,13 @@ packages: - verdaccio dev: true - /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5): + /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): resolution: {integrity: sha512-BJckjbyOgClqD6h2mNDhjftSRsvxbuayw0vKpT9sbd1ivAVhUCqNpe/iVP/VEdTsaK3s26hacfifD8EH3fPNWQ==} dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/docker': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) kill-port: 1.6.1 tcp-port-used: 1.0.3 @@ -3325,7 +3325,7 @@ packages: dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.4.5) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) detect-port: 2.1.0 http-server: 14.1.1 @@ -3493,14 +3493,14 @@ packages: '@noble/hashes': 1.8.0 dev: true - /@phenomnomnominal/tsquery@6.2.0(typescript@5.4.5): + /@phenomnomnominal/tsquery@6.2.0(typescript@5.9.3): resolution: {integrity: sha512-Vo9nkhfZxDB/sBiqIY3pjDC4mOSyure+AFlEW5hcy/tRE82MqCXjRN4InnVNMldinRt0dLYqg4HAU2XPq5e1LA==} peerDependencies: typescript: '>3.0.0' dependencies: '@types/esquery': 1.5.4 esquery: 1.7.0 - typescript: 5.4.5 + typescript: 5.9.3 dev: true /@pkgjs/parseargs@0.11.0: @@ -4148,7 +4148,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4160,22 +4160,22 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 7.18.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.4.3(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5): + /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4187,25 +4187,25 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.3 eslint: 8.57.1 - typescript: 5.4.5 + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/project-service@8.61.1(typescript@5.4.5): + /@typescript-eslint/project-service@8.61.1(typescript@5.9.3): resolution: {integrity: sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' dependencies: - '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.4.5) + '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.9.3) '@typescript-eslint/types': 8.61.1 debug: 4.4.3 - typescript: 5.4.5 + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true @@ -4226,16 +4226,16 @@ packages: '@typescript-eslint/visitor-keys': 8.61.1 dev: true - /@typescript-eslint/tsconfig-utils@8.61.1(typescript@5.4.5): + /@typescript-eslint/tsconfig-utils@8.61.1(typescript@5.9.3): resolution: {integrity: sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' dependencies: - typescript: 5.4.5 + typescript: 5.9.3 dev: true - /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4245,17 +4245,17 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) debug: 4.4.3 eslint: 8.57.1 - ts-api-utils: 1.4.3(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.4.3(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@8.61.1(eslint@8.57.1)(typescript@5.4.5): + /@typescript-eslint/type-utils@8.61.1(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: @@ -4263,12 +4263,12 @@ packages: typescript: '>=4.8.4 <6.1.0' dependencies: '@typescript-eslint/types': 8.61.1 - '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.4.5) - '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.9.3) debug: 4.4.3 eslint: 8.57.1 - ts-api-utils: 2.5.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true @@ -4283,7 +4283,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@typescript-eslint/typescript-estree@7.18.0(typescript@5.4.5): + /@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.3): resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4299,33 +4299,33 @@ packages: is-glob: 4.0.3 minimatch: 9.0.9 semver: 7.8.5 - ts-api-utils: 1.4.3(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.4.3(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@8.61.1(typescript@5.4.5): + /@typescript-eslint/typescript-estree@8.61.1(typescript@5.9.3): resolution: {integrity: sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' dependencies: - '@typescript-eslint/project-service': 8.61.1(typescript@5.4.5) - '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.4.5) + '@typescript-eslint/project-service': 8.61.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.9.3) '@typescript-eslint/types': 8.61.1 '@typescript-eslint/visitor-keys': 8.61.1 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4334,14 +4334,14 @@ packages: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@8.61.1(eslint@8.57.1)(typescript@5.4.5): + /@typescript-eslint/utils@8.61.1(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: @@ -4351,9 +4351,9 @@ packages: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 8.61.1 '@typescript-eslint/types': 8.61.1 - '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.9.3) eslint: 8.57.1 - typescript: 5.4.5 + typescript: 5.9.3 transitivePeerDependencies: - supports-color dev: true @@ -5951,13 +5951,13 @@ packages: esprima: 4.0.1 dev: true - /commitizen@4.3.0(@types/node@18.19.130)(typescript@5.4.5): + /commitizen@4.3.0(@types/node@18.19.130)(typescript@5.9.3): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@18.19.130)(typescript@5.4.5) + cz-conventional-changelog: 3.3.0(@types/node@18.19.130)(typescript@5.9.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -6254,7 +6254,7 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /cosmiconfig-typescript-loader@6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.4.5): + /cosmiconfig-typescript-loader@6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.9.3): resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} requiresBuild: true @@ -6264,9 +6264,9 @@ packages: typescript: '>=5' dependencies: '@types/node': 18.19.130 - cosmiconfig: 9.0.2(typescript@5.4.5) + cosmiconfig: 9.0.2(typescript@5.9.3) jiti: 2.6.1 - typescript: 5.4.5 + typescript: 5.9.3 dev: true optional: true @@ -6291,7 +6291,7 @@ packages: path-type: 4.0.0 dev: true - /cosmiconfig@9.0.2(typescript@5.4.5): + /cosmiconfig@9.0.2(typescript@5.9.3): resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} engines: {node: '>=14'} requiresBuild: true @@ -6305,7 +6305,7 @@ packages: import-fresh: 3.3.1 js-yaml: 4.2.0 parse-json: 5.2.0 - typescript: 5.4.5 + typescript: 5.9.3 dev: true optional: true @@ -6337,18 +6337,18 @@ packages: rrweb-cssom: 0.8.0 dev: true - /cz-conventional-changelog@3.3.0(@types/node@18.19.130)(typescript@5.4.5): + /cz-conventional-changelog@3.3.0(@types/node@18.19.130)(typescript@5.9.3): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@18.19.130)(typescript@5.4.5) + commitizen: 4.3.0(@types/node@18.19.130)(typescript@5.9.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 21.0.2(@types/node@18.19.130)(typescript@5.4.5) + '@commitlint/load': 21.0.2(@types/node@18.19.130)(typescript@5.9.3) transitivePeerDependencies: - '@types/node' - typescript @@ -9042,7 +9042,7 @@ packages: pretty-format: 30.0.5 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -9087,7 +9087,7 @@ packages: pretty-format: 30.4.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -11496,7 +11496,7 @@ packages: glob: 7.2.3 dev: true - /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@5.4.5): + /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@5.9.3): resolution: {integrity: sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==} engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: @@ -11524,7 +11524,7 @@ packages: get-tsconfig: 5.0.0-beta.5 obug: 2.1.3 rolldown: 1.1.2 - typescript: 5.4.5 + typescript: 5.9.3 transitivePeerDependencies: - oxc-resolver dev: true @@ -12458,25 +12458,25 @@ packages: engines: {node: '>=8'} dev: true - /ts-api-utils@1.4.3(typescript@5.4.5): + /ts-api-utils@1.4.3(typescript@5.9.3): resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.5 + typescript: 5.9.3 dev: true - /ts-api-utils@2.5.0(typescript@5.4.5): + /ts-api-utils@2.5.0(typescript@5.9.3): resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' dependencies: - typescript: 5.4.5 + typescript: 5.9.3 dev: true - /ts-jest@29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.4.5): + /ts-jest@29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.9.3): resolution: {integrity: sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -12514,11 +12514,11 @@ packages: make-error: 1.3.6 semver: 7.8.5 type-fest: 4.41.0 - typescript: 5.4.5 + typescript: 5.9.3 yargs-parser: 21.1.1 dev: true - /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.4.5): + /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12545,7 +12545,7 @@ packages: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.4.5 + typescript: 5.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -12559,7 +12559,7 @@ packages: strip-bom: 3.0.0 dev: true - /tsdown@0.22.3(typescript@5.4.5): + /tsdown@0.22.3(typescript@5.9.3): resolution: {integrity: sha512-louqbfA8Qf//B9jTTL0FPtXTNpjCWv1VPkbcmQMph2pTpzs+LnB1tbe4tDDRVpo2BjF5SgUXaTZe45SxB8pWHg==} engines: {node: ^22.18.0 || >=24.11.0} hasBin: true @@ -12602,12 +12602,12 @@ packages: obug: 2.1.3 picomatch: 4.0.4 rolldown: 1.1.2 - rolldown-plugin-dts: 0.26.0(rolldown@1.1.2)(typescript@5.4.5) + rolldown-plugin-dts: 0.26.0(rolldown@1.1.2)(typescript@5.9.3) semver: 7.8.5 tinyexec: 1.2.4 tinyglobby: 0.2.17 tree-kill: 1.2.2 - typescript: 5.4.5 + typescript: 5.9.3 unconfig-core: 7.5.0 transitivePeerDependencies: - '@ts-macro/tsc' @@ -12754,12 +12754,6 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - /typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} From ed9839efb56f8bdda142316e1d12cdadef5de821 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 06:01:31 -0400 Subject: [PATCH 15/73] =?UTF-8?q?fix(core):=20green=20lint=20=E2=80=94=20n?= =?UTF-8?q?o-prototype-builtins=20+=20unused=20imports?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - set.ts assignEmpty: Object.prototype.hasOwnProperty.call (no-prototype-builtins) - for-member.ts: drop 7 unused imports (createMap, getMetadataMap, MetadataClassId, NestedMappingPair, getFlatteningPaths, getPath, isPrimitiveArrayEqual) lint green for 9 projects; core tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/mapping-configurations/for-member.ts | 6 +----- packages/core/src/lib/utils/set.ts | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/core/src/lib/mapping-configurations/for-member.ts b/packages/core/src/lib/mapping-configurations/for-member.ts index 3d273c804..882e7464c 100644 --- a/packages/core/src/lib/mapping-configurations/for-member.ts +++ b/packages/core/src/lib/mapping-configurations/for-member.ts @@ -1,6 +1,4 @@ import { createMappingUtil } from '../mappings/create-initial-mapping'; -import { createMap } from '../mappings/create-map'; -import { getMetadataMap } from '../symbols'; import type { Dictionary, MappingConfiguration, @@ -10,10 +8,8 @@ import type { Selector, SelectorReturn, } from '../types'; -import { MappingClassId, MetadataClassId, NestedMappingPair } from '../types'; +import { MappingClassId } from '../types'; import { getMemberPath } from '../utils/get-member-path'; -import { getFlatteningPaths, getPath } from '../utils/get-path'; -import { isPrimitiveArrayEqual } from '../utils/is-primitive-array-equal'; export function forMember< TSource extends Dictionary, diff --git a/packages/core/src/lib/utils/set.ts b/packages/core/src/lib/utils/set.ts index bbd36c717..98bcb3497 100644 --- a/packages/core/src/lib/utils/set.ts +++ b/packages/core/src/lib/utils/set.ts @@ -68,7 +68,7 @@ function decomposePath(path: string[]): { } function assignEmpty(obj: Record, base: string) { - if (!obj.hasOwnProperty(base)) { + if (!Object.prototype.hasOwnProperty.call(obj, base)) { obj[base] = {}; } } From b2fd6c11879106fecc7146d613633f9ec702fbf2 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 06:06:24 -0400 Subject: [PATCH 16/73] ci: modern workflow + package-contract gate (goals #4, #7) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - replace retired nrwl/ci@v0.8 reusable workflow with a self-contained CI: lint · build · test on a node 20/22 matrix, corepack pnpm, frozen install - add package-contract job: publint + attw on every built package (tools/scripts/check-packages.mjs, 'pnpm run check:packages') - add root 'lint' script - remove unit-test.yml (tested node 14) - docusaurus.yml: actions @v2 -> @v4, node 16 -> 20, corepack; docs install is standalone now (--ignore-workspace) since docs aren't a workspace member validated locally: lint (10 projects), build (6), check:packages all clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/ci.yml | 49 +++++++++++++++++++++++--------- .github/workflows/docusaurus.yml | 19 ++++++------- .github/workflows/unit-test.yml | 43 ---------------------------- package.json | 2 ++ tools/scripts/check-packages.mjs | 40 ++++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 68 deletions(-) delete mode 100644 .github/workflows/unit-test.yml create mode 100644 tools/scripts/check-packages.mjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 854f60f24..f8963f2a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,20 +2,41 @@ name: CI on: push: - branches: - - main + branches: [main] pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: - main: - name: Nx Cloud - Main Job - uses: nrwl/ci/.github/workflows/nx-cloud-main.yml@v0.8 - with: - parallel-commands-on-agents: | - pnpm exec nx affected --target=test --parallel=3 --ci --code-coverage - # pnpm exec nx affected --target=package --parallel=2 - agents: - name: Nx Cloud - Agents - uses: nrwl/ci/.github/workflows/nx-cloud-agents.yml@v0.8 - with: - number-of-agents: 3 + verify: + name: lint · build · test (node ${{ matrix.node }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node: ['20', '22'] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + - run: corepack enable + - run: pnpm install --frozen-lockfile + - run: pnpm run lint + - run: pnpm run package + - run: pnpm run test + + package-contract: + name: publint + attw + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '22' + - run: corepack enable + - run: pnpm install --frozen-lockfile + - run: pnpm run package + - run: pnpm run check:packages diff --git a/.github/workflows/docusaurus.yml b/.github/workflows/docusaurus.yml index 338885d6b..ae5fd4934 100644 --- a/.github/workflows/docusaurus.yml +++ b/.github/workflows/docusaurus.yml @@ -17,25 +17,22 @@ jobs: build-docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: persist-credentials: false fetch-depth: 0 # otherwise, you will failed to push refs to dest repo - - uses: pnpm/action-setup@v2.1.0 + - uses: actions/setup-node@v4 with: - version: latest - run_install: false + node-version: '20' - - uses: actions/setup-node@v2 - with: - node-version: '16' - cache: 'pnpm' + - run: corepack enable + # docs are not a workspace member (the workspace is scoped to the + # publishable libs), so install them standalone. - name: Install dependencies - run: | - pnpm install - pnpm --filter "./packages/documentations" install + working-directory: packages/documentations + run: pnpm install --ignore-workspace - name: Create local build artifacts run: | diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml deleted file mode 100644 index 4c4a5e83d..000000000 --- a/.github/workflows/unit-test.yml +++ /dev/null @@ -1,43 +0,0 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Unit Test -on: - # Allow triggering this workflow manually via GitHub CLI/web - workflow_dispatch: - - push: - branches: [main] - paths: - - '**.ts' - - '**.js' - - 'package.json' - - 'package-lock.json' - - 'yarn.lock' - - pull_request: - branches: [main] - paths: - - '**.ts' - - '**.js' - - 'package.json' - - 'package-lock.json' - - 'yarn.lock' - -jobs: - jest: - runs-on: ${{matrix.os}} - - strategy: - matrix: - node-version: [14.x] - os: [ubuntu-latest, macos-latest] - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: npm install - - run: npm run test diff --git a/package.json b/package.json index a08ed72f3..baa6e3fe5 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,9 @@ "release": "dotenv release-it --", "release:beta": "dotenv release-it -- major --preRelease=beta", "test": "nx run-many --all --target=test --parallel", + "lint": "nx run-many --target=lint --parallel", "package": "nx run-many --target=package", + "check:packages": "node tools/scripts/check-packages.mjs", "publish": "nx run-many --target=publish --all --parallel" }, "private": true, diff --git a/tools/scripts/check-packages.mjs b/tools/scripts/check-packages.mjs new file mode 100644 index 000000000..b9034536c --- /dev/null +++ b/tools/scripts/check-packages.mjs @@ -0,0 +1,40 @@ +// Validate every built package's publish contract: publint (packaging) + +// @arethetypeswrong/cli (types resolution across node10/node16-cjs/esm/bundler). +// Run after `pnpm run package`. Exits non-zero on any problem. +import { execFileSync } from 'node:child_process'; +import { existsSync } from 'node:fs'; +import { resolve, dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); +const PKGS = ['core', 'classes', 'pojos', 'nestjs', 'mikro', 'sequelize']; + +let failed = false; +for (const p of PKGS) { + const dir = resolve(ROOT, 'dist/packages', p); + if (!existsSync(dir)) { + console.error(`✗ ${p}: dist not found — run \`pnpm run package\` first`); + failed = true; + continue; + } + console.log(`\n──────── @automapper/${p} ────────`); + try { + execFileSync('npx', ['-y', 'publint@latest', dir], { cwd: ROOT, stdio: 'inherit' }); + } catch { + failed = true; + } + try { + execFileSync('npx', ['-y', '@arethetypeswrong/cli@latest', '--pack', dir], { + cwd: ROOT, + stdio: 'inherit', + }); + } catch { + failed = true; + } +} + +if (failed) { + console.error('\n✗ package contract check failed'); + process.exit(1); +} +console.log('\n✔ all packages pass publint + attw'); From a28d021dc9f857fe710d3466e263e3b80debebfa Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 06:12:31 -0400 Subject: [PATCH 17/73] feat(core): typed errors + circular-safe member error (goal #5) - add AutoMapperError base + MappingNotFoundError + MapMemberError (errors.ts, exported); consumers can now catch mapper errors selectively - get-mapping throws MappingNotFoundError (carries sourceName/destinationName) - map() member-error path throws MapMemberError and DROPS JSON.stringify( destination) from the message (it crashed on circular refs / flooded logs) - errorHandler still receives the message; existing toThrow tests unaffected 115 tests green (incl. new typed-errors spec); build + lint clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/index.ts | 1 + packages/core/src/lib/errors.ts | 40 ++++++++++++++++++++ packages/core/src/lib/mappings/map.ts | 21 ++++++---- packages/core/src/lib/utils/get-mapping.ts | 8 ++-- packages/integration-test/src/errors.spec.ts | 28 ++++++++++++++ 5 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 packages/core/src/lib/errors.ts create mode 100644 packages/integration-test/src/errors.spec.ts diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index cc3c3486d..ecc1566d3 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,5 +1,6 @@ export * from './lib/core'; export * from './lib/types'; +export * from './lib/errors'; export * from './lib/default-strategy-initializer-options'; export * from './lib/utils/recursion'; diff --git a/packages/core/src/lib/errors.ts b/packages/core/src/lib/errors.ts new file mode 100644 index 000000000..d4e4d2da7 --- /dev/null +++ b/packages/core/src/lib/errors.ts @@ -0,0 +1,40 @@ +/** + * Base class for all errors thrown by AutoMapper. Lets consumers catch + * mapper errors selectively: `catch (e) { if (e instanceof AutoMapperError) ... }`. + */ +export class AutoMapperError extends Error { + constructor(message: string) { + super(message); + this.name = 'AutoMapperError'; + // restore the prototype chain (transpile targets that down-level class + // extends otherwise break `instanceof`) + Object.setPrototypeOf(this, new.target.prototype); + } +} + +/** Thrown when `map()` cannot find a mapping for the given identifiers. */ +export class MappingNotFoundError extends AutoMapperError { + constructor( + public readonly sourceName: string, + public readonly destinationName: string + ) { + super(`Mapping is not found for ${sourceName} and ${destinationName}`); + this.name = 'MappingNotFoundError'; + } +} + +/** Thrown when mapping a single member fails; wraps the original error. */ +export class MapMemberError extends AutoMapperError { + constructor( + public readonly memberPath: string, + public readonly destinationName: string, + public readonly originalError: unknown + ) { + super( + `Error at "${memberPath}" on ${destinationName}\n` + + `---------------------------------------------------------------------\n` + + `Original error: ${originalError}` + ); + this.name = 'MapMemberError'; + } +} diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 48ed9e415..38e7f9a20 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -1,3 +1,4 @@ +import { MapMemberError } from '../errors'; import { getErrorHandler } from '../symbols'; import type { Constructor, @@ -189,15 +190,19 @@ export function map< try { return setMemberFn(destinationMemberPath, destination)(valFn()); } catch (originalError) { - const errorMessage = ` -Error at "${destinationMemberPath}" on ${ + const destinationName = (destinationIdentifier as Constructor)['prototype'] - ?.constructor?.name || destinationIdentifier.toString() - } (${JSON.stringify(destination)}) ---------------------------------------------------------------------- -Original error: ${originalError}`; - errorHandler.handle(errorMessage); - throw new Error(errorMessage); + ?.constructor?.name || + destinationIdentifier.toString(); + // note: do NOT JSON.stringify(destination) here — it throws on + // circular references and floods logs on large objects. + const error = new MapMemberError( + String(destinationMemberPath), + destinationName, + originalError + ); + errorHandler.handle(error.message); + throw error; } }; diff --git a/packages/core/src/lib/utils/get-mapping.ts b/packages/core/src/lib/utils/get-mapping.ts index 6e3f8cf49..b317fc5f7 100644 --- a/packages/core/src/lib/utils/get-mapping.ts +++ b/packages/core/src/lib/utils/get-mapping.ts @@ -1,3 +1,4 @@ +import { MappingNotFoundError } from '../errors'; import { getErrorHandler, getMappings } from '../symbols'; import type { Mapper, @@ -27,10 +28,9 @@ export function getMapping( typeof source === 'function' ? (source.name || String(source)) : String(source); const destinationName = typeof destination === 'function' ? (destination.name || String(destination)) : String(destination); - const errorHandler = getErrorHandler(mapper); - const errorMessage = `Mapping is not found for ${sourceName} and ${destinationName}`; - errorHandler.handle(errorMessage); - throw new Error(errorMessage); + const error = new MappingNotFoundError(sourceName, destinationName); + getErrorHandler(mapper).handle(error.message); + throw error; } return mapping as Mapping; diff --git a/packages/integration-test/src/errors.spec.ts b/packages/integration-test/src/errors.spec.ts new file mode 100644 index 000000000..a75c35e37 --- /dev/null +++ b/packages/integration-test/src/errors.spec.ts @@ -0,0 +1,28 @@ +import { + AutoMapperError, + createMapper, + MappingNotFoundError, +} from '@automapper/core'; +import { pojos } from '@automapper/pojos'; + +describe('typed errors', () => { + it('throws MappingNotFoundError (an AutoMapperError) when no mapping exists', () => { + const mapper = createMapper({ strategyInitializer: pojos() }); + + expect(() => mapper.map({}, 'Source', 'Destination')).toThrow( + MappingNotFoundError + ); + + try { + mapper.map({}, 'Source', 'Destination'); + throw new Error('expected map() to throw'); + } catch (e) { + expect(e).toBeInstanceOf(AutoMapperError); + expect(e).toBeInstanceOf(MappingNotFoundError); + expect((e as MappingNotFoundError).sourceName).toBe('Source'); + expect((e as MappingNotFoundError).destinationName).toBe( + 'Destination' + ); + } + }); +}); From 22d7ae7553e0334061a95a93d1a5fe8ea6f6e083 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 06:13:51 -0400 Subject: [PATCH 18/73] docs(core): fix misleading comments (goal #10) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - dispose(): replace the 'why can metadata not be clear?' TODO with the actual reason (strategy metadata caches would desync if metadataMap were cleared) - postMap calls: the 'seal destination' comments described sealing that never happens — corrected to 'returned as-is, intentionally not sealed' comment-only; no behavior change. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/core.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/core/src/lib/core.ts b/packages/core/src/lib/core.ts index 041d55f19..6f66f8054 100644 --- a/packages/core/src/lib/core.ts +++ b/packages/core/src/lib/core.ts @@ -206,8 +206,11 @@ Mapper {} is an empty Object as a Proxy. The following methods are available to if (p === 'dispose') { return () => { mappings?.clear(); - // TODO: why can metadata not be clear? - // metadata?.clear(); + // metadataMap is intentionally left intact: strategies + // cache which identifiers they've retrieved metadata for + // (e.g. classes' metadataTracker), so clearing it here + // without resetting that cache would leave re-created + // mappings with no metadata. metadataObjectMap?.clear(); recursiveDepth?.clear(); recursiveCount?.clear(); @@ -253,9 +256,8 @@ Mapper {} is an empty Object as a Proxy. The following methods are available to return strategy.postMap( sourceObject, - // seal destination so that consumers cannot add properties to it - // or change the property descriptors. but they can still modify it - // the ideal behavior is seal but the consumers might need to add/modify the object after map finishes + // returned as-is: intentionally NOT sealed, so + // consumers can add/modify the result after mapping destination, mapping ); @@ -351,9 +353,8 @@ Mapper {} is an empty Object as a Proxy. The following methods are available to destinationArray.push( strategy.postMap( sourceObject, - // seal destination so that consumers cannot add properties to it - // or change the property descriptors. but they can still modify it - // the ideal behavior is seal but the consumers might need to add/modify the object after map finishes + // returned as-is: intentionally NOT sealed, + // so consumers can add/modify after mapping destination, mapping ) as TDestination From 90d476c3b3c905fdbd7c9eeb268952acc51d553f Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 06:14:53 -0400 Subject: [PATCH 19/73] chore(release): publish to 'alpha' dist-tag npm publish defaults to the 'latest' tag; for the prerelease all publish targets use --tag alpha so 9.0.0-alpha.0 doesn't land on 'latest' for existing users. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/classes/project.json | 2 +- packages/core/project.json | 2 +- packages/mikro/project.json | 2 +- packages/nestjs/project.json | 2 +- packages/pojos/project.json | 2 +- packages/sequelize/project.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/classes/project.json b/packages/classes/project.json index e9e2c37fd..4b4a0b9b8 100644 --- a/packages/classes/project.json +++ b/packages/classes/project.json @@ -25,7 +25,7 @@ "publish": { "executor": "nx:run-commands", "options": { - "command": "npm publish", + "command": "npm publish --tag alpha", "cwd": "dist/packages/classes" } } diff --git a/packages/core/project.json b/packages/core/project.json index c5d20d238..7b8c83209 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -25,7 +25,7 @@ "publish": { "executor": "nx:run-commands", "options": { - "command": "npm publish", + "command": "npm publish --tag alpha", "cwd": "dist/packages/core" } } diff --git a/packages/mikro/project.json b/packages/mikro/project.json index 7dff6deb9..40a5c52d3 100644 --- a/packages/mikro/project.json +++ b/packages/mikro/project.json @@ -24,7 +24,7 @@ "publish": { "executor": "nx:run-commands", "options": { - "command": "npm publish", + "command": "npm publish --tag alpha", "cwd": "dist/packages/mikro" } } diff --git a/packages/nestjs/project.json b/packages/nestjs/project.json index 67b6e5e12..afc9013a3 100644 --- a/packages/nestjs/project.json +++ b/packages/nestjs/project.json @@ -24,7 +24,7 @@ "publish": { "executor": "nx:run-commands", "options": { - "command": "npm publish", + "command": "npm publish --tag alpha", "cwd": "dist/packages/nestjs" } } diff --git a/packages/pojos/project.json b/packages/pojos/project.json index 55d51b5a1..754edbe5f 100644 --- a/packages/pojos/project.json +++ b/packages/pojos/project.json @@ -24,7 +24,7 @@ "publish": { "executor": "nx:run-commands", "options": { - "command": "npm publish", + "command": "npm publish --tag alpha", "cwd": "dist/packages/pojos" } } diff --git a/packages/sequelize/project.json b/packages/sequelize/project.json index ca23688c6..e0a2d7951 100644 --- a/packages/sequelize/project.json +++ b/packages/sequelize/project.json @@ -24,7 +24,7 @@ "publish": { "executor": "nx:run-commands", "options": { - "command": "npm publish", + "command": "npm publish --tag alpha", "cwd": "dist/packages/sequelize" } } From 72edd197b2ea3ab3516bcad8742f91669b0dcae6 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 09:40:00 -0400 Subject: [PATCH 20/73] perf(core): cache assertUnmappedProperties writable-keys + Set lookup (code #4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per map() call (per element in mapArray), assertUnmappedProperties ran Object.keys + getOwnPropertyDescriptor over the destinationMetadata and an O(n^2) configuredKeys.some. The writable keys are fixed per metadata object — cache them in a WeakMap; use a Set for configuredKeys. Behavior-preserving. benchmark (M-series, node 22): mapArray x1000 ~3-5% faster (classes flat 1.75->1.67ms, classes nested 1.74->1.66ms); single map at noise. 10 projects green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../lib/utils/assert-unmapped-properties.ts | 60 +++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/packages/core/src/lib/utils/assert-unmapped-properties.ts b/packages/core/src/lib/utils/assert-unmapped-properties.ts index fb8472847..1224b3c33 100644 --- a/packages/core/src/lib/utils/assert-unmapped-properties.ts +++ b/packages/core/src/lib/utils/assert-unmapped-properties.ts @@ -5,6 +5,24 @@ import type { MetadataIdentifier, } from '../types'; +// The writable keys of a destinationMetadata are fixed per mapping, but +// assertUnmappedProperties runs on every map() (per element in mapArray). +// Cache the Object.keys + getOwnPropertyDescriptor work per metadata object. +const writableKeysCache = new WeakMap(); + +function getWritableKeys(destinationMetadata: object): string[] { + let keys = writableKeysCache.get(destinationMetadata); + if (keys === undefined) { + keys = Object.keys(destinationMetadata).filter( + (key) => + Object.getOwnPropertyDescriptor(destinationMetadata, key) + ?.writable === true + ); + writableKeysCache.set(destinationMetadata, keys); + } + return keys; +} + /** * Depends on implementation of strategy.createMapping */ @@ -18,34 +36,26 @@ export function assertUnmappedProperties< destinationIdentifier: MetadataIdentifier, errorHandler: ErrorHandler ) { - const unmappedKeys = Object.keys(destinationMetadata).reduce( - (result, key) => { - const isOnDestination = key in destinationObject; - const isAlreadyConfigured = configuredKeys.some( - (configuredKey) => configuredKey === key - ); - const isWritable = - Object.getOwnPropertyDescriptor(destinationMetadata, key) - ?.writable === true; - if ( - !isAlreadyConfigured && - !isOnDestination && - isWritable && - destinationObject[key as keyof typeof destinationObject] === - undefined - ) { - result.push(key); - } - return result; - }, - [] as string[] - ); + const writableKeys = getWritableKeys(destinationMetadata as object); + const configured = new Set(configuredKeys); - const sourceText = getTextFromIdentifier(sourceIdentifier); - const destinationText = getTextFromIdentifier(destinationIdentifier); + const unmappedKeys: string[] = []; + for (let i = 0, len = writableKeys.length; i < len; i++) { + const key = writableKeys[i]; + if ( + !configured.has(key) && + !(key in destinationObject) && + destinationObject[key as keyof typeof destinationObject] === + undefined + ) { + unmappedKeys.push(key); + } + } if (unmappedKeys.length) { - const parentInfo = `${sourceText} -> ${destinationText}`; + const parentInfo = `${getTextFromIdentifier( + sourceIdentifier + )} -> ${getTextFromIdentifier(destinationIdentifier)}`; errorHandler.handle(` Unmapped properties for ${parentInfo}: ------------------- From 2bfef380b5d4d07e433c78c06b333372a6d30a73 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 11:46:43 -0400 Subject: [PATCH 21/73] perf(core): memoize per-member identifier predicates (Kyle Phase B) hasSameIdentifier (map.ts) and shouldRunImplicitMap (map-member.ts) ran 4 isPrimitiveConstructor/isDateConstructor calls per member per mapped object, though the result is constant per identifier. Extracted isMappableIdentifier() with a Map memo. Behavior-preserving (same booleans, cached). benchmark vs prior commit: ~4-7% faster (pojos nested mapArray 1.72->1.60ms, classes flat map 1.78->1.71us). 10 projects green; lint clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/index.ts | 1 + packages/core/src/lib/mappings/map-member.ts | 12 ++++------- packages/core/src/lib/mappings/map.ts | 8 +++---- .../src/lib/utils/is-mappable-identifier.ts | 21 +++++++++++++++++++ 4 files changed, 29 insertions(+), 13 deletions(-) create mode 100644 packages/core/src/lib/utils/is-mappable-identifier.ts diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index ecc1566d3..2193c2964 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -7,6 +7,7 @@ export * from './lib/utils/recursion'; export * from './lib/utils/is-empty'; export * from './lib/utils/is-primitive-constructor'; export * from './lib/utils/is-date-constructor'; +export * from './lib/utils/is-mappable-identifier'; export * from './lib/utils/set'; export * from './lib/utils/logger'; diff --git a/packages/core/src/lib/mappings/map-member.ts b/packages/core/src/lib/mappings/map-member.ts index 4c692bf7a..2a3cbff4b 100644 --- a/packages/core/src/lib/mappings/map-member.ts +++ b/packages/core/src/lib/mappings/map-member.ts @@ -13,8 +13,7 @@ import type { Primitive, } from '../types'; import { MapFnClassId, TransformationType } from '../types'; -import { isDateConstructor } from '../utils/is-date-constructor'; -import { isPrimitiveConstructor } from '../utils/is-primitive-constructor'; +import { isMappableIdentifier } from '../utils/is-mappable-identifier'; export function mapMember< TSource extends Dictionary, @@ -73,12 +72,9 @@ export function mapMember< // primitive/date identifiers => no implicit (member) mapping. // Computed lazily: only Condition/Null/Undefined reach this, so // the other transformation types skip these predicate calls. - const shouldRunImplicitMap = !( - isPrimitiveConstructor(sourceMemberIdentifier) || - isPrimitiveConstructor(destinationMemberIdentifier) || - isDateConstructor(sourceMemberIdentifier) || - isDateConstructor(destinationMemberIdentifier) - ); + const shouldRunImplicitMap = + isMappableIdentifier(sourceMemberIdentifier) && + isMappableIdentifier(destinationMemberIdentifier); if (shouldRunImplicitMap) { value = Array.isArray(value) ? mapper.mapArray( diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 38e7f9a20..ab4384935 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -12,7 +12,7 @@ import { MapFnClassId, TransformationType } from '../types'; import { assertUnmappedProperties } from '../utils/assert-unmapped-properties'; import { get } from '../utils/get'; import { getMapping } from '../utils/get-mapping'; -import { isDateConstructor } from '../utils/is-date-constructor'; +import { isMappableIdentifier } from '../utils/is-mappable-identifier'; import { isEmpty } from '../utils/is-empty'; import { isPrimitiveConstructor } from '../utils/is-primitive-constructor'; import { set, setMutate } from '../utils/set'; @@ -168,10 +168,8 @@ export function map< ] = propsToMap[i]; let hasSameIdentifier = - !isPrimitiveConstructor(destinationMemberIdentifier) && - !isDateConstructor(destinationMemberIdentifier) && - !isPrimitiveConstructor(sourceMemberIdentifier) && - !isDateConstructor(sourceMemberIdentifier) && + isMappableIdentifier(destinationMemberIdentifier) && + isMappableIdentifier(sourceMemberIdentifier) && sourceMemberIdentifier === destinationMemberIdentifier; if (hasSameIdentifier) { diff --git a/packages/core/src/lib/utils/is-mappable-identifier.ts b/packages/core/src/lib/utils/is-mappable-identifier.ts new file mode 100644 index 000000000..3bae998d7 --- /dev/null +++ b/packages/core/src/lib/utils/is-mappable-identifier.ts @@ -0,0 +1,21 @@ +import { isDateConstructor } from './is-date-constructor'; +import { isPrimitiveConstructor } from './is-primitive-constructor'; + +// Result is constant per identifier but was recomputed (4 predicate calls) per +// member per mapped object — i.e. per element in mapArray. Memoize it. +const cache = new Map(); + +/** + * True when the identifier is a "real" model identifier (not a primitive or Date + * constructor) — i.e. a candidate for nested (member) mapping. + */ +export function isMappableIdentifier(identifier: unknown): boolean { + let result = cache.get(identifier); + if (result === undefined) { + result = + !isPrimitiveConstructor(identifier) && + !isDateConstructor(identifier); + cache.set(identifier, result); + } + return result; +} From 49bfbf030bdb2b171b343fc7056e70d31c9be2ff Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 11:54:31 -0400 Subject: [PATCH 22/73] perf(core): replace mapper Proxy with a plain object (code #2 / Kyle dispatch) createMapper returned a Proxy whose get-trap ran a ~15-branch if-chain and allocated a fresh closure on every property access (map/mapArray/symbol reads), defeating property-load inline caches. Now a plain object: eager state, lazy STRATEGY getter, methods closing over the mapper, symbol state via defineProperties. Real stack traces; stable method identity. Async wrappers cast the forwarded union arg (getOptions normalizes at runtime; the old Proxy receiver was typed any, which silently bypassed this typecheck). benchmark: ~4-9% faster (pojos nested map 1.75 -> 1.59us, flat map 1.74 -> 1.67us). Cumulative vs 8.8.1 ~44%. 10 projects green; lint clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/core.ts | 821 +++++++++++++++------------------- 1 file changed, 363 insertions(+), 458 deletions(-) diff --git a/packages/core/src/lib/core.ts b/packages/core/src/lib/core.ts index 6f66f8054..eaaa3a15f 100644 --- a/packages/core/src/lib/core.ts +++ b/packages/core/src/lib/core.ts @@ -36,7 +36,7 @@ export interface CreateMapperOptions { } /** - * Creates and returns a Mapper {} as a Proxy. The following methods are available to use with a Mapper: + * Creates and returns a Mapper {}. The following methods are available to use with a Mapper: * ``` * - Mapper#map(Array)(Async), Mapper#mutate(Array)(Async) * - createMap() @@ -53,25 +53,30 @@ export function createMapper({ }: CreateMapperOptions): Mapper { let strategy: MappingStrategy; - // this mapper is responsible for all mappings - let mappings: Map>; - - // this mapper is responsible for all metadata - let metadataMap: Map>; - let metadataObjectMap: Map< + // all mapper state, created eagerly (cheap, always needed) so the mapper can + // be a plain object with direct property access instead of a Proxy get-trap. + const mappings: Map< + MetadataIdentifier, + Map + > = new Map(); + const metadataMap: Map> = new Map(); + const metadataObjectMap: Map< MetadataIdentifier, [ asSource?: Record, asDestination?: Record ] - >; - - // this mapper is responsible for recursive depths and counts - let recursiveDepth: Map; - let recursiveCount: Map; - - // this mapper is tracking some context about the MappingProfile - let profileConfigurationContext: Set; + > = new Map(); + const recursiveDepth: Map = new Map(); + const recursiveCount: Map = new Map(); + const profileConfigurationContext: Set = new Set(); + + const resolvedErrorHandler: ErrorHandler = errorHandler ?? { + handle: AutoMapperLogger.error + ? AutoMapperLogger.error.bind(AutoMapperLogger) + : // eslint-disable-next-line @typescript-eslint/no-empty-function + () => {}, + }; function getOptions< TSource extends Dictionary, @@ -121,454 +126,354 @@ export function createMapper({ return { destinationIdentifier, mapOptions: options }; } - // return the Proxy - return new Proxy( - { - [CUSTOM_NODE_INSPECT]() { - return ` -Mapper {} is an empty Object as a Proxy. The following methods are available to use with a Mapper: -- Mapper#map(Array)(Async), Mapper#mutate(Array)(Async) -- createMap() -- addProfile() -- getMapping() -- getMappings() - `; - }, - } as unknown as Mapper, - { - get(target, p: string | symbol, receiver) { - if (p === STRATEGY) { - if (!strategy) { - strategy = strategyInitializer(receiver); - } - return strategy; - } - - if (p === PROFILE_CONFIGURATION_CONTEXT) { - if (!profileConfigurationContext) { - profileConfigurationContext = new Set(); - } - return profileConfigurationContext; - } - - if (p === MAPPINGS) { - if (!mappings) { - mappings = new Map(); - } - return mappings; - } - - if (p === METADATA_MAP) { - if (!metadataMap) { - metadataMap = new Map(); - } - return metadataMap; - } - - if (p === METADATA_OBJECT_MAP) { - if (!metadataObjectMap) { - metadataObjectMap = new Map(); - } - - return metadataObjectMap; - } - - if (p === ERROR_HANDLER) { - if (!errorHandler) { - errorHandler = { - handle: AutoMapperLogger.error - ? AutoMapperLogger.error.bind(AutoMapperLogger) - : // eslint-disable-next-line @typescript-eslint/no-empty-function - () => {}, - }; - } - return errorHandler; - } - - if (p === NAMING_CONVENTIONS) { - return namingConventions; - } - - if (p === RECURSIVE_DEPTH) { - if (!recursiveDepth) { - recursiveDepth = new Map(); - } - return recursiveDepth; - } - - if (p === RECURSIVE_COUNT) { - if (!recursiveCount) { - recursiveCount = new Map(); - } - return recursiveCount; - } - - if (p === 'dispose') { - return () => { - mappings?.clear(); - // metadataMap is intentionally left intact: strategies - // cache which identifiers they've retrieved metadata for - // (e.g. classes' metadataTracker), so clearing it here - // without resetting that cache would leave re-created - // mappings with no metadata. - metadataObjectMap?.clear(); - recursiveDepth?.clear(); - recursiveCount?.clear(); - profileConfigurationContext?.clear(); - }; - } - - if (p === 'map') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceObject: TSource, - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ): TDestination => { - if (sourceObject == null) - return sourceObject as TDestination; - - const { destinationIdentifier, mapOptions } = - getOptions( - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - - const mapping = getMapping( - receiver, - sourceIdentifier, - destinationIdentifier - ); - - sourceObject = strategy.preMap(sourceObject, mapping); - - const destination = mapReturn( - mapping, - sourceObject, - mapOptions || {} - ); - - return strategy.postMap( - sourceObject, - // returned as-is: intentionally NOT sealed, so - // consumers can add/modify the result after mapping - destination, - mapping - ); - }; - } - - if (p === 'mapAsync') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceObject: TSource, - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ): Promise => { - const result = receiver['map']( - sourceObject, - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - return new Promise((res) => { - setTimeout(res, 0, result); - }); - }; - } + // A plain object (not a Proxy): direct, monomorphic property access at every + // call site, real stack traces, and `mapper.map === mapper.map`. + const mapper = { + map< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceObject: TSource, + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): TDestination { + if (sourceObject == null) return sourceObject as TDestination; + + const { destinationIdentifier, mapOptions } = getOptions( + sourceIdentifier, + destinationIdentifierOrOptions, + options + ); + + const mapping = getMapping( + mapper, + sourceIdentifier, + destinationIdentifier + ); + + sourceObject = strategy.preMap(sourceObject, mapping); + + const destination = mapReturn( + mapping, + sourceObject, + mapOptions || {} + ); + + return strategy.postMap( + sourceObject, + // returned as-is: intentionally NOT sealed, so consumers can + // add/modify the result after mapping + destination, + mapping + ); + }, + + mapAsync< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceObject: TSource, + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): Promise { + const result = mapper.map( + sourceObject, + sourceIdentifier, + destinationIdentifierOrOptions as ModelIdentifier, + options + ); + return new Promise((res) => { + setTimeout(res, 0, result); + }); + }, + + mapArray< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceArray: TSource[], + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): TDestination[] { + if (!sourceArray.length) return []; + + const { destinationIdentifier, mapOptions } = getOptions( + sourceIdentifier, + destinationIdentifierOrOptions, + options + ); + + const mapping = getMapping( + mapper, + sourceIdentifier, + destinationIdentifier + ); + + const { beforeMap, afterMap, extraArgs } = (mapOptions || + {}) as MapOptions; + + if (beforeMap) { + beforeMap(sourceArray, []); + } - if (p === 'mapArray') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceArray: TSource[], - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ): TDestination[] => { - if (!sourceArray.length) return []; - - const { destinationIdentifier, mapOptions } = - getOptions( - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - - const mapping = getMapping( - receiver, - sourceIdentifier, - destinationIdentifier - ); - - const { beforeMap, afterMap, extraArgs } = - (mapOptions || {}) as MapOptions< - TSource[], - TDestination[] - >; - - if (beforeMap) { - beforeMap(sourceArray, []); - } - - const destinationArray: TDestination[] = []; - - for ( - let i = 0, length = sourceArray.length; - i < length; - i++ - ) { - let sourceObject = sourceArray[i]; - sourceObject = strategy.preMap( - sourceObject, - mapping - ); - - const destination = mapReturn( - mapping, - sourceObject, - { - extraArgs: extraArgs as MapOptions< - TSource, - TDestination - >['extraArgs'], - }, - true - ); - - destinationArray.push( - strategy.postMap( - sourceObject, - // returned as-is: intentionally NOT sealed, - // so consumers can add/modify after mapping - destination, - mapping - ) as TDestination - ); - } - - if (afterMap) { - afterMap(sourceArray, destinationArray); - } - - return destinationArray; - }; - } + const destinationArray: TDestination[] = []; + + for (let i = 0, length = sourceArray.length; i < length; i++) { + let sourceObject = sourceArray[i]; + sourceObject = strategy.preMap(sourceObject, mapping); + + const destination = mapReturn( + mapping, + sourceObject, + { + extraArgs: extraArgs as MapOptions< + TSource, + TDestination + >['extraArgs'], + }, + true + ); + + destinationArray.push( + strategy.postMap( + sourceObject, + // returned as-is: intentionally NOT sealed, so + // consumers can add/modify after mapping + destination, + mapping + ) as TDestination + ); + } - if (p === 'mapArrayAsync') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceArray: TSource[], - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ) => { - const result = receiver['mapArray']( - sourceArray, - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - return new Promise((res) => { - setTimeout(res, 0, result); - }); - }; - } + if (afterMap) { + afterMap(sourceArray, destinationArray); + } - if (p === 'mutate') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceObject: TSource, - destinationObject: TDestination, - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ) => { - if (sourceObject == null) return; - - const { destinationIdentifier, mapOptions } = - getOptions( - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - - const mapping = getMapping( - receiver, - sourceIdentifier, - destinationIdentifier - ); - - sourceObject = strategy.preMap(sourceObject, mapping); - - mapMutate( - mapping, - sourceObject, - destinationObject, - mapOptions || {} - ); - - strategy.postMap( - sourceObject, - destinationObject, - mapping - ); - }; - } - if (p === 'mutateAsync') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceObject: TSource, - destinationObject: TDestination, - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ) => { - return new Promise((res) => { - receiver['mutate']( - sourceObject, - destinationObject, - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - - setTimeout(res, 0); - }); - }; - } + return destinationArray; + }, + + mapArrayAsync< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceArray: TSource[], + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): Promise { + const result = mapper.mapArray( + sourceArray, + sourceIdentifier, + destinationIdentifierOrOptions as ModelIdentifier, + options + ); + return new Promise((res) => { + setTimeout(res, 0, result); + }); + }, + + mutate< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceObject: TSource, + destinationObject: TDestination, + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): void { + if (sourceObject == null) return; + + const { destinationIdentifier, mapOptions } = getOptions( + sourceIdentifier, + destinationIdentifierOrOptions, + options + ); + + const mapping = getMapping( + mapper, + sourceIdentifier, + destinationIdentifier + ); + + sourceObject = strategy.preMap(sourceObject, mapping); + + mapMutate( + mapping, + sourceObject, + destinationObject, + mapOptions || {} + ); + + strategy.postMap(sourceObject, destinationObject, mapping); + }, + + mutateAsync< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceObject: TSource, + destinationObject: TDestination, + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): Promise { + return new Promise((res) => { + mapper.mutate( + sourceObject, + destinationObject, + sourceIdentifier, + destinationIdentifierOrOptions as ModelIdentifier, + options + ); + + setTimeout(res, 0); + }); + }, + + mutateArray< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceArray: TSource[], + destinationArray: TDestination[], + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): void { + if (!sourceArray.length) return; + + const { destinationIdentifier, mapOptions } = getOptions( + sourceIdentifier, + destinationIdentifierOrOptions, + options + ); + + const mapping = getMapping( + mapper, + sourceIdentifier, + destinationIdentifier + ); + + const { beforeMap, afterMap, extraArgs } = (mapOptions || + {}) as MapOptions; + + if (beforeMap) { + beforeMap(sourceArray, destinationArray); + } - if (p === 'mutateArray') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceArray: TSource[], - destinationArray: TDestination[], - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ) => { - if (!sourceArray.length) return; - - const { destinationIdentifier, mapOptions } = - getOptions( - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - - const mapping = getMapping( - receiver, - sourceIdentifier, - destinationIdentifier - ); - - const { beforeMap, afterMap, extraArgs } = - (mapOptions || {}) as MapOptions< - TSource[], - TDestination[] - >; - - if (beforeMap) { - beforeMap(sourceArray, destinationArray); - } - - for ( - let i = 0, length = sourceArray.length; - i < length; - i++ - ) { - let sourceObject = sourceArray[i]; - - sourceObject = strategy.preMap( - sourceObject, - mapping - ); - - mapMutate( - mapping, - sourceObject, - destinationArray[i] || {}, - { - extraArgs: extraArgs as MapOptions< - TSource, - TDestination - >['extraArgs'], - }, - true - ); - - strategy.postMap( - sourceObject, - destinationArray[i], - mapping - ); - } - - if (afterMap) { - afterMap(sourceArray, destinationArray); - } - }; - } + for (let i = 0, length = sourceArray.length; i < length; i++) { + let sourceObject = sourceArray[i]; + + sourceObject = strategy.preMap(sourceObject, mapping); + + mapMutate( + mapping, + sourceObject, + destinationArray[i] || {}, + { + extraArgs: extraArgs as MapOptions< + TSource, + TDestination + >['extraArgs'], + }, + true + ); + + strategy.postMap(sourceObject, destinationArray[i], mapping); + } - if (p === 'mutateArrayAsync') { - return < - TSource extends Dictionary, - TDestination extends Dictionary - >( - sourceArray: TSource[], - destinationArray: TDestination[], - sourceIdentifier: ModelIdentifier, - destinationIdentifierOrOptions?: - | ModelIdentifier - | MapOptions, - options?: MapOptions - ) => { - return new Promise((res) => { - receiver['mutateArray']( - sourceArray, - destinationArray, - sourceIdentifier, - destinationIdentifierOrOptions, - options - ); - - setTimeout(res, 0); - }); - }; + if (afterMap) { + afterMap(sourceArray, destinationArray); + } + }, + + mutateArrayAsync< + TSource extends Dictionary, + TDestination extends Dictionary + >( + sourceArray: TSource[], + destinationArray: TDestination[], + sourceIdentifier: ModelIdentifier, + destinationIdentifierOrOptions?: + | ModelIdentifier + | MapOptions, + options?: MapOptions + ): Promise { + return new Promise((res) => { + mapper.mutateArray( + sourceArray, + destinationArray, + sourceIdentifier, + destinationIdentifierOrOptions as ModelIdentifier, + options + ); + + setTimeout(res, 0); + }); + }, + + dispose(): void { + mappings.clear(); + // metadataMap is intentionally left intact: strategies cache which + // identifiers they've retrieved metadata for (e.g. classes' + // metadataTracker), so clearing it here without resetting that cache + // would leave re-created mappings with no metadata. + metadataObjectMap.clear(); + recursiveDepth.clear(); + recursiveCount.clear(); + profileConfigurationContext.clear(); + }, + } as unknown as Mapper; + + // internal state, exposed as (non-enumerable) symbol-keyed properties read + // by the get*/symbols helpers. STRATEGY is lazy because the initializer + // needs the fully-constructed mapper. + Object.defineProperties(mapper, { + [STRATEGY]: { + get() { + if (!strategy) { + strategy = strategyInitializer(mapper); } - - return Reflect.get(target, p, receiver); + return strategy; }, - } - ); + }, + [PROFILE_CONFIGURATION_CONTEXT]: { value: profileConfigurationContext }, + [MAPPINGS]: { value: mappings }, + [METADATA_MAP]: { value: metadataMap }, + [METADATA_OBJECT_MAP]: { value: metadataObjectMap }, + [ERROR_HANDLER]: { value: resolvedErrorHandler }, + [NAMING_CONVENTIONS]: { value: namingConventions }, + [RECURSIVE_DEPTH]: { value: recursiveDepth }, + [RECURSIVE_COUNT]: { value: recursiveCount }, + [CUSTOM_NODE_INSPECT]: { + value: () => ` +Mapper {} The following methods are available to use with a Mapper: +- Mapper#map(Array)(Async), Mapper#mutate(Array)(Async) +- createMap() +- addProfile() +- getMapping() +- getMappings() + `, + }, + }); + + return mapper; } From bb30e060ffb1a9d6cab7196b75bac74721cfc6e8 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 11:57:29 -0400 Subject: [PATCH 23/73] feat(nestjs): support NestJS 11 (goal #9) - widen @automapper/nestjs peer to include ^11.0.0 (also fixed a double-space typo in the @nestjs/core range) - bump dev @nestjs/* to 11.1.27 so the integration tests exercise v11 (Express 5) - add .npmrc public-hoist-pattern[]=@nestjs/platform-express so NestFactory's dynamic adapter loader resolves it under pnpm's strict node_modules (this was the v11-under-pnpm test failure seen earlier) interceptor/pipe/decorator API is unchanged across v11. lint + build + 115 tests green; frozen install in sync. Co-Authored-By: Claude Opus 4.8 (1M context) --- .npmrc | 1 + package.json | 8 ++++---- packages/nestjs/package.json | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..a10195dfc --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +public-hoist-pattern[]=@nestjs/platform-express diff --git a/package.json b/package.json index baa6e3fe5..3f41afa2c 100644 --- a/package.json +++ b/package.json @@ -22,11 +22,11 @@ }, "devDependencies": { "@mikro-orm/core": "5.6.13", - "@nestjs/common": "10.4.22", - "@nestjs/core": "10.4.22", - "@nestjs/platform-express": "10.4.22", + "@nestjs/common": "11.1.27", + "@nestjs/core": "11.1.27", + "@nestjs/platform-express": "11.1.27", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "10.4.22", + "@nestjs/testing": "11.1.27", "@nx/devkit": "22.7.5", "@nx/eslint": "22.7.5", "@nx/eslint-plugin": "22.7.5", diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 86e5975a8..2dee1397a 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -4,8 +4,8 @@ "type": "module", "peerDependencies": { "@automapper/core": "^9.0.0-alpha.0", - "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0", - "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0" + "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", + "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0" }, "sideEffects": false, "engines": { From 00d341cbd0195ab856b044ecf47ca2346d74eca2 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 12:00:54 -0400 Subject: [PATCH 24/73] feat(mikro): support MikroORM 6 (goal #9) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - @automapper/mikro peer @mikro-orm/core ^5.0.0 -> ^6.0.0; dev dep -> 6.6.15 - serialize-entity.ts builds clean against v6 (Utils/Reference/wrap + IWrappedEntityInternal from @mikro-orm/core/typings + __meta.properties are v6-compatible) — no source changes needed (Sequelize stays on v6: v7 is still alpha and renames the package to @sequelize/core — deferred until it's stable.) lint + build + 10 projects green. Co-Authored-By: Claude Opus 4.8 (1M context) --- package.json | 2 +- packages/mikro/package.json | 2 +- pnpm-lock.yaml | 458 +++++++++++++++++------------------- 3 files changed, 217 insertions(+), 245 deletions(-) diff --git a/package.json b/package.json index 3f41afa2c..94ab7740d 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "tslib": "~2.5.0" }, "devDependencies": { - "@mikro-orm/core": "5.6.13", + "@mikro-orm/core": "^6.0.0", "@nestjs/common": "11.1.27", "@nestjs/core": "11.1.27", "@nestjs/platform-express": "11.1.27", diff --git a/packages/mikro/package.json b/packages/mikro/package.json index a5de9de2a..60322e3bc 100644 --- a/packages/mikro/package.json +++ b/packages/mikro/package.json @@ -4,7 +4,7 @@ "type": "module", "peerDependencies": { "@automapper/classes": "^9.0.0-alpha.0", - "@mikro-orm/core": "^5.0.0", + "@mikro-orm/core": "^6.0.0", "reflect-metadata": "^0.2.0" }, "sideEffects": false, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f9d2a4f3..e654e5b33 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,23 +20,23 @@ importers: version: 2.5.3 devDependencies: '@mikro-orm/core': - specifier: 5.6.13 - version: 5.6.13 + specifier: ^6.0.0 + version: 6.6.15 '@nestjs/common': - specifier: 10.4.22 - version: 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: 11.1.27 + version: 11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': - specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: 11.1.27 + version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': - specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) + specifier: 11.1.27 + version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27) '@nestjs/schematics': specifier: 11.1.0 version: 11.1.0(prettier@2.8.4)(typescript@5.9.3) '@nestjs/testing': - specifier: 10.4.22 - version: 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) + specifier: 11.1.27 + version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27)(@nestjs/platform-express@11.1.27) '@nx/devkit': specifier: 22.7.5 version: 22.7.5(nx@22.7.5) @@ -2590,48 +2590,16 @@ packages: engines: {node: '>=8'} dev: true - /@mikro-orm/core@5.6.13: - resolution: {integrity: sha512-PvFi1clhsBM+RJGQXQoNmFS2N917TA7PJqRJOdX+9WtGiJpj3DBCKdRAKbZ7KPkApNrEHWHUOsqWhRAMMdFU5w==} - engines: {node: '>= 14.0.0'} - peerDependencies: - '@mikro-orm/better-sqlite': ^5.0.0 - '@mikro-orm/entity-generator': ^5.0.0 - '@mikro-orm/mariadb': ^5.0.0 - '@mikro-orm/migrations': ^5.0.0 - '@mikro-orm/migrations-mongodb': ^5.0.0 - '@mikro-orm/mongodb': ^5.0.0 - '@mikro-orm/mysql': ^5.0.0 - '@mikro-orm/postgresql': ^5.0.0 - '@mikro-orm/seeder': ^5.0.0 - '@mikro-orm/sqlite': ^5.0.0 - peerDependenciesMeta: - '@mikro-orm/better-sqlite': - optional: true - '@mikro-orm/entity-generator': - optional: true - '@mikro-orm/mariadb': - optional: true - '@mikro-orm/migrations': - optional: true - '@mikro-orm/migrations-mongodb': - optional: true - '@mikro-orm/mongodb': - optional: true - '@mikro-orm/mysql': - optional: true - '@mikro-orm/postgresql': - optional: true - '@mikro-orm/seeder': - optional: true - '@mikro-orm/sqlite': - optional: true + /@mikro-orm/core@6.6.15: + resolution: {integrity: sha512-DQEtF1Bh+2v1DVuxi6bRn93c6vGh1CUJdUITBqtS86EUjDXDc1L08A3kuSUZ4BP/xYhT/yQE2cp3lMJYcu+8og==} + engines: {node: '>= 18.12.0'} dependencies: - acorn-loose: 8.3.0 - acorn-walk: 8.2.0 - dotenv: 16.0.3 - fs-extra: 11.1.0 + dataloader: 2.2.3 + dotenv: 17.3.1 + esprima: 4.0.1 + fs-extra: 11.3.3 globby: 11.1.0 - mikro-orm: 5.6.16 + mikro-orm: 6.6.15 reflect-metadata: 0.2.2 dev: true @@ -2847,11 +2815,11 @@ packages: dev: true optional: true - /@nestjs/common@10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1): - resolution: {integrity: sha512-fxJ4v85nDHaqT1PmfNCQ37b/jcv2OojtXTaK1P2uAXhzLf9qq6WNUOFvxBrV4fhQek1EQoT1o9oj5xAZmv3NRw==} + /@nestjs/common@11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1): + resolution: {integrity: sha512-kEGSzqM2lWr4whh4Ubflw+oPZSEzxvRMu9WL+LveZploJWTjec5bBlCiRVlVzTPg2kIwBiLwWSvCCW7Wnin1gg==} peerDependencies: - class-transformer: '*' - class-validator: '*' + class-transformer: '>=0.4.1' + class-validator: '>=0.13.2' reflect-metadata: 0.2.2 rxjs: 7.8.1 peerDependenciesMeta: @@ -2860,8 +2828,9 @@ packages: class-validator: optional: true dependencies: - file-type: 20.4.1 + file-type: 21.3.4 iterare: 1.2.1 + load-esm: 1.0.3 reflect-metadata: 0.2.2 rxjs: 7.8.1 tslib: 2.8.1 @@ -2870,14 +2839,14 @@ packages: - supports-color dev: true - /@nestjs/core@10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1): - resolution: {integrity: sha512-6IX9+VwjiKtCjx+mXVPncpkQ5ZjKfmssOZPFexmT+6T9H9wZ3svpYACAo7+9e7Nr9DZSoRZw3pffkJP7Z0UjaA==} - requiresBuild: true + /@nestjs/core@11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1): + resolution: {integrity: sha512-K6DX7hcqmZdeXkv7tsPakKBRCgqL19a4mtbX4FluY0hWtFdtPKp6lbe+lb8gWPfvLdbOWr/CPScn7BSjBX+Ecg==} + engines: {node: '>= 20'} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 - '@nestjs/websockets': ^10.0.0 + '@nestjs/common': ^11.0.0 + '@nestjs/microservices': ^11.0.0 + '@nestjs/platform-express': ^11.0.0 + '@nestjs/websockets': ^11.0.0 reflect-metadata: 0.2.2 rxjs: 7.8.1 peerDependenciesMeta: @@ -2888,32 +2857,29 @@ packages: '@nestjs/websockets': optional: true dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) - '@nuxtjs/opencollective': 0.3.2 + '@nestjs/common': 11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/platform-express': 11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27) fast-safe-stringify: 2.1.1 iterare: 1.2.1 - path-to-regexp: 3.3.0 + path-to-regexp: 8.4.2 reflect-metadata: 0.2.2 rxjs: 7.8.1 tslib: 2.8.1 uid: 2.0.2 - transitivePeerDependencies: - - encoding dev: true - /@nestjs/platform-express@10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22): - resolution: {integrity: sha512-ySSq7Py/DFozzZdNDH67m/vHoeVdphDniWBnl6q5QVoXldDdrZIHLXLRMPayTDh5A95nt7jjJzmD4qpTbNQ6tA==} + /@nestjs/platform-express@11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27): + resolution: {integrity: sha512-0ZFhz6H6EdGh4xQVbUNwjoAwBuz73P7FvUAl67h9CTdMqQlJDaQYJApBv8pKfVZ1fGjMCbl0m9DcC6pXaZPWSQ==} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/core': ^10.0.0 + '@nestjs/common': ^11.0.0 + '@nestjs/core': ^11.0.0 dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1) - body-parser: 1.20.4 - cors: 2.8.5 - express: 4.22.1 - multer: 2.0.2 + '@nestjs/common': 11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1) + cors: 2.8.6 + express: 5.2.1 + multer: 2.1.1 + path-to-regexp: 8.4.2 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -2939,22 +2905,22 @@ packages: - chokidar dev: true - /@nestjs/testing@10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22): - resolution: {integrity: sha512-HO9aPus3bAedAC+jKVAA8jTdaj4fs5M9fing4giHrcYV2txe9CvC1l1WAjwQ9RDhEHdugjY4y+FZA/U/YqPZrA==} + /@nestjs/testing@11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27)(@nestjs/platform-express@11.1.27): + resolution: {integrity: sha512-I35po13UHZZeGenLWJ3QYwh77RsLau5RcFKWBZ4waVHeARpwjtC7v7n7lGh98swLQdGmZgTnbvKaZ0B5dsUIKA==} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/core': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 + '@nestjs/common': ^11.0.0 + '@nestjs/core': ^11.0.0 + '@nestjs/microservices': ^11.0.0 + '@nestjs/platform-express': ^11.0.0 peerDependenciesMeta: '@nestjs/microservices': optional: true '@nestjs/platform-express': optional: true dependencies: - '@nestjs/common': 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.22(@nestjs/common@10.4.22)(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/platform-express': 10.4.22(@nestjs/common@10.4.22)(@nestjs/core@10.4.22) + '@nestjs/common': 11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/platform-express': 11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27) tslib: 2.8.1 dev: true @@ -2984,18 +2950,6 @@ packages: fastq: 1.20.1 dev: true - /@nuxtjs/opencollective@0.3.2: - resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} - hasBin: true - dependencies: - chalk: 4.1.2 - consola: 2.15.3 - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: true - /@nx/devkit@22.7.5(nx@22.7.5): resolution: {integrity: sha512-/63ziS7kdHXYTLLhwWBu9hFwoFFT8xf+PkcQjsNdPqc5JmkYkSew0cE/vp5ORgBpGLWWnFPJgmfqjbJoO2C7jA==} peerDependencies: @@ -3958,6 +3912,16 @@ packages: - supports-color dev: true + /@tokenizer/inflate@0.4.1: + resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} + engines: {node: '>=18'} + dependencies: + debug: 4.4.3 + token-types: 6.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@tokenizer/token@0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} dev: true @@ -4708,12 +4672,12 @@ packages: through: 2.3.8 dev: true - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + /accepts@2.0.0: + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 + mime-types: 3.0.2 + negotiator: 1.0.0 dev: true /acorn-jsx@5.3.2(acorn@8.17.0): @@ -4724,18 +4688,6 @@ packages: acorn: 8.17.0 dev: true - /acorn-loose@8.3.0: - resolution: {integrity: sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==} - engines: {node: '>=0.4.0'} - dependencies: - acorn: 8.17.0 - dev: true - - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - /acorn-walk@8.3.5: resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} @@ -4946,10 +4898,6 @@ packages: is-array-buffer: 3.0.5 dev: true - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true - /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true @@ -5560,22 +5508,19 @@ packages: readable-stream: 3.6.2 dev: true - /body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + /body-parser@2.3.0: + resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} + engines: {node: '>=18'} dependencies: bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 + content-type: 2.0.0 + debug: 4.4.3 http-errors: 2.0.1 - iconv-lite: 0.4.24 + iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.14.2 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 + qs: 6.15.2 + raw-body: 3.0.2 + type-is: 2.1.0 transitivePeerDependencies: - supports-color dev: true @@ -6022,10 +5967,6 @@ packages: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true - /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -6033,11 +5974,21 @@ packages: safe-buffer: 5.2.1 dev: true + /content-disposition@1.1.0: + resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} + engines: {node: '>=18'} + dev: true + /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} dev: true + /content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + dev: true + /conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} engines: {node: '>=10'} @@ -6218,8 +6169,9 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + /cookie-signature@1.2.2: + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} dev: true /cookie@0.7.2: @@ -6241,8 +6193,8 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + /cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} dependencies: object-assign: 4.1.1 @@ -6416,19 +6368,12 @@ packages: is-data-view: 1.0.2 dev: true - /dateformat@3.0.3: - resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + /dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} dev: true - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 + /dateformat@3.0.3: + resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true /debug@4.3.1: @@ -6573,11 +6518,6 @@ packages: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} dev: true - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true - /detect-file@1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} @@ -6672,11 +6612,6 @@ packages: dotenv: 16.4.7 dev: true - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: true - /dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} @@ -6687,6 +6622,11 @@ packages: engines: {node: '>=12'} dev: true + /dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} + engines: {node: '>=12'} + dev: true + /dottie@2.0.7: resolution: {integrity: sha512-7lAK2A0b3zZr3UC5aE69CPdCFR4RHW1o2Dr74TqFykxkUCBXSRJum/yPc7g8zRHJqWKomPLHwFLLoUnn8PXXRg==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -7215,40 +7155,37 @@ packages: jest-util: 30.4.1 dev: true - /express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} - engines: {node: '>= 0.10.0'} + /express@5.2.1: + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} + engines: {node: '>= 18'} dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.4 - content-disposition: 0.5.4 + accepts: 2.0.0 + body-parser: 2.3.0 + content-disposition: 1.1.0 content-type: 1.0.5 cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 + cookie-signature: 1.2.2 + debug: 4.4.3 depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 + finalhandler: 2.1.1 + fresh: 2.0.0 http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 + merge-descriptors: 2.0.0 + mime-types: 3.0.2 on-finished: 2.4.1 + once: 1.4.0 parseurl: 1.3.3 - path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.2 - serve-static: 1.16.3 - setprototypeof: 1.2.0 + router: 2.2.0 + send: 1.2.1 + serve-static: 2.2.1 statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7389,8 +7326,8 @@ packages: flat-cache: 3.2.0 dev: true - /file-type@20.4.1: - resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} + /file-type@20.5.0: + resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} engines: {node: '>=18'} dependencies: '@tokenizer/inflate': 0.2.7 @@ -7401,11 +7338,11 @@ packages: - supports-color dev: true - /file-type@20.5.0: - resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} - engines: {node: '>=18'} + /file-type@21.3.4: + resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==} + engines: {node: '>=20'} dependencies: - '@tokenizer/inflate': 0.2.7 + '@tokenizer/inflate': 0.4.1 strtok3: 10.3.5 token-types: 6.1.2 uint8array-extras: 1.5.0 @@ -7437,17 +7374,16 @@ packages: to-regex-range: 5.0.1 dev: true - /finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} + /finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} dependencies: - debug: 2.6.9 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 statuses: 2.0.2 - unpipe: 1.0.0 transitivePeerDependencies: - supports-color dev: true @@ -7601,17 +7537,17 @@ packages: engines: {node: '>= 0.6'} dev: true - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + /fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} dev: true /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + /fs-extra@11.3.3: + resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 @@ -8251,6 +8187,13 @@ packages: safer-buffer: 2.1.2 dev: true + /iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} engines: {node: '>=4'} @@ -8684,6 +8627,10 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + dev: true + /is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -9889,6 +9836,11 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /load-esm@1.0.3: + resolution: {integrity: sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==} + engines: {node: '>=13.2.0'} + dev: true + /load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -10053,6 +10005,11 @@ packages: engines: {node: '>= 0.6'} dev: true + /media-typer@1.1.0: + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} + dev: true + /meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -10077,8 +10034,9 @@ packages: yargs-parser: 20.2.9 dev: true - /merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + /merge-descriptors@2.0.0: + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} dev: true /merge-stream@2.0.0: @@ -10107,9 +10065,9 @@ packages: picomatch: 2.3.2 dev: true - /mikro-orm@5.6.16: - resolution: {integrity: sha512-HgG079qA5hWgGWlq9u3BjgE3ynGnDFsGRtvFhgo6W3Itkz46SsQ4oeQxRcAetd8mj/qM4SOLuy0k71pI6h0PkQ==} - engines: {node: '>= 14.0.0'} + /mikro-orm@6.6.15: + resolution: {integrity: sha512-7goCGJG3o6Wy7y77tF2Cxgukc69uZw9P2pwPXSdqZ+DeQ9YJkKRa1uCccQ2/yfTaZrQ4WuaIfT95DI1H3VHhZQ==} + engines: {node: '>= 18.12.0'} dev: true /mime-db@1.52.0: @@ -10129,6 +10087,13 @@ packages: mime-db: 1.52.0 dev: true + /mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + dependencies: + mime-db: 1.54.0 + dev: true + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} @@ -10239,10 +10204,6 @@ packages: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} dev: true - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true @@ -10251,17 +10212,14 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /multer@2.0.2: - resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==} + /multer@2.1.1: + resolution: {integrity: sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==} engines: {node: '>= 10.16.0'} dependencies: append-field: 1.0.0 busboy: 1.6.0 concat-stream: 2.0.0 - mkdirp: 0.5.6 - object-assign: 4.1.1 type-is: 1.6.18 - xtend: 4.0.2 dev: true /mute-stream@0.0.7: @@ -10282,8 +10240,8 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + /negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} dev: true @@ -10887,12 +10845,8 @@ packages: minipass: 7.1.3 dev: true - /path-to-regexp@0.1.13: - resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - dev: true - - /path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + /path-to-regexp@8.4.2: + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} dev: true /path-type@3.0.0: @@ -11109,13 +11063,6 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) dev: true - /qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.1.1 - dev: true - /qs@6.15.2: resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} @@ -11156,6 +11103,16 @@ packages: unpipe: 1.0.0 dev: true + /raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.7.2 + unpipe: 1.0.0 + dev: true + /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -11554,6 +11511,19 @@ packages: '@rolldown/binding-win32-x64-msvc': 1.1.2 dev: true + /router@2.2.0: + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} + dependencies: + debug: 4.4.3 + depd: 2.0.0 + is-promise: 4.0.0 + parseurl: 1.3.3 + path-to-regexp: 8.4.2 + transitivePeerDependencies: + - supports-color + dev: true + /rrweb-cssom@0.8.0: resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} dev: true @@ -11682,19 +11652,17 @@ packages: hasBin: true dev: true - /send@0.19.2: - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} - engines: {node: '>= 0.8.0'} + /send@1.2.1: + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - fresh: 0.5.2 + fresh: 2.0.0 http-errors: 2.0.1 - mime: 1.6.0 + mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 @@ -11761,14 +11729,14 @@ packages: - supports-color dev: true - /serve-static@1.16.3: - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} - engines: {node: '>= 0.8.0'} + /serve-static@2.2.1: + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.19.2 + send: 1.2.1 transitivePeerDependencies: - supports-color dev: true @@ -12699,6 +12667,15 @@ packages: mime-types: 2.1.35 dev: true + /type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} + dependencies: + content-type: 2.0.0 + media-typer: 1.1.0 + mime-types: 3.0.2 + dev: true + /typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -12951,11 +12928,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true - /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). From 065066a8a1e21da48b72c232a3790af441fe550c Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 12:12:46 -0400 Subject: [PATCH 25/73] chore(release): nx release with conventional commits + npm provenance (goal #8) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - nx.json release block: independent versioning of the 6 published packages, conventionalCommits-driven bumps, {projectName}@{version} tags, per-project GitHub changelogs/releases (validated via nx release version --dry-run: 9.0.0-alpha.0 -> 9.0.0-alpha.1) - per-project nx-release-publish target (@nx/js:release-publish) pointed at the built dist (dist/packages/) so nx release publish ships the bundled artifacts, not the source - publishConfig.provenance=true on all 6 published packages (flows through the build into dist; publint + attw still clean) - .github/workflows/release.yml: manual-dispatch release with id-token:write for npm OIDC provenance — version+changelog+tag (--skip-publish), build, then nx release publish --tag=alpha with NPM_CONFIG_PROVENANCE Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 59 +++++++++++++++++++++++++++++++++ nx.json | 15 +++++++++ packages/classes/package.json | 3 +- packages/classes/project.json | 18 ++++++++-- packages/core/package.json | 3 +- packages/core/project.json | 18 ++++++++-- packages/mikro/package.json | 3 +- packages/mikro/project.json | 18 ++++++++-- packages/nestjs/package.json | 3 +- packages/nestjs/project.json | 18 ++++++++-- packages/pojos/package.json | 3 +- packages/pojos/project.json | 18 ++++++++-- packages/sequelize/package.json | 3 +- packages/sequelize/project.json | 18 ++++++++-- 14 files changed, 176 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..8d9c38c7a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +name: Release + +on: + workflow_dispatch: + inputs: + first-release: + description: 'First release using the {projectName}@{version} tag scheme (no prior tags to diff against)' + type: boolean + default: false + dry-run: + description: 'Compute versions/changelogs without writing, tagging, or publishing' + type: boolean + default: false + +concurrency: + group: release + cancel-in-progress: false + +permissions: + contents: write # push version-bump commit + tags, create GitHub releases + id-token: write # npm provenance / OIDC trusted publishing + +jobs: + release: + name: nx release (alpha) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # full history is required for conventional-commit version analysis + - uses: actions/setup-node@v4 + with: + node-version: '22' + registry-url: 'https://registry.npmjs.org' + - run: corepack enable + - run: pnpm install --frozen-lockfile + + # 1. bump versions, write changelogs, tag, create GitHub releases — but do not publish yet + - name: Version + changelog + tag + run: >- + pnpm exec nx release + ${{ inputs.first-release && '--first-release' || '' }} + ${{ inputs.dry-run && '--dry-run' || '' }} + --skip-publish --yes + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # 2. build the dist artifacts with the freshly-bumped versions + - name: Build packages + if: ${{ !inputs.dry-run }} + run: pnpm run package + + # 3. publish the built dist to npm under the alpha dist-tag with provenance + - name: Publish (alpha, provenance) + if: ${{ !inputs.dry-run }} + run: pnpm exec nx release publish --tag=alpha + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_CONFIG_PROVENANCE: true diff --git a/nx.json b/nx.json index f89119db9..39ccaa8cc 100644 --- a/nx.json +++ b/nx.json @@ -38,6 +38,21 @@ "cache": true } }, + "release": { + "projects": ["core", "classes", "pojos", "nestjs", "mikro", "sequelize"], + "projectsRelationship": "independent", + "releaseTagPattern": "{projectName}@{version}", + "version": { + "conventionalCommits": true, + "preserveLocalDependencyProtocols": true + }, + "changelog": { + "automaticFromRef": true, + "projectChangelogs": { + "createRelease": "github" + } + } + }, "pluginsConfig": { "@nx/js": { "analyzeSourceFiles": true diff --git a/packages/classes/package.json b/packages/classes/package.json index 40fb9eda8..784ccd50d 100644 --- a/packages/classes/package.json +++ b/packages/classes/package.json @@ -16,7 +16,8 @@ "node": ">=20.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "repository": { "type": "git", diff --git a/packages/classes/project.json b/packages/classes/project.json index 4b4a0b9b8..fc38c4a3b 100644 --- a/packages/classes/project.json +++ b/packages/classes/project.json @@ -3,11 +3,15 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/classes/src", "projectType": "library", - "tags": ["classes"], + "tags": [ + "classes" + ], "targets": { "package": { "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/classes"], + "outputs": [ + "{workspaceRoot}/dist/packages/classes" + ], "options": { "command": "node tools/scripts/build-packages.mjs classes" } @@ -17,7 +21,9 @@ }, "test": { "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/classes"], + "outputs": [ + "{workspaceRoot}/coverage/packages/classes" + ], "options": { "jestConfig": "packages/classes/jest.config.cjs" } @@ -28,6 +34,12 @@ "command": "npm publish --tag alpha", "cwd": "dist/packages/classes" } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/classes" + } } } } diff --git a/packages/core/package.json b/packages/core/package.json index 593361c1f..2e631095d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -10,7 +10,8 @@ "node": ">=20.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "repository": { "type": "git", diff --git a/packages/core/project.json b/packages/core/project.json index 7b8c83209..430d1aee2 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -3,11 +3,15 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/core/src", "projectType": "library", - "tags": ["core"], + "tags": [ + "core" + ], "targets": { "package": { "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/core"], + "outputs": [ + "{workspaceRoot}/dist/packages/core" + ], "options": { "command": "node tools/scripts/build-packages.mjs core" } @@ -17,7 +21,9 @@ }, "test": { "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/core"], + "outputs": [ + "{workspaceRoot}/coverage/packages/core" + ], "options": { "jestConfig": "packages/core/jest.config.cjs" } @@ -28,6 +34,12 @@ "command": "npm publish --tag alpha", "cwd": "dist/packages/core" } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/core" + } } } } diff --git a/packages/mikro/package.json b/packages/mikro/package.json index 60322e3bc..0c2116f39 100644 --- a/packages/mikro/package.json +++ b/packages/mikro/package.json @@ -12,7 +12,8 @@ "node": ">=20.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "repository": { "type": "git", diff --git a/packages/mikro/project.json b/packages/mikro/project.json index 40a5c52d3..9c008cd5b 100644 --- a/packages/mikro/project.json +++ b/packages/mikro/project.json @@ -2,11 +2,15 @@ "name": "mikro", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/mikro/src", - "tags": ["mikro"], + "tags": [ + "mikro" + ], "targets": { "package": { "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/mikro"], + "outputs": [ + "{workspaceRoot}/dist/packages/mikro" + ], "options": { "command": "node tools/scripts/build-packages.mjs mikro" } @@ -16,7 +20,9 @@ }, "test": { "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/mikro"], + "outputs": [ + "{workspaceRoot}/coverage/packages/mikro" + ], "options": { "jestConfig": "packages/mikro/jest.config.cjs" } @@ -27,6 +33,12 @@ "command": "npm publish --tag alpha", "cwd": "dist/packages/mikro" } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/mikro" + } } } } diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 2dee1397a..e4a5f0a52 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -12,7 +12,8 @@ "node": ">=20.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "repository": { "type": "git", diff --git a/packages/nestjs/project.json b/packages/nestjs/project.json index afc9013a3..4da04a235 100644 --- a/packages/nestjs/project.json +++ b/packages/nestjs/project.json @@ -2,11 +2,15 @@ "name": "nestjs", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/nestjs/src", - "tags": ["nestjs"], + "tags": [ + "nestjs" + ], "targets": { "package": { "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/nestjs"], + "outputs": [ + "{workspaceRoot}/dist/packages/nestjs" + ], "options": { "command": "node tools/scripts/build-packages.mjs nestjs" } @@ -16,7 +20,9 @@ }, "test": { "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/nestjs"], + "outputs": [ + "{workspaceRoot}/coverage/packages/nestjs" + ], "options": { "jestConfig": "packages/nestjs/jest.config.cjs" } @@ -27,6 +33,12 @@ "command": "npm publish --tag alpha", "cwd": "dist/packages/nestjs" } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/nestjs" + } } } } diff --git a/packages/pojos/package.json b/packages/pojos/package.json index 0cda6df45..c50801c4c 100644 --- a/packages/pojos/package.json +++ b/packages/pojos/package.json @@ -10,7 +10,8 @@ "node": ">=20.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "peerDependencies": { "@automapper/core": "^9.0.0-alpha.0" diff --git a/packages/pojos/project.json b/packages/pojos/project.json index 754edbe5f..0a0e35a67 100644 --- a/packages/pojos/project.json +++ b/packages/pojos/project.json @@ -2,11 +2,15 @@ "name": "pojos", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/pojos/src", - "tags": ["pojos"], + "tags": [ + "pojos" + ], "targets": { "package": { "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/pojos"], + "outputs": [ + "{workspaceRoot}/dist/packages/pojos" + ], "options": { "command": "node tools/scripts/build-packages.mjs pojos" } @@ -16,7 +20,9 @@ }, "test": { "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/pojos"], + "outputs": [ + "{workspaceRoot}/coverage/packages/pojos" + ], "options": { "jestConfig": "packages/pojos/jest.config.cjs" } @@ -27,6 +33,12 @@ "command": "npm publish --tag alpha", "cwd": "dist/packages/pojos" } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/pojos" + } } } } diff --git a/packages/sequelize/package.json b/packages/sequelize/package.json index b48b3f98a..9298a7f4d 100644 --- a/packages/sequelize/package.json +++ b/packages/sequelize/package.json @@ -12,7 +12,8 @@ "node": ">=20.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "repository": { "type": "git", diff --git a/packages/sequelize/project.json b/packages/sequelize/project.json index e0a2d7951..19d183e9d 100644 --- a/packages/sequelize/project.json +++ b/packages/sequelize/project.json @@ -2,11 +2,15 @@ "name": "sequelize", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/sequelize/src", - "tags": ["sequelize"], + "tags": [ + "sequelize" + ], "targets": { "package": { "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/sequelize"], + "outputs": [ + "{workspaceRoot}/dist/packages/sequelize" + ], "options": { "command": "node tools/scripts/build-packages.mjs sequelize" } @@ -16,7 +20,9 @@ }, "test": { "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/sequelize"], + "outputs": [ + "{workspaceRoot}/coverage/packages/sequelize" + ], "options": { "jestConfig": "packages/sequelize/jest.config.cjs" } @@ -27,6 +33,12 @@ "command": "npm publish --tag alpha", "cwd": "dist/packages/sequelize" } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/sequelize" + } } } } From 1459c7ae0410d6ac42301981033363e7fa5990d9 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 12:47:11 -0400 Subject: [PATCH 26/73] test: migrate Jest/ts-jest to Vitest + unplugin-swc (goal #5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the entire Jest stack with Vitest 4 driven by an swc transform. swc handles legacy decorators + emitDecoratorMetadata (the @AutoMap/ reflect-metadata path), and is decoupled from the TypeScript version — which is why this lands before the TS 6 bump (ts-jest was coupling tests to TS). - vitest.shared.ts: one config factory for all packages — swc.vite() with legacyDecorator + decoratorMetadata + keepClassNames (the mapper keys off constructor.name), node env, globals, reflect-metadata setup, and @automapper/* -> source aliases mirroring the tsconfig paths ts-jest resolved - per-package vitest.config.ts; nx test target -> nx:run-commands 'vitest run' - node env everywhere (was jsdom by default) — nothing uses the DOM, and node gives native TextEncoder, so the jsdom dep + jest-setup polyfill are gone - specs: jest.fn/spyOn -> vi.* (global); supertest namespace import -> default import (vite ESM interop; also inlined for integration-test) - tsconfig.spec types jest -> vitest/globals; eslint: exempt vitest config files from enforce-module-boundaries; nx.json jest target-default -> test - removed jest, ts-jest, @types/jest, jest-environment-jsdom, jest-util, @swc/jest, @nx/jest; bumped @types/node -> ^22 (vitest peer; we run Node 22) - core snapshots regenerated in vitest format all 10 projects green (lint/build/test); publint+attw clean; lockfile in sync. Co-Authored-By: Claude Opus 4.8 (1M context) --- .eslintrc.json | 6 + jest.config.ts | 5 - jest.preset.js | 20 - nx.json | 13 +- package.json | 14 +- packages/classes/jest.config.cjs | 15 - packages/classes/mapped-types/jest.config.cjs | 15 - packages/classes/mapped-types/project.json | 12 +- .../classes/mapped-types/tsconfig.spec.json | 11 +- .../classes/mapped-types/vitest.config.ts | 3 + packages/classes/project.json | 8 +- .../classes/src/lib/specs/automap.spec.ts | 4 +- .../transformer-plugin/jest.config.cjs | 15 - .../classes/transformer-plugin/project.json | 12 +- .../transformer-plugin/tsconfig.spec.json | 11 +- .../transformer-plugin/vitest.config.ts | 3 + packages/classes/tsconfig.spec.json | 11 +- packages/classes/vitest.config.ts | 3 + packages/core/jest.config.cjs | 9 - packages/core/project.json | 8 +- .../specs/__snapshots__/extend.spec.ts.snap | 52 +- .../specs/__snapshots__/for-self.spec.ts.snap | 52 +- .../specs/after-map.spec.ts | 2 +- .../specs/before-map.spec.ts | 2 +- .../specs/construct-using.spec.ts | 2 +- .../specs/type-converters.spec.ts | 8 +- .../specs/map-with.spec.ts | 2 +- packages/core/tsconfig.spec.json | 12 +- packages/core/vitest.config.ts | 3 + packages/integration-test/jest-setup.ts | 8 - packages/integration-test/jest.config.ts | 12 - packages/integration-test/project.json | 6 +- .../src/classes/map-callback.spec.ts | 24 +- .../src/nestjs/app.controller.spec.ts | 8 +- .../foo-extend/foo-extend.controller.spec.ts | 2 +- packages/integration-test/tsconfig.lib.json | 2 +- packages/integration-test/tsconfig.spec.json | 13 +- packages/integration-test/vitest.config.ts | 8 + packages/mikro/jest.config.cjs | 15 - packages/mikro/project.json | 8 +- packages/mikro/tsconfig.spec.json | 11 +- packages/mikro/vitest.config.ts | 3 + packages/nestjs/jest.config.cjs | 16 - packages/nestjs/project.json | 8 +- packages/nestjs/tsconfig.spec.json | 11 +- packages/nestjs/vitest.config.ts | 3 + packages/pojos/jest.config.cjs | 15 - packages/pojos/project.json | 8 +- packages/pojos/tsconfig.spec.json | 11 +- packages/pojos/vitest.config.ts | 3 + packages/sequelize/jest.config.cjs | 15 - packages/sequelize/project.json | 8 +- packages/sequelize/tsconfig.spec.json | 11 +- packages/sequelize/vitest.config.ts | 3 + packages/zod/jest.config.cjs | 9 - packages/zod/project.json | 10 +- packages/zod/tsconfig.lib.json | 2 +- packages/zod/tsconfig.spec.json | 7 +- packages/zod/vitest.config.ts | 3 + pnpm-lock.yaml | 1953 +++++++---------- vitest.shared.ts | 60 + 61 files changed, 1072 insertions(+), 1537 deletions(-) delete mode 100644 jest.config.ts delete mode 100644 jest.preset.js delete mode 100644 packages/classes/jest.config.cjs delete mode 100644 packages/classes/mapped-types/jest.config.cjs create mode 100644 packages/classes/mapped-types/vitest.config.ts delete mode 100644 packages/classes/transformer-plugin/jest.config.cjs create mode 100644 packages/classes/transformer-plugin/vitest.config.ts create mode 100644 packages/classes/vitest.config.ts delete mode 100644 packages/core/jest.config.cjs create mode 100644 packages/core/vitest.config.ts delete mode 100644 packages/integration-test/jest-setup.ts delete mode 100644 packages/integration-test/jest.config.ts create mode 100644 packages/integration-test/vitest.config.ts delete mode 100644 packages/mikro/jest.config.cjs create mode 100644 packages/mikro/vitest.config.ts delete mode 100644 packages/nestjs/jest.config.cjs create mode 100644 packages/nestjs/vitest.config.ts delete mode 100644 packages/pojos/jest.config.cjs create mode 100644 packages/pojos/vitest.config.ts delete mode 100644 packages/sequelize/jest.config.cjs create mode 100644 packages/sequelize/vitest.config.ts delete mode 100644 packages/zod/jest.config.cjs create mode 100644 packages/zod/vitest.config.ts create mode 100644 vitest.shared.ts diff --git a/.eslintrc.json b/.eslintrc.json index f21e2edfe..35dbfcd80 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -30,6 +30,12 @@ "files": ["*.js", "*.jsx"], "extends": ["plugin:@nx/javascript"], "rules": {} + }, + { + "files": ["**/vitest.config.ts", "vitest.shared.ts"], + "rules": { + "@nx/enforce-module-boundaries": "off" + } } ] } diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index bc8bf54a4..000000000 --- a/jest.config.ts +++ /dev/null @@ -1,5 +0,0 @@ -const { getJestProjectsAsync } = require('@nx/jest'); - -module.exports = async () => ({ - projects: await getJestProjectsAsync(), -}); diff --git a/jest.preset.js b/jest.preset.js deleted file mode 100644 index 49b7102db..000000000 --- a/jest.preset.js +++ /dev/null @@ -1,20 +0,0 @@ -const nxPreset = require('@nx/jest/preset').default; - -module.exports = { - ...nxPreset, - extensionsToTreatAsEsm: ['.ts'], - globals: {}, - moduleNameMapper: { - '^(\\.{1,2}/.*)\\.js$': '$1', - }, - /* TODO: Update to latest Jest snapshotFormat - * By default Nx has kept the older style of Jest Snapshot formats - * to prevent breaking of any existing tests with snapshots. - * It's recommend you update to the latest format. - * You can do this by removing snapshotFormat property - * and running tests with --update-snapshot flag. - * Example: "nx affected --targets=test --update-snapshot" - * More info: https://jestjs.io/docs/upgrading-to-jest29#snapshot-format - */ - snapshotFormat: { escapeString: true, printBasicPrototype: true }, -}; diff --git a/nx.json b/nx.json index 39ccaa8cc..b1c51398f 100644 --- a/nx.json +++ b/nx.json @@ -15,18 +15,9 @@ "package-lib": { "cache": true }, - "@nx/jest:jest": { + "test": { "inputs": ["default", "^prod"], - "cache": true, - "options": { - "passWithNoTests": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - } + "cache": true }, "@nx/eslint:lint": { "inputs": [ diff --git a/package.json b/package.json index 94ab7740d..c5b097f5b 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,6 @@ "@nx/devkit": "22.7.5", "@nx/eslint": "22.7.5", "@nx/eslint-plugin": "22.7.5", - "@nx/jest": "22.7.5", "@nx/js": "22.7.5", "@nx/nest": "22.7.5", "@nx/web": "22.7.5", @@ -39,12 +38,11 @@ "@release-it/conventional-changelog": "5.1.1", "@swc/cli": "0.7.10", "@swc/core": "1.15.41", - "@swc/jest": "0.2.39", - "@types/jest": "30.0.0", - "@types/node": "18.19.130", + "@types/node": "^22.10.0", "@types/supertest": "2.0.12", "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", + "@vitest/coverage-v8": "4.1.9", "all-contributors-cli": "6.24.0", "babel-preset-minify": "0.5.2", "commitizen": "4.3.0", @@ -53,9 +51,6 @@ "eslint": "8.57.1", "eslint-config-prettier": "10.1.8", "fs-extra": "^11.1.0", - "jest": "30.0.5", - "jest-environment-jsdom": "30.0.5", - "jest-util": "30.0.5", "nx": "22.7.5", "prettier": "2.8.4", "reflect-metadata": "~0.2.2", @@ -63,10 +58,11 @@ "rxjs": "~7.8.0", "sequelize": "6.29.2", "supertest": "6.3.3", - "ts-jest": "29.4.11", "ts-node": "10.9.1", "tsdown": "^0.22.3", - "typescript": "~5.9.0" + "typescript": "~5.9.0", + "unplugin-swc": "1.5.9", + "vitest": "4.1.9" }, "config": { "commitizen": { diff --git a/packages/classes/jest.config.cjs b/packages/classes/jest.config.cjs deleted file mode 100644 index 21ace1d4c..000000000 --- a/packages/classes/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - displayName: 'classes', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/classes', -}; diff --git a/packages/classes/mapped-types/jest.config.cjs b/packages/classes/mapped-types/jest.config.cjs deleted file mode 100644 index b5bbdda0b..000000000 --- a/packages/classes/mapped-types/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - displayName: 'classes-mapped-types', - preset: '../../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../../coverage/packages/classes/mapped-types', -}; diff --git a/packages/classes/mapped-types/project.json b/packages/classes/mapped-types/project.json index fa7a985df..31a958cac 100644 --- a/packages/classes/mapped-types/project.json +++ b/packages/classes/mapped-types/project.json @@ -2,18 +2,18 @@ "name": "classes-mapped-types", "$schema": "../../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/classes/mapped-types/src", - "tags": ["classes"], + "tags": [ + "classes" + ], "targets": { "lint": { "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/classes/mapped-types" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/classes/mapped-types/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/classes/mapped-types" } } } diff --git a/packages/classes/mapped-types/tsconfig.spec.json b/packages/classes/mapped-types/tsconfig.spec.json index b7fd60494..9d7964098 100644 --- a/packages/classes/mapped-types/tsconfig.spec.json +++ b/packages/classes/mapped-types/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/classes/mapped-types/vitest.config.ts b/packages/classes/mapped-types/vitest.config.ts new file mode 100644 index 000000000..f64bb550d --- /dev/null +++ b/packages/classes/mapped-types/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/classes/project.json b/packages/classes/project.json index fc38c4a3b..998e7b84b 100644 --- a/packages/classes/project.json +++ b/packages/classes/project.json @@ -20,12 +20,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/classes" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/classes/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/classes" } }, "publish": { diff --git a/packages/classes/src/lib/specs/automap.spec.ts b/packages/classes/src/lib/specs/automap.spec.ts index ad8d68bf6..3277a97f1 100644 --- a/packages/classes/src/lib/specs/automap.spec.ts +++ b/packages/classes/src/lib/specs/automap.spec.ts @@ -3,8 +3,8 @@ import { AUTOMAP_PROPERTIES_METADATA_KEY } from '../keys'; import { AutoMap } from '../automap'; describe(AutoMap.name, () => { - const spiedReflectDefine = jest.spyOn(Reflect, 'defineMetadata'); - const spiedReflectGet = jest.spyOn(Reflect, 'getMetadata'); + const spiedReflectDefine = vi.spyOn(Reflect, 'defineMetadata'); + const spiedReflectGet = vi.spyOn(Reflect, 'getMetadata'); describe('primitives', () => { class Bar { diff --git a/packages/classes/transformer-plugin/jest.config.cjs b/packages/classes/transformer-plugin/jest.config.cjs deleted file mode 100644 index 731c44286..000000000 --- a/packages/classes/transformer-plugin/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - displayName: 'classes-transformer-plugin', - preset: '../../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../../coverage/packages/classes/transformer-plugin', -}; diff --git a/packages/classes/transformer-plugin/project.json b/packages/classes/transformer-plugin/project.json index 0d6aed256..f03a63705 100644 --- a/packages/classes/transformer-plugin/project.json +++ b/packages/classes/transformer-plugin/project.json @@ -2,18 +2,18 @@ "name": "classes-transformer-plugin", "$schema": "../../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/classes/transformer-plugin/src", - "tags": ["classes"], + "tags": [ + "classes" + ], "targets": { "lint": { "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/classes/transformer-plugin" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/classes/transformer-plugin/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/classes/transformer-plugin" } } } diff --git a/packages/classes/transformer-plugin/tsconfig.spec.json b/packages/classes/transformer-plugin/tsconfig.spec.json index b7fd60494..9d7964098 100644 --- a/packages/classes/transformer-plugin/tsconfig.spec.json +++ b/packages/classes/transformer-plugin/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/classes/transformer-plugin/vitest.config.ts b/packages/classes/transformer-plugin/vitest.config.ts new file mode 100644 index 000000000..f64bb550d --- /dev/null +++ b/packages/classes/transformer-plugin/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/classes/tsconfig.spec.json b/packages/classes/tsconfig.spec.json index eb1304a88..4370f7f36 100644 --- a/packages/classes/tsconfig.spec.json +++ b/packages/classes/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/classes/vitest.config.ts b/packages/classes/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/classes/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/core/jest.config.cjs b/packages/core/jest.config.cjs deleted file mode 100644 index 15f285a90..000000000 --- a/packages/core/jest.config.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - displayName: 'core', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': 'ts-jest', - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/core', -}; diff --git a/packages/core/project.json b/packages/core/project.json index 430d1aee2..f4a99ec97 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -20,12 +20,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/core" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/core/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/core" } }, "publish": { diff --git a/packages/core/src/lib/mapping-configurations/specs/__snapshots__/extend.spec.ts.snap b/packages/core/src/lib/mapping-configurations/specs/__snapshots__/extend.spec.ts.snap index 6c8ac9eae..c2a1a44d3 100644 --- a/packages/core/src/lib/mapping-configurations/specs/__snapshots__/extend.spec.ts.snap +++ b/packages/core/src/lib/mapping-configurations/specs/__snapshots__/extend.spec.ts.snap @@ -1,23 +1,23 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`extend should extend another mapping 1`] = ` -Array [ - Array [ - Array [ +exports[`extend > should extend another mapping 1`] = ` +[ + [ + [ "foo", ], - Array [ - Array [ + [ + [ "foo", ], - Array [ - Array [ + [ + [ 6, [Function], ], ], ], - Array [ + [ [Function], [Function], ], @@ -25,44 +25,44 @@ Array [ ] `; -exports[`extend should skip existing mapping properties on extended mapping 1`] = ` -Array [ - Array [ - Array [ +exports[`extend > should skip existing mapping properties on extended mapping 1`] = ` +[ + [ + [ "foo", ], - Array [ - Array [ + [ + [ "foo", ], - Array [ - Array [ + [ + [ 6, [Function], ], ], ], - Array [ + [ [Function], [Function], ], ], - Array [ - Array [ + [ + [ "bar", ], - Array [ - Array [ + [ + [ "bar", ], - Array [ - Array [ + [ + [ 6, [Function], ], ], ], - Array [ + [ [Function], [Function], ], diff --git a/packages/core/src/lib/mapping-configurations/specs/__snapshots__/for-self.spec.ts.snap b/packages/core/src/lib/mapping-configurations/specs/__snapshots__/for-self.spec.ts.snap index 5e64f07fe..2c0014a3e 100644 --- a/packages/core/src/lib/mapping-configurations/specs/__snapshots__/for-self.spec.ts.snap +++ b/packages/core/src/lib/mapping-configurations/specs/__snapshots__/for-self.spec.ts.snap @@ -1,43 +1,43 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`forSelf should skip existing mapping properties from another mapping 1`] = ` -Array [ - Array [ - Array [ +exports[`forSelf > should skip existing mapping properties from another mapping 1`] = ` +[ + [ + [ "foo", ], - Array [ - Array [ + [ + [ "foo", ], - Array [ - Array [ + [ + [ 6, [Function], ], ], ], - Array [ + [ [Function], [Function], ], ], - Array [ - Array [ + [ + [ "bar", ], - Array [ - Array [ + [ + [ "bar", ], - Array [ - Array [ + [ + [ 6, [Function], ], ], ], - Array [ + [ [Function], [Function], ], @@ -45,24 +45,24 @@ Array [ ] `; -exports[`forSelf should update mapping properties with another mapping 1`] = ` -Array [ - Array [ - Array [ +exports[`forSelf > should update mapping properties with another mapping 1`] = ` +[ + [ + [ "foo", ], - Array [ - Array [ + [ + [ "foo", ], - Array [ - Array [ + [ + [ 6, [Function], ], ], ], - Array [ + [ [Function], [Function], ], diff --git a/packages/core/src/lib/mapping-configurations/specs/after-map.spec.ts b/packages/core/src/lib/mapping-configurations/specs/after-map.spec.ts index 50448416a..20eb93fa7 100644 --- a/packages/core/src/lib/mapping-configurations/specs/after-map.spec.ts +++ b/packages/core/src/lib/mapping-configurations/specs/after-map.spec.ts @@ -5,7 +5,7 @@ import { afterMap } from '../after-map'; describe(afterMap.name, () => { it('should update mapping configuration with afterMap', () => { const mapping = [] as unknown as Mapping; - const cb = jest.fn(); + const cb = vi.fn(); afterMap(cb)(mapping); expect( mapping[MappingClassId.callbacks]![MappingCallbacksClassId.afterMap] diff --git a/packages/core/src/lib/mapping-configurations/specs/before-map.spec.ts b/packages/core/src/lib/mapping-configurations/specs/before-map.spec.ts index fb4b91dec..3a06632ba 100644 --- a/packages/core/src/lib/mapping-configurations/specs/before-map.spec.ts +++ b/packages/core/src/lib/mapping-configurations/specs/before-map.spec.ts @@ -5,7 +5,7 @@ import { beforeMap } from '../before-map'; describe(beforeMap.name, () => { it('should update mapping configuration with beforeMap', () => { const mapping = [] as unknown as Mapping; - const cb = jest.fn(); + const cb = vi.fn(); beforeMap(cb)(mapping); expect( mapping[MappingClassId.callbacks]![ diff --git a/packages/core/src/lib/mapping-configurations/specs/construct-using.spec.ts b/packages/core/src/lib/mapping-configurations/specs/construct-using.spec.ts index a3adb5941..f3bff5bb6 100644 --- a/packages/core/src/lib/mapping-configurations/specs/construct-using.spec.ts +++ b/packages/core/src/lib/mapping-configurations/specs/construct-using.spec.ts @@ -5,7 +5,7 @@ import { constructUsing } from '../construct-using'; describe(constructUsing.name, () => { it('should update destinationConstructor for the mapping', () => { const mapping = [] as unknown as Mapping; - const constructor = jest.fn(); + const constructor = vi.fn(); constructUsing(constructor)(mapping); expect(mapping[MappingClassId.destinationConstructor]).toBe( constructor diff --git a/packages/core/src/lib/mapping-configurations/specs/type-converters.spec.ts b/packages/core/src/lib/mapping-configurations/specs/type-converters.spec.ts index 30b49993d..ae05fe1ee 100644 --- a/packages/core/src/lib/mapping-configurations/specs/type-converters.spec.ts +++ b/packages/core/src/lib/mapping-configurations/specs/type-converters.spec.ts @@ -5,7 +5,7 @@ import { typeConverter } from '../type-converters'; describe(typeConverter.name, () => { it('should update mapping type converters for Type to Type', () => { const mapping = [] as unknown as Mapping; - const selector = jest.fn(); + const selector = vi.fn(); typeConverter(String, Number, selector)(mapping); /** @@ -27,7 +27,7 @@ describe(typeConverter.name, () => { it('should update mapping type converters for [Type] to [Type]', () => { const mapping = [] as unknown as Mapping; - const selector = jest.fn(); + const selector = vi.fn(); typeConverter([String], [Number], selector)(mapping); /** @@ -49,7 +49,7 @@ describe(typeConverter.name, () => { it('should update mapping type converters for Type to [Type]', () => { const mapping = [] as unknown as Mapping; - const selector = jest.fn(); + const selector = vi.fn(); typeConverter(String, [Number], selector)(mapping); /** @@ -71,7 +71,7 @@ describe(typeConverter.name, () => { it('should update mapping type converters for [Type] to Type', () => { const mapping = [] as unknown as Mapping; - const selector = jest.fn(); + const selector = vi.fn(); typeConverter([String], Number, selector)(mapping); /** diff --git a/packages/core/src/lib/member-map-functions/specs/map-with.spec.ts b/packages/core/src/lib/member-map-functions/specs/map-with.spec.ts index 166045ebf..381ecf8e5 100644 --- a/packages/core/src/lib/member-map-functions/specs/map-with.spec.ts +++ b/packages/core/src/lib/member-map-functions/specs/map-with.spec.ts @@ -7,7 +7,7 @@ describe(mapWith.name, () => { const withDestination = ''; const withSource = ''; - const mapper = { map: jest.fn(), mapArray: jest.fn() }; + const mapper = { map: vi.fn(), mapArray: vi.fn() }; it('should return correctly', () => { const mapWithFn = mapWith(withDestination, withSource, selector); diff --git a/packages/core/tsconfig.spec.json b/packages/core/tsconfig.spec.json index 0eabbc4eb..2aa4370c5 100644 --- a/packages/core/tsconfig.spec.json +++ b/packages/core/tsconfig.spec.json @@ -3,7 +3,15 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node", "reflect-metadata"] + "types": [ + "vitest/globals", + "node", + "reflect-metadata" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/core/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/integration-test/jest-setup.ts b/packages/integration-test/jest-setup.ts deleted file mode 100644 index 3b859e241..000000000 --- a/packages/integration-test/jest-setup.ts +++ /dev/null @@ -1,8 +0,0 @@ -import 'reflect-metadata'; -import { TextDecoder, TextEncoder } from 'node:util'; - -// jsdom test env (jest 30) doesn't provide TextEncoder/TextDecoder, which -// supertest/whatwg-url need at import time in the NestJS controller specs. -const g = globalThis as Record; -g['TextEncoder'] ??= TextEncoder; -g['TextDecoder'] ??= TextDecoder; diff --git a/packages/integration-test/jest.config.ts b/packages/integration-test/jest.config.ts deleted file mode 100644 index 5c6ae7f84..000000000 --- a/packages/integration-test/jest.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* eslint-disable */ -module.exports = { - displayName: 'integration-test', - - transform: { - '^.+\\.[tj]s$': 'ts-jest', - }, - setupFiles: ['./jest-setup.ts'], - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/integration-test', - preset: '../../jest.preset.js', -}; diff --git a/packages/integration-test/project.json b/packages/integration-test/project.json index 7ad98368d..c2831f928 100644 --- a/packages/integration-test/project.json +++ b/packages/integration-test/project.json @@ -8,10 +8,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/packages/integration-test"], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/integration-test/jest.config.ts" + "command": "vitest run", + "cwd": "packages/integration-test" } } } diff --git a/packages/integration-test/src/classes/map-callback.spec.ts b/packages/integration-test/src/classes/map-callback.spec.ts index 2dc7229e5..135ed77ac 100644 --- a/packages/integration-test/src/classes/map-callback.spec.ts +++ b/packages/integration-test/src/classes/map-callback.spec.ts @@ -19,8 +19,8 @@ describe('Map - Map Callback', () => { }); it('should map with mapping callbacks', () => { - const beforeMap = jest.fn(); - const afterMap = jest.fn(); + const beforeMap = vi.fn(); + const afterMap = vi.fn(); addProfile(mapper, simpleUserProfileFactory({ beforeMap, afterMap })); @@ -37,8 +37,8 @@ describe('Map - Map Callback', () => { }); it('should map with map callbacks', () => { - const beforeMap = jest.fn(); - const afterMap = jest.fn(); + const beforeMap = vi.fn(); + const afterMap = vi.fn(); addProfile(mapper, simpleUserProfileFactory()); @@ -59,10 +59,10 @@ describe('Map - Map Callback', () => { }); it('should run with map callbacks if both map/mapping callbacks are provided', () => { - const beforeMap = jest.fn(); - const afterMap = jest.fn(); - const mappingBeforeMap = jest.fn(); - const mappingAfterMap = jest.fn(); + const beforeMap = vi.fn(); + const afterMap = vi.fn(); + const mappingBeforeMap = vi.fn(); + const mappingAfterMap = vi.fn(); addProfile( mapper, @@ -92,8 +92,8 @@ describe('Map - Map Callback', () => { }); it('should skip mapping callbacks with mapArray', () => { - const beforeMap = jest.fn(); - const afterMap = jest.fn(); + const beforeMap = vi.fn(); + const afterMap = vi.fn(); addProfile(mapper, simpleUserProfileFactory({ beforeMap, afterMap })); @@ -112,8 +112,8 @@ describe('Map - Map Callback', () => { }); it('should run map callbacks with mapArray', () => { - const beforeMap = jest.fn(); - const afterMap = jest.fn(); + const beforeMap = vi.fn(); + const afterMap = vi.fn(); addProfile(mapper, simpleUserProfileFactory()); diff --git a/packages/integration-test/src/nestjs/app.controller.spec.ts b/packages/integration-test/src/nestjs/app.controller.spec.ts index 31f512f13..18b6d6106 100644 --- a/packages/integration-test/src/nestjs/app.controller.spec.ts +++ b/packages/integration-test/src/nestjs/app.controller.spec.ts @@ -1,6 +1,6 @@ import { INestApplication } from '@nestjs/common'; import { Test } from '@nestjs/testing'; -import * as request from 'supertest'; +import request from 'supertest'; import { getUser, getUserDto } from '../classes/utils/get-user'; import { AppController } from './app.controller'; import { AppModule } from './app.module'; @@ -10,9 +10,9 @@ describe(AppController.name, () => { let app: INestApplication; const mockedAppService = { - getData: jest.fn(), - getUserDto: jest.fn(), - getRawUser: jest.fn(), + getData: vi.fn(), + getUserDto: vi.fn(), + getRawUser: vi.fn(), }; beforeAll(async () => { diff --git a/packages/integration-test/src/nestjs/foo-extend/foo-extend.controller.spec.ts b/packages/integration-test/src/nestjs/foo-extend/foo-extend.controller.spec.ts index 528d9c580..469e8d8cc 100644 --- a/packages/integration-test/src/nestjs/foo-extend/foo-extend.controller.spec.ts +++ b/packages/integration-test/src/nestjs/foo-extend/foo-extend.controller.spec.ts @@ -3,7 +3,7 @@ import { CamelCaseNamingConvention } from '@automapper/core'; import { AutomapperModule } from '@automapper/nestjs'; import { INestApplication } from '@nestjs/common'; import { Test } from '@nestjs/testing'; -import * as request from 'supertest'; +import request from 'supertest'; import { BarDto } from '../foo/foo'; import { FooModule } from '../foo/foo.module'; import { FooExtendDto } from './foo-extend'; diff --git a/packages/integration-test/tsconfig.lib.json b/packages/integration-test/tsconfig.lib.json index b27b9e9a6..e38de734b 100644 --- a/packages/integration-test/tsconfig.lib.json +++ b/packages/integration-test/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": [] }, "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts", "jest.config.ts"] + "exclude": ["**/*.spec.ts", "**/*.test.ts", "vitest.config.ts"] } diff --git a/packages/integration-test/tsconfig.spec.json b/packages/integration-test/tsconfig.spec.json index 2fd8c6054..e35d67a3f 100644 --- a/packages/integration-test/tsconfig.spec.json +++ b/packages/integration-test/tsconfig.spec.json @@ -3,7 +3,16 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node", "reflect-metadata"] + "types": [ + "vitest/globals", + "node", + "reflect-metadata" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts", "jest.config.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts", + "vitest.config.ts" + ] } diff --git a/packages/integration-test/vitest.config.ts b/packages/integration-test/vitest.config.ts new file mode 100644 index 000000000..f8a03ce54 --- /dev/null +++ b/packages/integration-test/vitest.config.ts @@ -0,0 +1,8 @@ +import { vitestConfig } from '../../vitest.shared'; + +// supertest is a bare CommonJS function export (module.exports = fn, no +// `.default`); vite's SSR interop otherwise leaves the default import as a +// non-callable namespace. Inlining lets vitest re-bundle it with proper interop. +export default vitestConfig({ + server: { deps: { inline: ['supertest'] } }, +}); diff --git a/packages/mikro/jest.config.cjs b/packages/mikro/jest.config.cjs deleted file mode 100644 index dc1e38b60..000000000 --- a/packages/mikro/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - displayName: 'mikro', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/mikro', -}; diff --git a/packages/mikro/project.json b/packages/mikro/project.json index 9c008cd5b..e198a4a51 100644 --- a/packages/mikro/project.json +++ b/packages/mikro/project.json @@ -19,12 +19,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/mikro" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/mikro/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/mikro" } }, "publish": { diff --git a/packages/mikro/tsconfig.spec.json b/packages/mikro/tsconfig.spec.json index eb1304a88..4370f7f36 100644 --- a/packages/mikro/tsconfig.spec.json +++ b/packages/mikro/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/mikro/vitest.config.ts b/packages/mikro/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/mikro/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/nestjs/jest.config.cjs b/packages/nestjs/jest.config.cjs deleted file mode 100644 index d6924274c..000000000 --- a/packages/nestjs/jest.config.cjs +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - displayName: 'nestjs', - preset: '../../jest.preset.js', - globals: {}, - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/nestjs', -}; diff --git a/packages/nestjs/project.json b/packages/nestjs/project.json index 4da04a235..dbc88e354 100644 --- a/packages/nestjs/project.json +++ b/packages/nestjs/project.json @@ -19,12 +19,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/nestjs" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/nestjs/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/nestjs" } }, "publish": { diff --git a/packages/nestjs/tsconfig.spec.json b/packages/nestjs/tsconfig.spec.json index eb1304a88..4370f7f36 100644 --- a/packages/nestjs/tsconfig.spec.json +++ b/packages/nestjs/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/nestjs/vitest.config.ts b/packages/nestjs/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/nestjs/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/pojos/jest.config.cjs b/packages/pojos/jest.config.cjs deleted file mode 100644 index a88e1934e..000000000 --- a/packages/pojos/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - displayName: 'pojos', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/pojos', -}; diff --git a/packages/pojos/project.json b/packages/pojos/project.json index 0a0e35a67..ffc1616fd 100644 --- a/packages/pojos/project.json +++ b/packages/pojos/project.json @@ -19,12 +19,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/pojos" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/pojos/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/pojos" } }, "publish": { diff --git a/packages/pojos/tsconfig.spec.json b/packages/pojos/tsconfig.spec.json index eb1304a88..4370f7f36 100644 --- a/packages/pojos/tsconfig.spec.json +++ b/packages/pojos/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/pojos/vitest.config.ts b/packages/pojos/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/pojos/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/sequelize/jest.config.cjs b/packages/sequelize/jest.config.cjs deleted file mode 100644 index 6c6fa8e7d..000000000 --- a/packages/sequelize/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - displayName: 'sequelize', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/sequelize', -}; diff --git a/packages/sequelize/project.json b/packages/sequelize/project.json index 19d183e9d..20f2d2c80 100644 --- a/packages/sequelize/project.json +++ b/packages/sequelize/project.json @@ -19,12 +19,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": [ - "{workspaceRoot}/coverage/packages/sequelize" - ], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/sequelize/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/sequelize" } }, "publish": { diff --git a/packages/sequelize/tsconfig.spec.json b/packages/sequelize/tsconfig.spec.json index eb1304a88..4370f7f36 100644 --- a/packages/sequelize/tsconfig.spec.json +++ b/packages/sequelize/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, - "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] } diff --git a/packages/sequelize/vitest.config.ts b/packages/sequelize/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/sequelize/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/packages/zod/jest.config.cjs b/packages/zod/jest.config.cjs deleted file mode 100644 index 5802a8fa0..000000000 --- a/packages/zod/jest.config.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - displayName: 'zod', - preset: '../../jest.preset.js', - transform: { - '^.+\\.[tj]s$': 'ts-jest', - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/packages/zod', -}; diff --git a/packages/zod/project.json b/packages/zod/project.json index 0d8658d19..77116aad2 100644 --- a/packages/zod/project.json +++ b/packages/zod/project.json @@ -7,7 +7,9 @@ "targets": { "build": { "executor": "@nx/rollup:rollup", - "outputs": ["{options.outputPath}"], + "outputs": [ + "{options.outputPath}" + ], "options": { "outputPath": "dist/packages/zod", "main": "packages/zod/src/index.ts", @@ -21,10 +23,10 @@ "executor": "@nx/eslint:lint" }, "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], + "executor": "nx:run-commands", "options": { - "jestConfig": "packages/zod/jest.config.cjs" + "command": "vitest run", + "cwd": "packages/zod" } } } diff --git a/packages/zod/tsconfig.lib.json b/packages/zod/tsconfig.lib.json index f81b28bff..bacc931a4 100644 --- a/packages/zod/tsconfig.lib.json +++ b/packages/zod/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] + "exclude": ["vitest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] } diff --git a/packages/zod/tsconfig.spec.json b/packages/zod/tsconfig.spec.json index b34a510e4..70521deee 100644 --- a/packages/zod/tsconfig.spec.json +++ b/packages/zod/tsconfig.spec.json @@ -3,10 +3,13 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "node" + ] }, "include": [ - "jest.config.ts", + "vitest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts" diff --git a/packages/zod/vitest.config.ts b/packages/zod/vitest.config.ts new file mode 100644 index 000000000..87e7ee687 --- /dev/null +++ b/packages/zod/vitest.config.ts @@ -0,0 +1,3 @@ +import { vitestConfig } from '../../vitest.shared'; + +export default vitestConfig(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e654e5b33..0a38971ba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,18 +46,15 @@ importers: '@nx/eslint-plugin': specifier: 22.7.5 version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.9.3) - '@nx/jest': - specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': specifier: 22.7.5 version: 22.7.5(@swc/core@1.15.41)(nx@22.7.5) '@nx/nest': specifier: 22.7.5 - version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3) + version: 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3) '@nx/web': specifier: 22.7.5 - version: 22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) + version: 22.7.5(@nx/eslint@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) '@nx/workspace': specifier: 22.7.5 version: 22.7.5(@swc/core@1.15.41) @@ -73,15 +70,9 @@ importers: '@swc/core': specifier: 1.15.41 version: 1.15.41(@swc/helpers@0.5.23) - '@swc/jest': - specifier: 0.2.39 - version: 0.2.39(@swc/core@1.15.41) - '@types/jest': - specifier: 30.0.0 - version: 30.0.0 '@types/node': - specifier: 18.19.130 - version: 18.19.130 + specifier: ^22.10.0 + version: 22.20.0 '@types/supertest': specifier: 2.0.12 version: 2.0.12 @@ -91,6 +82,9 @@ importers: '@typescript-eslint/parser': specifier: 7.18.0 version: 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@vitest/coverage-v8': + specifier: 4.1.9 + version: 4.1.9(vitest@4.1.9) all-contributors-cli: specifier: 6.24.0 version: 6.24.0 @@ -99,7 +93,7 @@ importers: version: 0.5.2 commitizen: specifier: 4.3.0 - version: 4.3.0(@types/node@18.19.130)(typescript@5.9.3) + version: 4.3.0(@types/node@22.20.0)(typescript@5.9.3) cz-customizable: specifier: 7.0.0 version: 7.0.0 @@ -115,15 +109,6 @@ importers: fs-extra: specifier: ^11.1.0 version: 11.3.5 - jest: - specifier: 30.0.5 - version: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) - jest-environment-jsdom: - specifier: 30.0.5 - version: 30.0.5 - jest-util: - specifier: 30.0.5 - version: 30.0.5 nx: specifier: 22.7.5 version: 22.7.5(@swc/core@1.15.41) @@ -145,18 +130,21 @@ importers: supertest: specifier: 6.3.3 version: 6.3.3 - ts-jest: - specifier: 29.4.11 - version: 29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.9.3) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3) + version: 10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@5.9.3) tsdown: specifier: ^0.22.3 version: 0.22.3(typescript@5.9.3) typescript: specifier: ~5.9.0 version: 5.9.3 + unplugin-swc: + specifier: 1.5.9 + version: 1.5.9(@swc/core@1.15.41) + vitest: + specifier: 4.1.9 + version: 4.1.9(@types/node@22.20.0)(@vitest/coverage-v8@4.1.9)(vite@8.0.16) packages/benchmark-core: dependencies: @@ -229,16 +217,6 @@ packages: - chokidar dev: true - /@asamuzakjp/css-color@3.2.0: - resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 10.4.3 - dev: true - /@babel/code-frame@7.29.7: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} @@ -1576,6 +1554,11 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@bcoe/v8-coverage@1.0.2: + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} + dev: true + /@borewit/text-codec@0.2.2: resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} dev: true @@ -1597,7 +1580,7 @@ packages: dev: true optional: true - /@commitlint/load@21.0.2(@types/node@18.19.130)(typescript@5.9.3): + /@commitlint/load@21.0.2(@types/node@22.20.0)(typescript@5.9.3): resolution: {integrity: sha512-lwUE70hN0/qE/ZRROhbaX65ly/FF12DrqfReLCESo37M0OQCFAf2jRS+2tSCSORq+bm4Kdju7qNDj46uc1QzTA==} engines: {node: '>=22.12.0'} requiresBuild: true @@ -1607,7 +1590,7 @@ packages: '@commitlint/resolve-extends': 21.0.1 '@commitlint/types': 21.0.1 cosmiconfig: 9.0.2(typescript@5.9.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.9.3) + cosmiconfig-typescript-loader: 6.3.0(@types/node@22.20.0)(cosmiconfig@9.0.2)(typescript@5.9.3) es-toolkit: 1.47.1 is-plain-obj: 4.1.0 picocolors: 1.1.1 @@ -1647,49 +1630,6 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@csstools/color-helpers@5.1.0: - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} - dev: true - - /@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4): - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - dev: true - - /@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4): - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - dev: true - - /@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4): - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 - dependencies: - '@csstools/css-tokenizer': 3.0.4 - dev: true - - /@csstools/css-tokenizer@3.0.4: - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} - dev: true - /@emnapi/core@1.10.0: resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} requiresBuild: true @@ -2089,81 +2029,18 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@30.0.5: - resolution: {integrity: sha512-xY6b0XiL0Nav3ReresUarwl2oIz1gTnxGbGpho9/rbUWsLH0f1OD/VT84xs8c7VmH7MChnLb0pag6PhZhAdDiA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - chalk: 4.1.2 - jest-message-util: 30.0.5 - jest-util: 30.0.5 - slash: 3.0.0 - dev: true - /@jest/console@30.4.1: resolution: {integrity: sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 jest-message-util: 30.4.1 jest-util: 30.4.1 slash: 3.0.0 dev: true - /@jest/core@30.0.5(ts-node@10.9.1): - resolution: {integrity: sha512-fKD0OulvRsXF1hmaFgHhVJzczWzA1RXMMo9LTPuFXo9q/alDbME3JIyWYqovWsUBWSoBcsHaGPSLF9rz4l9Qeg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 30.0.5 - '@jest/pattern': 30.0.1 - '@jest/reporters': 30.0.5 - '@jest/test-result': 30.0.5 - '@jest/transform': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 4.4.0 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-changed-files: 30.0.5 - jest-config: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) - jest-haste-map: 30.0.5 - jest-message-util: 30.0.5 - jest-regex-util: 30.0.1 - jest-resolve: 30.0.5 - jest-resolve-dependencies: 30.0.5 - jest-runner: 30.0.5 - jest-runtime: 30.0.5 - jest-snapshot: 30.0.5 - jest-util: 30.0.5 - jest-validate: 30.0.5 - jest-watcher: 30.0.5 - micromatch: 4.0.8 - pretty-format: 30.0.5 - slash: 3.0.0 - transitivePeerDependencies: - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - dev: true - - /@jest/create-cache-key-function@30.4.1: - resolution: {integrity: sha512-R+xGEtzA95NIsvpXJSROG4t01956dDOt17KpamguY4XOnGvdHNFFXE7Er0C1OAsRjOwiIxpKqOvGlznIGZIQlQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/types': 30.4.1 - dev: true - /@jest/diff-sequences@30.0.1: resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2174,53 +2051,16 @@ packages: engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dev: true - /@jest/environment-jsdom-abstract@30.0.5(jsdom@26.1.0): - resolution: {integrity: sha512-gpWwiVxZunkoglP8DCnT3As9x5O8H6gveAOpvaJd2ATAoSh7ZSSCWbr9LQtUMvr8WD3VjG9YnDhsmkCK5WN1rQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - jsdom: '*' - peerDependenciesMeta: - canvas: - optional: true - dependencies: - '@jest/environment': 30.0.5 - '@jest/fake-timers': 30.0.5 - '@jest/types': 30.0.5 - '@types/jsdom': 21.1.7 - '@types/node': 18.19.130 - jest-mock: 30.0.5 - jest-util: 30.0.5 - jsdom: 26.1.0 - dev: true - - /@jest/environment@30.0.5: - resolution: {integrity: sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/fake-timers': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - jest-mock: 30.0.5 - dev: true - /@jest/environment@30.4.1: resolution: {integrity: sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/fake-timers': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 jest-mock: 30.4.1 dev: true - /@jest/expect-utils@30.0.5: - resolution: {integrity: sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/get-type': 30.0.1 - dev: true - /@jest/expect-utils@30.4.1: resolution: {integrity: sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2228,16 +2068,6 @@ packages: '@jest/get-type': 30.1.0 dev: true - /@jest/expect@30.0.5: - resolution: {integrity: sha512-6udac8KKrtTtC+AXZ2iUN/R7dp7Ydry+Fo6FPFnDG54wjVMnb6vW/XNlf7Xj8UDjAE3aAVAsR4KFyKk3TCXmTA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - expect: 30.0.5 - jest-snapshot: 30.0.5 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/expect@30.4.1: resolution: {integrity: sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2248,52 +2078,23 @@ packages: - supports-color dev: true - /@jest/fake-timers@30.0.5: - resolution: {integrity: sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/types': 30.0.5 - '@sinonjs/fake-timers': 13.0.5 - '@types/node': 18.19.130 - jest-message-util: 30.0.5 - jest-mock: 30.0.5 - jest-util: 30.0.5 - dev: true - /@jest/fake-timers@30.4.1: resolution: {integrity: sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/types': 30.4.1 '@sinonjs/fake-timers': 15.4.0 - '@types/node': 18.19.130 + '@types/node': 22.20.0 jest-message-util: 30.4.1 jest-mock: 30.4.1 jest-util: 30.4.1 dev: true - /@jest/get-type@30.0.1: - resolution: {integrity: sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dev: true - /@jest/get-type@30.1.0: resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dev: true - /@jest/globals@30.0.5: - resolution: {integrity: sha512-7oEJT19WW4oe6HR7oLRvHxwlJk2gev0U9px3ufs8sX9PoD1Eza68KF0/tlN7X0dq/WVsBScXQGgCldA1V9Y/jA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/environment': 30.0.5 - '@jest/expect': 30.0.5 - '@jest/types': 30.0.5 - jest-mock: 30.0.5 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/globals@30.4.1: resolution: {integrity: sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2310,7 +2111,7 @@ packages: resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@types/node': 18.19.130 + '@types/node': 22.20.0 jest-regex-util: 30.0.1 dev: true @@ -2318,46 +2119,10 @@ packages: resolution: {integrity: sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@types/node': 18.19.130 + '@types/node': 22.20.0 jest-regex-util: 30.4.0 dev: true - /@jest/reporters@30.0.5: - resolution: {integrity: sha512-mafft7VBX4jzED1FwGC1o/9QUM2xebzavImZMeqnsklgcyxBto8mV4HzNSzUrryJ+8R9MFOM3HgYuDradWR+4g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.0.5 - '@jest/test-result': 30.0.5 - '@jest/transform': 30.0.5 - '@jest/types': 30.0.5 - '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 18.19.130 - chalk: 4.1.2 - collect-v8-coverage: 1.0.3 - exit-x: 0.2.2 - glob: 10.5.0 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.2.0 - jest-message-util: 30.0.5 - jest-util: 30.0.5 - jest-worker: 30.0.5 - slash: 3.0.0 - string-length: 4.0.2 - v8-to-istanbul: 9.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/reporters@30.4.1: resolution: {integrity: sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2373,7 +2138,7 @@ packages: '@jest/transform': 30.4.1 '@jest/types': 30.4.1 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit-x: 0.2.2 @@ -2408,16 +2173,6 @@ packages: '@sinclair/typebox': 0.34.49 dev: true - /@jest/snapshot-utils@30.0.5: - resolution: {integrity: sha512-XcCQ5qWHLvi29UUrowgDFvV4t7ETxX91CbDczMnoqXPOIcZOxyNdSjm6kV5XMc8+HkxfRegU/MUmnTbJRzGrUQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/types': 30.0.5 - chalk: 4.1.2 - graceful-fs: 4.2.11 - natural-compare: 1.4.0 - dev: true - /@jest/snapshot-utils@30.4.1: resolution: {integrity: sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2437,16 +2192,6 @@ packages: graceful-fs: 4.2.11 dev: true - /@jest/test-result@30.0.5: - resolution: {integrity: sha512-wPyztnK0gbDMQAJZ43tdMro+qblDHH1Ru/ylzUo21TBKqt88ZqnKKK2m30LKmLLoKtR2lxdpCC/P3g1vfKcawQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/console': 30.0.5 - '@jest/types': 30.0.5 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.3 - dev: true - /@jest/test-result@30.4.1: resolution: {integrity: sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2457,16 +2202,6 @@ packages: collect-v8-coverage: 1.0.3 dev: true - /@jest/test-sequencer@30.0.5: - resolution: {integrity: sha512-Aea/G1egWoIIozmDD7PBXUOxkekXl7ueGzrsGGi1SbeKgQqCYCIf+wfbflEbf2LiPxL8j2JZGLyrzZagjvW4YQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/test-result': 30.0.5 - graceful-fs: 4.2.11 - jest-haste-map: 30.0.5 - slash: 3.0.0 - dev: true - /@jest/test-sequencer@30.4.1: resolution: {integrity: sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2477,29 +2212,6 @@ packages: slash: 3.0.0 dev: true - /@jest/transform@30.0.5: - resolution: {integrity: sha512-Vk8amLQCmuZyy6GbBht1Jfo9RSdBtg7Lks+B0PecnjI8J+PCLQPGh7uI8Q/2wwpW2gLdiAfiHNsmekKlywULqg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@babel/core': 7.29.7 - '@jest/types': 30.0.5 - '@jridgewell/trace-mapping': 0.3.31 - babel-plugin-istanbul: 7.0.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: 30.0.5 - jest-regex-util: 30.0.1 - jest-util: 30.0.5 - micromatch: 4.0.8 - pirates: 4.0.7 - slash: 3.0.0 - write-file-atomic: 5.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/transform@30.4.1: resolution: {integrity: sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2530,7 +2242,7 @@ packages: '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.130 + '@types/node': 22.20.0 '@types/yargs': 17.0.35 chalk: 4.1.2 dev: true @@ -2543,7 +2255,7 @@ packages: '@jest/schemas': 30.4.1 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.130 + '@types/node': 22.20.0 '@types/yargs': 17.0.35 chalk: 4.1.2 dev: true @@ -3022,7 +2734,7 @@ packages: optional: true dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) eslint: 8.57.1 semver: 7.8.5 @@ -3038,7 +2750,7 @@ packages: - verdaccio dev: true - /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): + /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): resolution: {integrity: sha512-+WlVdtDlVM1dyJKQg/gKiMMs6B4cR8Qh3NT9J2WFPbKdD89DTR771j+WZE572MLijJmqzOE7uNH189kV1qEj0A==} dependencies: '@jest/reporters': 30.4.1 @@ -3047,7 +2759,7 @@ packages: '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) '@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3) identity-obj-proxy: 3.0.0 - jest-config: 30.4.2(@types/node@18.19.130)(ts-node@10.9.1) + jest-config: 30.4.2(@types/node@22.20.0)(ts-node@10.9.1) jest-resolve: 30.4.1 jest-util: 30.0.5 minimatch: 10.2.5 @@ -3115,14 +2827,14 @@ packages: - supports-color dev: true - /@nx/nest@22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3): + /@nx/nest@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3): resolution: {integrity: sha512-UhCLlH3UjankgIFcQi6ZYEgAKSfKQlk6g9jJJpN+yyPDvoQYDPOr0iPicO+dUJvX+xDOxI/jS8easNuZ64fVPA==} dependencies: '@nestjs/schematics': 11.1.0(prettier@2.8.4)(typescript@5.9.3) '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) + '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' @@ -3145,13 +2857,13 @@ packages: - verdaccio dev: true - /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): + /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): resolution: {integrity: sha512-BJckjbyOgClqD6h2mNDhjftSRsvxbuayw0vKpT9sbd1ivAVhUCqNpe/iVP/VEdTsaK3s26hacfifD8EH3fPNWQ==} dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/docker': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) kill-port: 1.6.1 tcp-port-used: 1.0.3 @@ -3254,7 +2966,7 @@ packages: dev: true optional: true - /@nx/web@22.7.5(@nx/eslint@22.7.5)(@nx/jest@22.7.5)(@swc/core@1.15.41)(nx@22.7.5): + /@nx/web@22.7.5(@nx/eslint@22.7.5)(@swc/core@1.15.41)(nx@22.7.5): resolution: {integrity: sha512-mJOx3BknJhdr2T7UD4b4LuWyTa+MyXXJvYymBjHvBuCmWC5o68wuDm2y5kXrZ1WxHJYlqoLZ2281QPVyB+SZ7A==} peerDependencies: '@nx/cypress': 22.7.5 @@ -3279,7 +2991,6 @@ packages: dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@18.19.130)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) detect-port: 2.1.0 http-server: 14.1.1 @@ -3437,6 +3148,10 @@ packages: '@octokit/openapi-types': 18.1.1 dev: true + /@oxc-project/types@0.133.0: + resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} + dev: true + /@oxc-project/types@0.137.0: resolution: {integrity: sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==} dev: true @@ -3527,6 +3242,15 @@ packages: semver: 7.3.8 dev: true + /@rolldown/binding-android-arm64@1.0.3: + resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-android-arm64@1.1.2: resolution: {integrity: sha512-2cZ+7xRS+DBcuJBJKnfzsbleumJhBqSlJVpuzHC0nTqfd3QQ7Vx2/x5YR/D7cBamKSeWplwo82Fn9lqYUDEMfA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3536,6 +3260,15 @@ packages: dev: true optional: true + /@rolldown/binding-darwin-arm64@1.0.3: + resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-darwin-arm64@1.1.2: resolution: {integrity: sha512-RkPMJnygxsgOYdkfqgpwY0/Fzm8d0VQe6HGU2/B00Xa9eqdLbrII+DOKAodbJAn3ZL1AJxGHkZRPYazgGY6Ljw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3545,6 +3278,15 @@ packages: dev: true optional: true + /@rolldown/binding-darwin-x64@1.0.3: + resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-darwin-x64@1.1.2: resolution: {integrity: sha512-Uiczh6vFhwyfd7WNe7Q7mCA4KxAiLdz7jPE/WGizfRpIieoyFuNVMmM8HqZ9HwudTkY6/AeMQwlNJ9NJijguWw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3554,6 +3296,15 @@ packages: dev: true optional: true + /@rolldown/binding-freebsd-x64@1.0.3: + resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-freebsd-x64@1.1.2: resolution: {integrity: sha512-+TpdtTRgHiJFjCVFbw311SuLk3KfytPOQQn+VlAEv+gBxYPtL7E6JS9e/tk+8CwxhIZvemJKo4rTKgfWNsKkkA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3563,6 +3314,15 @@ packages: dev: true optional: true + /@rolldown/binding-linux-arm-gnueabihf@1.0.3: + resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-linux-arm-gnueabihf@1.1.2: resolution: {integrity: sha512-4lv1/tkmi7ueIVHnyreaOeUpiZP26BH9rRy6hoYfR9310A2B9nUEVRDvBx69vx64Nr3eTPPRkyciqJJs+j9Jmw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3572,6 +3332,15 @@ packages: dev: true optional: true + /@rolldown/binding-linux-arm64-gnu@1.0.3: + resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-linux-arm64-gnu@1.1.2: resolution: {integrity: sha512-gBSUVO0eaWgw1JMjK3gB8BMlX2Mk148s2lTiVT3e9vjVxbl7UDfMWWY8CfIaaqiXuM9fVTMxIpUz6CAo/B6Vlw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3581,6 +3350,15 @@ packages: dev: true optional: true + /@rolldown/binding-linux-arm64-musl@1.0.3: + resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-linux-arm64-musl@1.1.2: resolution: {integrity: sha512-LjQP/iZLBu8o8PjIfk4x3At0/mT6h282pvz8Z5LAyhGbu/kDezyO7ea62rF5uoqmgnIYqbN/MqJ3Si3Aymi7xQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3590,6 +3368,15 @@ packages: dev: true optional: true + /@rolldown/binding-linux-ppc64-gnu@1.0.3: + resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-linux-ppc64-gnu@1.1.2: resolution: {integrity: sha512-X/7bVLWelEsbyWDUSXt7zVsTniLLPIY2n1rH58qr78l9i7MNbbxBWD8gI2vRfBWf4NUXJCUuQnfZDsp32LqsfQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3599,6 +3386,15 @@ packages: dev: true optional: true + /@rolldown/binding-linux-s390x-gnu@1.0.3: + resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-linux-s390x-gnu@1.1.2: resolution: {integrity: sha512-gb6dYKW/1KDorGXyy48glEBJs/sxVSC5pcVrox/pFGV4mvwSFeg2sK5L2tRkVsVlh7kueqOgg4GEcuipJcGuKg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3608,8 +3404,8 @@ packages: dev: true optional: true - /@rolldown/binding-linux-x64-gnu@1.1.2: - resolution: {integrity: sha512-JY4w85pU3iAiJVMh5nuk4/Mh9GjMsupe8MrIN53rwxAZW64GKrWeJBuN6SxQg9QTU5uB1cxyhDzW8jqRn1EABw==} + /@rolldown/binding-linux-x64-gnu@1.0.3: + resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3617,8 +3413,8 @@ packages: dev: true optional: true - /@rolldown/binding-linux-x64-musl@1.1.2: - resolution: {integrity: sha512-xvpA7o5KCYLB0Rwscmuylb1/zHHSUx4g4xilm4prC5jP76pEUlzBmMbgpbh7bVDbId4NcfT96gN5i6mE6UDaiw==} + /@rolldown/binding-linux-x64-gnu@1.1.2: + resolution: {integrity: sha512-JY4w85pU3iAiJVMh5nuk4/Mh9GjMsupe8MrIN53rwxAZW64GKrWeJBuN6SxQg9QTU5uB1cxyhDzW8jqRn1EABw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -3626,16 +3422,55 @@ packages: dev: true optional: true - /@rolldown/binding-openharmony-arm64@1.1.2: - resolution: {integrity: sha512-p/ts6KBLjuk49Bp21XH77poQGt02iNz7ChgHep7tudPOaLinR/De/RHdxF8w8Yj4r/bF/bqXwH6PZrB2sA+Nvw==} + /@rolldown/binding-linux-x64-musl@1.0.3: + resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==} engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] + cpu: [x64] + os: [linux] requiresBuild: true dev: true optional: true - /@rolldown/binding-wasm32-wasi@1.1.2: + /@rolldown/binding-linux-x64-musl@1.1.2: + resolution: {integrity: sha512-xvpA7o5KCYLB0Rwscmuylb1/zHHSUx4g4xilm4prC5jP76pEUlzBmMbgpbh7bVDbId4NcfT96gN5i6mE6UDaiw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-openharmony-arm64@1.0.3: + resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-openharmony-arm64@1.1.2: + resolution: {integrity: sha512-p/ts6KBLjuk49Bp21XH77poQGt02iNz7ChgHep7tudPOaLinR/De/RHdxF8w8Yj4r/bF/bqXwH6PZrB2sA+Nvw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + requiresBuild: true + dev: true + optional: true + + /@rolldown/binding-wasm32-wasi@1.0.3: + resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + requiresBuild: true + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + dev: true + optional: true + + /@rolldown/binding-wasm32-wasi@1.1.2: resolution: {integrity: sha512-VMu/wmrZ9hJzYlRhbw7jK5PODlugyKZ5mOdX78+lS8OvuFkWNQdz1pFLrI2p3P0pjXOmUZ7B48o5VnMH9QOGtg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] @@ -3647,6 +3482,15 @@ packages: dev: true optional: true + /@rolldown/binding-win32-arm64-msvc@1.0.3: + resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-win32-arm64-msvc@1.1.2: resolution: {integrity: sha512-xtUJqs8qEkuSviS0n1tsohaPuz3a1SPhZywOji4Oo+sgrJs8daEDMZ0QtqL0OS7dx8PoVpg2J/ZZycPY5I2+Zg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3656,6 +3500,15 @@ packages: dev: true optional: true + /@rolldown/binding-win32-x64-msvc@1.0.3: + resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rolldown/binding-win32-x64-msvc@1.1.2: resolution: {integrity: sha512-85YiLQqjUKgSO/Zjnf9e0XIn5Ymrh1fLDWBeAkZqpuBR/3R8TpfoHXuyblqyQrftSSgWO9qpcHN8mkyKsLraoA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3669,6 +3522,20 @@ packages: resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} dev: true + /@rollup/pluginutils@5.4.0: + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.9 + estree-walker: 2.0.2 + picomatch: 4.0.4 + dev: true + /@simple-libs/stream-utils@1.2.0: resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==} engines: {node: '>=18'} @@ -3691,18 +3558,16 @@ packages: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@13.0.5: - resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - dependencies: - '@sinonjs/commons': 3.0.1 - dev: true - /@sinonjs/fake-timers@15.4.0: resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} dependencies: '@sinonjs/commons': 3.0.1 dev: true + /@standard-schema/spec@1.1.0: + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + dev: true + /@swc/cli@0.7.10(@swc/core@1.15.41): resolution: {integrity: sha512-QQ36Q1VwGTT2YzvMeNe/j1x4DKS277DscNhWc57dIwQn//C+zAgvuSupMB/XkmYqPKQX+8hjn5/cHRJrMvWy0Q==} engines: {node: '>= 16.14.0'} @@ -3876,18 +3741,6 @@ packages: dependencies: tslib: 2.8.1 - /@swc/jest@0.2.39(@swc/core@1.15.41): - resolution: {integrity: sha512-eyokjOwYd0Q8RnMHri+8/FS1HIrIUKK/sRrFp8c1dThUOfNeCWbLmBP1P5VsKdvmkd25JaH+OKYwEYiAYg9YAA==} - engines: {npm: '>= 7.0.0'} - peerDependencies: - '@swc/core': '*' - dependencies: - '@jest/create-cache-key-function': 30.4.1 - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - '@swc/counter': 0.1.3 - jsonc-parser: 3.3.1 - dev: true - /@swc/types@0.1.27: resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} dependencies: @@ -3990,6 +3843,13 @@ packages: '@babel/types': 7.29.7 dev: true + /@types/chai@5.2.3: + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + dev: true + /@types/cookiejar@2.1.5: resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} dev: true @@ -4000,6 +3860,10 @@ packages: '@types/ms': 2.1.0 dev: true + /@types/deep-eql@4.0.2: + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + dev: true + /@types/esquery@1.5.4: resolution: {integrity: sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==} dependencies: @@ -4030,21 +3894,6 @@ packages: '@types/istanbul-lib-report': 3.0.3 dev: true - /@types/jest@30.0.0: - resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} - dependencies: - expect: 30.4.1 - pretty-format: 30.4.1 - dev: true - - /@types/jsdom@21.1.7: - resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} - dependencies: - '@types/node': 18.19.130 - '@types/tough-cookie': 4.0.5 - parse5: 7.3.0 - dev: true - /@types/jsesc@2.5.1: resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} dev: true @@ -4061,10 +3910,10 @@ packages: resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} dev: true - /@types/node@18.19.130: - resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} + /@types/node@22.20.0: + resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==} dependencies: - undici-types: 5.26.5 + undici-types: 6.21.0 dev: true /@types/normalize-package-data@2.4.4: @@ -4084,7 +3933,7 @@ packages: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 18.19.130 + '@types/node': 22.20.0 form-data: 4.0.6 dev: true @@ -4094,10 +3943,6 @@ packages: '@types/superagent': 8.1.10 dev: true - /@types/tough-cookie@4.0.5: - resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - dev: true - /@types/validator@13.15.10: resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} dev: true @@ -4522,6 +4367,90 @@ packages: dev: true optional: true + /@vitest/coverage-v8@4.1.9(vitest@4.1.9): + resolution: {integrity: sha512-G9/lgqibheLVBDRuya45EbsEXTYcWoSG+TLg7i2axuzx0Eq62eXn+aWXyaVdV5vKvFSWd6ywcX8hA7la9Pvu8g==} + peerDependencies: + '@vitest/browser': 4.1.9 + vitest: 4.1.9 + peerDependenciesMeta: + '@vitest/browser': + optional: true + dependencies: + '@bcoe/v8-coverage': 1.0.2 + '@vitest/utils': 4.1.9 + ast-v8-to-istanbul: 1.0.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 + magicast: 0.5.3 + obug: 2.1.3 + std-env: 4.1.0 + tinyrainbow: 3.1.0 + vitest: 4.1.9(@types/node@22.20.0)(@vitest/coverage-v8@4.1.9)(vite@8.0.16) + dev: true + + /@vitest/expect@4.1.9: + resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==} + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + chai: 6.2.2 + tinyrainbow: 3.1.0 + dev: true + + /@vitest/mocker@4.1.9(vite@8.0.16): + resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + dependencies: + '@vitest/spy': 4.1.9 + estree-walker: 3.0.3 + magic-string: 0.30.21 + vite: 8.0.16(@types/node@22.20.0) + dev: true + + /@vitest/pretty-format@4.1.9: + resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==} + dependencies: + tinyrainbow: 3.1.0 + dev: true + + /@vitest/runner@4.1.9: + resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==} + dependencies: + '@vitest/utils': 4.1.9 + pathe: 2.0.3 + dev: true + + /@vitest/snapshot@4.1.9: + resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==} + dependencies: + '@vitest/pretty-format': 4.1.9 + '@vitest/utils': 4.1.9 + magic-string: 0.30.21 + pathe: 2.0.3 + dev: true + + /@vitest/spy@4.1.9: + resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==} + dev: true + + /@vitest/utils@4.1.9: + resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==} + dependencies: + '@vitest/pretty-format': 4.1.9 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + dev: true + /@xhmikosr/archive-type@7.1.0: resolution: {integrity: sha512-xZEpnGplg1sNPyEgFh0zbHxqlw5dtYg6viplmWSxUj12+QjU9SKu3U/2G73a15pEjLaOqTefNSZ1fOPUOT4Xgg==} engines: {node: '>=18'} @@ -4719,11 +4648,6 @@ packages: - supports-color dev: true - /agent-base@7.1.4: - resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} - engines: {node: '>= 14'} - dev: true - /ajv-formats@3.0.1(ajv@8.18.0): resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: @@ -4946,6 +4870,11 @@ packages: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true + /assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + dev: true + /ast-kit@3.0.0: resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} engines: {node: ^22.18.0 || >=24.11.0} @@ -4962,6 +4891,14 @@ packages: tslib: 2.5.3 dev: true + /ast-v8-to-istanbul@1.0.4: + resolution: {integrity: sha512-0bC0/4bTSrnwdhU3IsZDwEdojvuPrSg59OYZfKsLRtJZ0u8VBx9DebfqqG8bRdCC0I7vjgxmPi41P0lpkhJHtA==} + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 10.0.0 + dev: true + /async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -5040,24 +4977,6 @@ packages: resolution: {integrity: sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==} dev: true - /babel-jest@30.0.5(@babel/core@7.29.7): - resolution: {integrity: sha512-mRijnKimhGDMsizTvBTWotwNpzrkHr+VvZUQBof2AufXKB8NXrL1W69TG20EvOz7aevx6FTJIaBuBkYxS8zolg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 - dependencies: - '@babel/core': 7.29.7 - '@jest/transform': 30.0.5 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 7.0.1 - babel-preset-jest: 30.0.1(@babel/core@7.29.7) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-jest@30.4.1(@babel/core@7.29.7): resolution: {integrity: sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -5102,15 +5021,6 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@30.0.1: - resolution: {integrity: sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - '@types/babel__core': 7.20.5 - dev: true - /babel-plugin-jest-hoist@30.4.0: resolution: {integrity: sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -5324,17 +5234,6 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) dev: true - /babel-preset-jest@30.0.1(@babel/core@7.29.7): - resolution: {integrity: sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 - dependencies: - '@babel/core': 7.29.7 - babel-plugin-jest-hoist: 30.0.1 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) - dev: true - /babel-preset-jest@30.4.0(@babel/core@7.29.7): resolution: {integrity: sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -5578,13 +5477,6 @@ packages: update-browserslist-db: 1.2.3(browserslist@4.28.2) dev: true - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: @@ -5708,6 +5600,11 @@ packages: resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} dev: true + /chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + dev: true + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -5896,13 +5793,13 @@ packages: esprima: 4.0.1 dev: true - /commitizen@4.3.0(@types/node@18.19.130)(typescript@5.9.3): + /commitizen@4.3.0(@types/node@22.20.0)(typescript@5.9.3): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@18.19.130)(typescript@5.9.3) + cz-conventional-changelog: 3.3.0(@types/node@22.20.0)(typescript@5.9.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -6206,7 +6103,7 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /cosmiconfig-typescript-loader@6.3.0(@types/node@18.19.130)(cosmiconfig@9.0.2)(typescript@5.9.3): + /cosmiconfig-typescript-loader@6.3.0(@types/node@22.20.0)(cosmiconfig@9.0.2)(typescript@5.9.3): resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} requiresBuild: true @@ -6215,7 +6112,7 @@ packages: cosmiconfig: '>=9' typescript: '>=5' dependencies: - '@types/node': 18.19.130 + '@types/node': 22.20.0 cosmiconfig: 9.0.2(typescript@5.9.3) jiti: 2.6.1 typescript: 5.9.3 @@ -6281,26 +6178,18 @@ packages: type-fest: 1.4.0 dev: true - /cssstyle@4.6.0: - resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} - engines: {node: '>=18'} - dependencies: - '@asamuzakjp/css-color': 3.2.0 - rrweb-cssom: 0.8.0 - dev: true - - /cz-conventional-changelog@3.3.0(@types/node@18.19.130)(typescript@5.9.3): + /cz-conventional-changelog@3.3.0(@types/node@22.20.0)(typescript@5.9.3): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@18.19.130)(typescript@5.9.3) + commitizen: 4.3.0(@types/node@22.20.0)(typescript@5.9.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 21.0.2(@types/node@18.19.130)(typescript@5.9.3) + '@commitlint/load': 21.0.2(@types/node@22.20.0)(typescript@5.9.3) transitivePeerDependencies: - '@types/node' - typescript @@ -6333,14 +6222,6 @@ packages: engines: {node: '>= 12'} dev: true - /data-urls@5.0.0: - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} - engines: {node: '>=18'} - dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - dev: true - /data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -6413,10 +6294,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /decimal.js@10.6.0: - resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - dev: true - /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -6533,6 +6410,11 @@ packages: engines: {node: '>=12.20'} dev: true + /detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + dev: true + /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -6709,11 +6591,6 @@ packages: ansi-colors: 4.1.3 dev: true - /entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} - dev: true - /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -6825,6 +6702,10 @@ packages: stop-iteration-iterator: 1.1.0 dev: true + /es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + dev: true + /es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -7061,6 +6942,10 @@ packages: engines: {node: '>=4.0'} dev: true + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: @@ -7131,16 +7016,9 @@ packages: homedir-polyfill: 1.0.3 dev: true - /expect@30.0.5: - resolution: {integrity: sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/expect-utils': 30.0.5 - '@jest/get-type': 30.0.1 - jest-matcher-utils: 30.0.5 - jest-message-util: 30.0.5 - jest-mock: 30.0.5 - jest-util: 30.0.5 + /expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} dev: true /expect@30.4.1: @@ -8054,13 +7932,6 @@ packages: whatwg-encoding: 2.0.0 dev: true - /html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} - dependencies: - whatwg-encoding: 3.1.1 - dev: true - /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -8091,16 +7962,6 @@ packages: - supports-color dev: true - /http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.4 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - dev: true - /http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} @@ -8153,16 +8014,6 @@ packages: - supports-color dev: true - /https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.4 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - dev: true - /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -8228,15 +8079,6 @@ packages: engines: {node: '>=8'} dev: true - /import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - /import-without-cache@0.4.0: resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} engines: {node: ^22.18.0 || >=24.0.0} @@ -8623,10 +8465,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true - /is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} dev: true @@ -8854,44 +8692,6 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jest-changed-files@30.0.5: - resolution: {integrity: sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - execa: 5.1.1 - jest-util: 30.0.5 - p-limit: 3.1.0 - dev: true - - /jest-circus@30.0.5: - resolution: {integrity: sha512-h/sjXEs4GS+NFFfqBDYT7y5Msfxh04EwWLhQi0F8kuWpe+J/7tICSlswU8qvBqumR3kFgHbfu7vU6qruWWBPug==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/environment': 30.0.5 - '@jest/expect': 30.0.5 - '@jest/test-result': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.7.2 - is-generator-fn: 2.1.0 - jest-each: 30.0.5 - jest-matcher-utils: 30.0.5 - jest-message-util: 30.0.5 - jest-runtime: 30.0.5 - jest-snapshot: 30.0.5 - jest-util: 30.0.5 - p-limit: 3.1.0 - pretty-format: 30.0.5 - pure-rand: 7.0.1 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - /jest-circus@30.4.2: resolution: {integrity: sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -8900,7 +8700,7 @@ packages: '@jest/expect': 30.4.1 '@jest/test-result': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.2 @@ -8921,93 +8721,19 @@ packages: - supports-color dev: true - /jest-cli@30.0.5(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-Sa45PGMkBZzF94HMrlX4kUyPOwUpdZasaliKN3mifvDmkhLYqLLg8HQTzn6gq7vJGahFYMQjXgyJWfYImKZzOw==} + /jest-config@30.4.2(@types/node@22.20.0)(ts-node@10.9.1): + resolution: {integrity: sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + '@types/node': '*' + esbuild-register: '>=3.4.0' + ts-node: '>=9.0.0' peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 30.0.5(ts-node@10.9.1) - '@jest/test-result': 30.0.5 - '@jest/types': 30.0.5 - chalk: 4.1.2 - exit-x: 0.2.2 - import-local: 3.2.0 - jest-config: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) - jest-util: 30.0.5 - jest-validate: 30.0.5 - yargs: 17.7.3 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - dev: true - - /jest-config@30.0.5(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-aIVh+JNOOpzUgzUnPn5FLtyVnqc3TQHVMupYtyeURSb//iLColiMIR8TxCIDKyx9ZgjKnXGucuW68hCxgbrwmA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@types/node': '*' - esbuild-register: '>=3.4.0' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - esbuild-register: - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.29.7 - '@jest/get-type': 30.0.1 - '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - babel-jest: 30.0.5(@babel/core@7.29.7) - chalk: 4.1.2 - ci-info: 4.4.0 - deepmerge: 4.3.1 - glob: 10.5.0 - graceful-fs: 4.2.11 - jest-circus: 30.0.5 - jest-docblock: 30.0.1 - jest-environment-node: 30.0.5 - jest-regex-util: 30.0.1 - jest-resolve: 30.0.5 - jest-runner: 30.0.5 - jest-util: 30.0.5 - jest-validate: 30.0.5 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 30.0.5 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-config@30.4.2(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@types/node': '*' - esbuild-register: '>=3.4.0' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - esbuild-register: - optional: true - ts-node: + '@types/node': + optional: true + esbuild-register: + optional: true + ts-node: optional: true dependencies: '@babel/core': 7.29.7 @@ -9015,7 +8741,7 @@ packages: '@jest/pattern': 30.4.0 '@jest/test-sequencer': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 babel-jest: 30.4.1(@babel/core@7.29.7) chalk: 4.1.2 ci-info: 4.4.0 @@ -9034,22 +8760,12 @@ packages: pretty-format: 30.4.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@5.9.3) transitivePeerDependencies: - babel-plugin-macros - supports-color dev: true - /jest-diff@30.0.5: - resolution: {integrity: sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.0.1 - chalk: 4.1.2 - pretty-format: 30.0.5 - dev: true - /jest-diff@30.4.1: resolution: {integrity: sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9060,13 +8776,6 @@ packages: pretty-format: 30.4.1 dev: true - /jest-docblock@30.0.1: - resolution: {integrity: sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - /jest-docblock@30.4.0: resolution: {integrity: sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9074,17 +8783,6 @@ packages: detect-newline: 3.1.0 dev: true - /jest-each@30.0.5: - resolution: {integrity: sha512-dKjRsx1uZ96TVyejD3/aAWcNKy6ajMaN531CwWIsrazIqIoXI9TnnpPlkrEYku/8rkS3dh2rbH+kMOyiEIv0xQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/get-type': 30.0.1 - '@jest/types': 30.0.5 - chalk: 4.1.2 - jest-util: 30.0.5 - pretty-format: 30.0.5 - dev: true - /jest-each@30.4.1: resolution: {integrity: sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9096,39 +8794,6 @@ packages: pretty-format: 30.4.1 dev: true - /jest-environment-jsdom@30.0.5: - resolution: {integrity: sha512-BmnDEoAH+jEjkPrvE9DTKS2r3jYSJWlN/r46h0/DBUxKrkgt2jAZ5Nj4wXLAcV1KWkRpcFqA5zri9SWzJZ1cCg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - '@jest/environment': 30.0.5 - '@jest/environment-jsdom-abstract': 30.0.5(jsdom@26.1.0) - '@types/jsdom': 21.1.7 - '@types/node': 18.19.130 - jsdom: 26.1.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /jest-environment-node@30.0.5: - resolution: {integrity: sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/environment': 30.0.5 - '@jest/fake-timers': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - jest-mock: 30.0.5 - jest-util: 30.0.5 - jest-validate: 30.0.5 - dev: true - /jest-environment-node@30.4.1: resolution: {integrity: sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9136,36 +8801,18 @@ packages: '@jest/environment': 30.4.1 '@jest/fake-timers': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 jest-mock: 30.4.1 jest-util: 30.4.1 jest-validate: 30.4.1 dev: true - /jest-haste-map@30.0.5: - resolution: {integrity: sha512-dkmlWNlsTSR0nH3nRfW5BKbqHefLZv0/6LCccG0xFCTWcJu8TuEwG+5Cm75iBfjVoockmO6J35o5gxtFSn5xeg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 30.0.1 - jest-util: 30.0.5 - jest-worker: 30.0.5 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /jest-haste-map@30.4.1: resolution: {integrity: sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -9178,14 +8825,6 @@ packages: fsevents: 2.3.3 dev: true - /jest-leak-detector@30.0.5: - resolution: {integrity: sha512-3Uxr5uP8jmHMcsOtYMRB/zf1gXN3yUIc+iPorhNETG54gErFIiUhLvyY/OggYpSMOEYqsmRxmuU4ZOoX5jpRFg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/get-type': 30.0.1 - pretty-format: 30.0.5 - dev: true - /jest-leak-detector@30.4.1: resolution: {integrity: sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9194,16 +8833,6 @@ packages: pretty-format: 30.4.1 dev: true - /jest-matcher-utils@30.0.5: - resolution: {integrity: sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/get-type': 30.0.1 - chalk: 4.1.2 - jest-diff: 30.0.5 - pretty-format: 30.0.5 - dev: true - /jest-matcher-utils@30.4.1: resolution: {integrity: sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9214,21 +8843,6 @@ packages: pretty-format: 30.4.1 dev: true - /jest-message-util@30.0.5: - resolution: {integrity: sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@babel/code-frame': 7.29.7 - '@jest/types': 30.0.5 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 30.0.5 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-message-util@30.4.1: resolution: {integrity: sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9245,36 +8859,15 @@ packages: stack-utils: 2.0.6 dev: true - /jest-mock@30.0.5: - resolution: {integrity: sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - jest-util: 30.0.5 - dev: true - /jest-mock@30.4.1: resolution: {integrity: sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 jest-util: 30.4.1 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@30.0.5): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 30.0.5 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@30.4.1): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} @@ -9297,30 +8890,6 @@ packages: engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dev: true - /jest-resolve-dependencies@30.0.5: - resolution: {integrity: sha512-/xMvBR4MpwkrHW4ikZIWRttBBRZgWK4d6xt3xW1iRDSKt4tXzYkMkyPfBnSCgv96cpkrctfXs6gexeqMYqdEpw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - jest-regex-util: 30.0.1 - jest-snapshot: 30.0.5 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve@30.0.5: - resolution: {integrity: sha512-d+DjBQ1tIhdz91B79mywH5yYu76bZuE96sSbxj8MkjWVx5WNdt1deEFRONVL4UkKLSrAbMkdhb24XN691yDRHg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 30.0.5 - jest-pnp-resolver: 1.2.3(jest-resolve@30.0.5) - jest-util: 30.0.5 - jest-validate: 30.0.5 - slash: 3.0.0 - unrs-resolver: 1.12.2 - dev: true - /jest-resolve@30.4.1: resolution: {integrity: sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9335,36 +8904,6 @@ packages: unrs-resolver: 1.12.2 dev: true - /jest-runner@30.0.5: - resolution: {integrity: sha512-JcCOucZmgp+YuGgLAXHNy7ualBx4wYSgJVWrYMRBnb79j9PD0Jxh0EHvR5Cx/r0Ce+ZBC4hCdz2AzFFLl9hCiw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/console': 30.0.5 - '@jest/environment': 30.0.5 - '@jest/test-result': 30.0.5 - '@jest/transform': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - chalk: 4.1.2 - emittery: 0.13.1 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-docblock: 30.0.1 - jest-environment-node: 30.0.5 - jest-haste-map: 30.0.5 - jest-leak-detector: 30.0.5 - jest-message-util: 30.0.5 - jest-resolve: 30.0.5 - jest-runtime: 30.0.5 - jest-util: 30.0.5 - jest-watcher: 30.0.5 - jest-worker: 30.0.5 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - dev: true - /jest-runner@30.4.2: resolution: {integrity: sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9374,7 +8913,7 @@ packages: '@jest/test-result': 30.4.1 '@jest/transform': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -9395,36 +8934,6 @@ packages: - supports-color dev: true - /jest-runtime@30.0.5: - resolution: {integrity: sha512-7oySNDkqpe4xpX5PPiJTe5vEa+Ak/NnNz2bGYZrA1ftG3RL3EFlHaUkA1Cjx+R8IhK0Vg43RML5mJedGTPNz3A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/environment': 30.0.5 - '@jest/fake-timers': 30.0.5 - '@jest/globals': 30.0.5 - '@jest/source-map': 30.0.1 - '@jest/test-result': 30.0.5 - '@jest/transform': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - chalk: 4.1.2 - cjs-module-lexer: 2.2.0 - collect-v8-coverage: 1.0.3 - glob: 10.5.0 - graceful-fs: 4.2.11 - jest-haste-map: 30.0.5 - jest-message-util: 30.0.5 - jest-mock: 30.0.5 - jest-regex-util: 30.0.1 - jest-resolve: 30.0.5 - jest-snapshot: 30.0.5 - jest-util: 30.0.5 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /jest-runtime@30.4.2: resolution: {integrity: sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9436,7 +8945,7 @@ packages: '@jest/test-result': 30.4.1 '@jest/transform': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 cjs-module-lexer: 2.2.0 collect-v8-coverage: 1.0.3 @@ -9455,35 +8964,6 @@ packages: - supports-color dev: true - /jest-snapshot@30.0.5: - resolution: {integrity: sha512-T00dWU/Ek3LqTp4+DcW6PraVxjk28WY5Ua/s+3zUKSERZSNyxTqhDXCWKG5p2HAJ+crVQ3WJ2P9YVHpj1tkW+g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 - '@jest/expect-utils': 30.0.5 - '@jest/get-type': 30.0.1 - '@jest/snapshot-utils': 30.0.5 - '@jest/transform': 30.0.5 - '@jest/types': 30.0.5 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) - chalk: 4.1.2 - expect: 30.0.5 - graceful-fs: 4.2.11 - jest-diff: 30.0.5 - jest-matcher-utils: 30.0.5 - jest-message-util: 30.0.5 - jest-util: 30.0.5 - pretty-format: 30.0.5 - semver: 7.8.5 - synckit: 0.11.13 - transitivePeerDependencies: - - supports-color - dev: true - /jest-snapshot@30.4.1: resolution: {integrity: sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9518,7 +8998,7 @@ packages: engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/types': 30.0.5 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -9530,25 +9010,13 @@ packages: engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 picomatch: 4.0.4 dev: true - /jest-validate@30.0.5: - resolution: {integrity: sha512-ouTm6VFHaS2boyl+k4u+Qip4TSH7Uld5tyD8psQ8abGgt2uYYB8VwVfAHWHjHc0NWmGGbwO5h0sCPOGHHevefw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/get-type': 30.0.1 - '@jest/types': 30.0.5 - camelcase: 6.3.0 - chalk: 4.1.2 - leven: 3.1.0 - pretty-format: 30.0.5 - dev: true - /jest-validate@30.4.1: resolution: {integrity: sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9561,27 +9029,13 @@ packages: pretty-format: 30.4.1 dev: true - /jest-watcher@30.0.5: - resolution: {integrity: sha512-z9slj/0vOwBDBjN3L4z4ZYaA+pG56d6p3kTUhFRYGvXbXMWhXmb/FIxREZCD06DYUwDKKnj2T80+Pb71CQ0KEg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/test-result': 30.0.5 - '@jest/types': 30.0.5 - '@types/node': 18.19.130 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 30.0.5 - string-length: 4.0.2 - dev: true - /jest-watcher@30.4.1: resolution: {integrity: sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: '@jest/test-result': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 18.19.130 + '@types/node': 22.20.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -9589,50 +9043,17 @@ packages: string-length: 4.0.2 dev: true - /jest-worker@30.0.5: - resolution: {integrity: sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@types/node': 18.19.130 - '@ungap/structured-clone': 1.3.1 - jest-util: 30.0.5 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - /jest-worker@30.4.1: resolution: {integrity: sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} dependencies: - '@types/node': 18.19.130 + '@types/node': 22.20.0 '@ungap/structured-clone': 1.3.1 jest-util: 30.4.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@30.0.5(@types/node@18.19.130)(ts-node@10.9.1): - resolution: {integrity: sha512-y2mfcJywuTUkvLm2Lp1/pFX8kTgMO5yyQGq/Sk/n2mN7XWYp4JsCZ/QXW34M8YScgk8bPZlREH04f6blPnoHnQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 30.0.5(ts-node@10.9.1) - '@jest/types': 30.0.5 - import-local: 3.2.0 - jest-cli: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - dev: true - /jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -9640,6 +9061,10 @@ packages: dev: true optional: true + /js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + dev: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -9659,41 +9084,6 @@ packages: argparse: 2.0.1 dev: true - /jsdom@26.1.0: - resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} - engines: {node: '>=18'} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - cssstyle: 4.6.0 - data-urls: 5.0.0 - decimal.js: 10.6.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.24 - parse5: 7.3.0 - rrweb-cssom: 0.8.0 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 5.1.2 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - ws: 8.21.0 - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -9794,37 +9184,155 @@ packages: shell-exec: 1.0.2 dev: true - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + dependencies: + package-json: 8.1.1 + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - dependencies: - package-json: 8.1.1 + /lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + /lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 + /lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + /lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 dev: true /lines-and-columns@1.2.4: @@ -9851,6 +9359,11 @@ packages: strip-bom: 3.0.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 + /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -9894,10 +9407,6 @@ packages: resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} dev: true - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true - /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -9968,6 +9477,20 @@ packages: '@jridgewell/sourcemap-codec': 1.5.5 dev: true + /magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + dev: true + + /magicast@0.5.3: + resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==} + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + source-map-js: 1.2.1 + dev: true + /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -10230,6 +9753,12 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true + /nanoid@3.3.14: + resolution: {integrity: sha512-U9kYi5bpVMEI31yC8iw4bJJp0avcHXA0W8/wNfLfnvJYzihQo2ZRPYPvpAAd570HAcCBjCTN7vnr+v4StKl1IQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -10340,10 +9869,6 @@ packages: path-key: 4.0.0 dev: true - /nwsapi@2.2.24: - resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} - dev: true - /nx@22.7.5(@swc/core@1.15.41): resolution: {integrity: sha512-zoxsJabb33jl1QYnalDn0bicryrEBgSzdKp90d7VGGv/jDgzKrcLg/hw2ZxeYiOjWPIT/o8QNT9G9vTs4dv3AQ==} hasBin: true @@ -10797,12 +10322,6 @@ packages: parse-path: 7.1.0 dev: true - /parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - dependencies: - entities: 6.0.1 - dev: true - /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -10919,13 +10438,6 @@ packages: '@napi-rs/nice': 1.1.1 dev: true - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -10946,6 +10458,15 @@ packages: engines: {node: '>= 0.4'} dev: true + /postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.14 + picocolors: 1.1.1 + source-map-js: 1.2.1 + dev: true + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -10962,15 +10483,6 @@ packages: hasBin: true dev: true - /pretty-format@30.0.5: - resolution: {integrity: sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - dependencies: - '@jest/schemas': 30.0.5 - ansi-styles: 5.2.0 - react-is: 18.3.1 - dev: true - /pretty-format@30.4.1: resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -11347,13 +10859,6 @@ packages: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: true - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - /resolve-dir@1.0.1: resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} engines: {node: '>=0.10.0'} @@ -11486,6 +10991,31 @@ packages: - oxc-resolver dev: true + /rolldown@1.0.3: + resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + dependencies: + '@oxc-project/types': 0.133.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.3 + '@rolldown/binding-darwin-arm64': 1.0.3 + '@rolldown/binding-darwin-x64': 1.0.3 + '@rolldown/binding-freebsd-x64': 1.0.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 + '@rolldown/binding-linux-arm64-gnu': 1.0.3 + '@rolldown/binding-linux-arm64-musl': 1.0.3 + '@rolldown/binding-linux-ppc64-gnu': 1.0.3 + '@rolldown/binding-linux-s390x-gnu': 1.0.3 + '@rolldown/binding-linux-x64-gnu': 1.0.3 + '@rolldown/binding-linux-x64-musl': 1.0.3 + '@rolldown/binding-openharmony-arm64': 1.0.3 + '@rolldown/binding-wasm32-wasi': 1.0.3 + '@rolldown/binding-win32-arm64-msvc': 1.0.3 + '@rolldown/binding-win32-x64-msvc': 1.0.3 + dev: true + /rolldown@1.1.2: resolution: {integrity: sha512-x0CrQQqCXWGeI8dTvFfN/Dnv3yMKT9hv5jFjlOreKAx9wqLq9wz7VvLLHyaAXC90/CpggTu9SisSbsJJTPSjNQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -11524,10 +11054,6 @@ packages: - supports-color dev: true - /rrweb-cssom@0.8.0: - resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} - dev: true - /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -11585,13 +11111,6 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} - dependencies: - xmlchars: 2.2.0 - dev: true - /secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true @@ -11846,6 +11365,10 @@ packages: side-channel-weakmap: 1.0.2 dev: true + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -11908,6 +11431,11 @@ packages: is-plain-obj: 1.1.0 dev: true + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -11982,11 +11510,19 @@ packages: escape-string-regexp: 2.0.0 dev: true + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + /statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} dev: true + /std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + dev: true + /stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -12229,10 +11765,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: true - /synckit@0.11.13: resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12333,6 +11865,10 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true + /tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + dev: true + /tinyexec@1.2.4: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} @@ -12346,15 +11882,9 @@ packages: picomatch: 4.0.4 dev: true - /tldts-core@6.1.86: - resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - dev: true - - /tldts@6.1.86: - resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} - hasBin: true - dependencies: - tldts-core: 6.1.86 + /tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} dev: true /tmp@0.0.33: @@ -12398,24 +11928,10 @@ packages: resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} dev: true - /tough-cookie@5.1.2: - resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} - engines: {node: '>=16'} - dependencies: - tldts: 6.1.86 - dev: true - /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /tr46@5.1.1: - resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} - engines: {node: '>=18'} - dependencies: - punycode: 2.3.1 - dev: true - /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -12444,49 +11960,7 @@ packages: typescript: 5.9.3 dev: true - /ts-jest@29.4.11(@babel/core@7.29.7)(jest-util@30.0.5)(jest@30.0.5)(typescript@5.9.3): - resolution: {integrity: sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 || ^30.0.0 - '@jest/types': ^29.0.0 || ^30.0.0 - babel-jest: ^29.0.0 || ^30.0.0 - esbuild: '*' - jest: ^29.0.0 || ^30.0.0 - jest-util: ^29.0.0 || ^30.0.0 - typescript: '>=4.3 <7' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/transform': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - jest-util: - optional: true - dependencies: - '@babel/core': 7.29.7 - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - handlebars: 4.7.9 - jest: 30.0.5(@types/node@18.19.130)(ts-node@10.9.1) - jest-util: 30.0.5 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.8.5 - type-fest: 4.41.0 - typescript: 5.9.3 - yargs-parser: 21.1.1 - dev: true - - /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@18.19.130)(typescript@5.9.3): + /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@5.9.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12506,7 +11980,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.130 + '@types/node': 22.20.0 acorn: 8.17.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -12654,11 +12128,6 @@ packages: engines: {node: '>=12.20'} dev: true - /type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - dev: true - /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -12781,8 +12250,8 @@ packages: quansync: 1.0.0 dev: true - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} dev: true /unicode-canonical-property-names-ecmascript@2.0.1: @@ -12841,6 +12310,29 @@ packages: engines: {node: '>= 0.8'} dev: true + /unplugin-swc@1.5.9(@swc/core@1.15.41): + resolution: {integrity: sha512-RKwK3yf0M+MN17xZfF14bdKqfx0zMXYdtOdxLiE6jHAoidupKq3jGdJYANyIM1X/VmABhh1WpdO+/f4+Ol89+g==} + peerDependencies: + '@swc/core': ^1.2.108 + dependencies: + '@rollup/pluginutils': 5.4.0 + '@swc/core': 1.15.41(@swc/helpers@0.5.23) + load-tsconfig: 0.2.5 + unplugin: 2.3.11 + transitivePeerDependencies: + - rollup + dev: true + + /unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} + engines: {node: '>=18.12.0'} + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.17.0 + picomatch: 4.0.4 + webpack-virtual-modules: 0.6.2 + dev: true + /unrs-resolver@1.12.2: resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} requiresBuild: true @@ -12964,6 +12456,126 @@ packages: engines: {node: '>= 0.8'} dev: true + /vite@8.0.16(@types/node@22.20.0): + resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + dependencies: + '@types/node': 22.20.0 + lightningcss: 1.32.0 + picomatch: 4.0.4 + postcss: 8.5.15 + rolldown: 1.0.3 + tinyglobby: 0.2.17 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@4.1.9(@types/node@22.20.0)(@vitest/coverage-v8@4.1.9)(vite@8.0.16): + resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.9 + '@vitest/browser-preview': 4.1.9 + '@vitest/browser-webdriverio': 4.1.9 + '@vitest/coverage-istanbul': 4.1.9 + '@vitest/coverage-v8': 4.1.9 + '@vitest/ui': 4.1.9 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 22.20.0 + '@vitest/coverage-v8': 4.1.9(vitest@4.1.9) + '@vitest/expect': 4.1.9 + '@vitest/mocker': 4.1.9(vite@8.0.16) + '@vitest/pretty-format': 4.1.9 + '@vitest/runner': 4.1.9 + '@vitest/snapshot': 4.1.9 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + es-module-lexer: 2.1.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.3 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 8.0.16(@types/node@22.20.0) + why-is-node-running: 2.3.0 + transitivePeerDependencies: + - msw + dev: true + /vm2@3.11.5: resolution: {integrity: sha512-RSrkBiwrj6FRU+QdqNs6KG0XdlvJCjpQ4GXiqmMbrhmwfu5k/XIMpAer0L8f6iuf0uJ3a4T1xJN126Q8yf0VIA==} engines: {node: '>=6.0'} @@ -12973,13 +12585,6 @@ packages: acorn-walk: 8.3.5 dev: true - /w3c-xmlserializer@5.0.0: - resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} - engines: {node: '>=18'} - dependencies: - xml-name-validator: 5.0.0 - dev: true - /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -13001,9 +12606,8 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true - /webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} + /webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} dev: true /whatwg-encoding@2.0.0: @@ -13014,27 +12618,6 @@ packages: iconv-lite: 0.6.3 dev: true - /whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation - dependencies: - iconv-lite: 0.6.3 - dev: true - - /whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - dev: true - - /whatwg-url@14.2.0: - resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} - engines: {node: '>=18'} - dependencies: - tr46: 5.1.1 - webidl-conversions: 7.0.0 - dev: true - /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -13114,6 +12697,15 @@ packages: isexe: 2.0.0 dev: true + /why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /widest-line@4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} @@ -13135,7 +12727,7 @@ packages: /wkx@0.5.0: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: - '@types/node': 18.19.130 + '@types/node': 22.20.0 dev: true /word-wrap@1.2.5: @@ -13195,33 +12787,11 @@ packages: signal-exit: 4.1.0 dev: true - /ws@8.21.0: - resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} dev: true - /xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} - dev: true - - /xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true - /xregexp@2.0.0: resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} dev: true @@ -13320,19 +12890,6 @@ packages: yargs-parser: 21.1.1 dev: true - /yargs@17.7.3: - resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - /yauzl@3.4.0: resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==} engines: {node: '>=12'} diff --git a/vitest.shared.ts b/vitest.shared.ts new file mode 100644 index 000000000..fd63124d0 --- /dev/null +++ b/vitest.shared.ts @@ -0,0 +1,60 @@ +import { dirname, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import swc from 'unplugin-swc'; +import { defineConfig, type UserConfig } from 'vitest/config'; + +// Repo root, resolved from this file's location (NOT process.cwd(), which is the +// per-package dir when nx runs `vitest run` inside packages/). +const root = dirname(fileURLToPath(import.meta.url)); +const r = (p: string) => resolve(root, p); + +// @automapper/* -> source entry points, mirroring the tsconfig.base.json paths +// that ts-jest used. Order matters: more-specific subpaths must precede the bare +// package alias, since Rollup matches `find` as a path-boundary prefix. +const alias = [ + { find: '@automapper/classes/mapped-types', replacement: r('packages/classes/mapped-types/src/index.ts') }, + { find: '@automapper/classes/transformer-plugin', replacement: r('packages/classes/transformer-plugin/src/index.ts') }, + { find: '@automapper/classes', replacement: r('packages/classes/src/index.ts') }, + { find: '@automapper/core', replacement: r('packages/core/src/index.ts') }, + { find: '@automapper/pojos', replacement: r('packages/pojos/src/index.ts') }, + { find: '@automapper/mikro', replacement: r('packages/mikro/src/index.ts') }, + { find: '@automapper/nestjs', replacement: r('packages/nestjs/src/index.ts') }, + { find: '@automapper/sequelize', replacement: r('packages/sequelize/src/index.ts') }, + { find: '@automapper/zod', replacement: r('packages/zod/src/index.ts') }, +]; + +// Single source of truth for every package's Vitest config. +// +// swc transpiles TS + *legacy* decorators with emitDecoratorMetadata, so the +// @AutoMap()/reflect-metadata path keeps emitting `design:type` exactly like +// ts-jest did — and, unlike ts-jest, it is fully decoupled from the installed +// TypeScript version (this is why Vitest lands before the TS 6 bump). +// +// keepClassNames is required: the mapper uses `constructor.name` as a model +// identifier, so swc must not mangle class names. +export function vitestConfig(testOverrides: UserConfig['test'] = {}) { + return defineConfig({ + resolve: { alias }, + plugins: [ + swc.vite({ + jsc: { + parser: { syntax: 'typescript', decorators: true }, + transform: { + legacyDecorator: true, + decoratorMetadata: true, + }, + target: 'es2022', + keepClassNames: true, + }, + }), + ], + test: { + globals: true, + environment: 'node', + setupFiles: ['reflect-metadata'], + include: ['src/**/*.spec.ts'], + passWithNoTests: true, + ...testOverrides, + }, + }); +} From 93bdf6aa44748ac1d0a3e6d01a476032f88ad564 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 12:50:43 -0400 Subject: [PATCH 27/73] =?UTF-8?q?build:=20drop=20CommonJS=20=E2=80=94=209.?= =?UTF-8?q?0=20is=20ESM-only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tsdown now emits ESM only (index.mjs + index.d.mts); the dist package.json drops `main`/`require` and the exports map carries only the import+types conditions. `require('@automapper/...')` no longer resolves — an intentional break for the major (the v8 line stays dual/CJS for consumers that need it). - build-packages.mjs: --format esm (was cjs,esm); ESM-only exports map; delete main, types -> .d.mts - check-packages.mjs: attw --ignore-rules cjs-resolves-to-esm (that warning IS the intended ESM-only contract); publint + attw otherwise clean on all 6 - nx.json: add tools/scripts/build-packages.mjs to the package target inputs so a change to the build script correctly invalidates the cache (it served a stale dual-format dist until this was added) build + contract green (6 packages). Co-Authored-By: Claude Opus 4.8 (1M context) --- nx.json | 7 ++++++- tools/scripts/build-packages.mjs | 20 ++++++++++++-------- tools/scripts/check-packages.mjs | 11 +++++++---- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/nx.json b/nx.json index b1c51398f..831e94556 100644 --- a/nx.json +++ b/nx.json @@ -10,7 +10,12 @@ "cache": true }, "package": { - "cache": true + "cache": true, + "inputs": [ + "default", + "^default", + "{workspaceRoot}/tools/scripts/build-packages.mjs" + ] }, "package-lib": { "cache": true diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index f0a236bc4..f98c6c143 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -1,5 +1,7 @@ -// Build all publishable @automapper packages with tsdown (dual cjs/esm + dual dts) -// and generate contract-correct dist package.json (exports map, main/module/types). +// Build all publishable @automapper packages with tsdown (ESM-only: .mjs + .d.mts) +// and generate the dist package.json (ESM exports map, module/types). 9.0 dropped +// the CommonJS output — `require('@automapper/...')` no longer resolves (the v8 +// line stays dual/CJS for consumers that need it). // Usage: node tools/scripts/build-packages.mjs [pkgName ...] (default: all) import { execFileSync } from 'node:child_process'; import { readFileSync, writeFileSync, copyFileSync, mkdirSync, existsSync, rmSync } from 'node:fs'; @@ -67,7 +69,7 @@ const only = process.argv.slice(2); const targets = only.length ? PACKAGES.filter((p) => only.includes(p.dir.split('/').pop())) : PACKAGES; function tsdown({ entry, outDir, external, tsconfig }) { - const args = [entry, '--format', 'cjs,esm', '--dts', '--out-dir', outDir]; + const args = [entry, '--format', 'esm', '--dts', '--out-dir', outDir]; for (const e of external) args.push('--external', e); if (tsconfig) args.push('--tsconfig', tsconfig); execFileSync(TSDOWN, args, { @@ -77,9 +79,10 @@ function tsdown({ entry, outDir, external, tsconfig }) { }); } +// ESM-only conditions: no `require` branch (CommonJS is intentionally dropped in 9.0). const condFor = (prefix) => ({ - import: { types: `${prefix}index.d.mts`, default: `${prefix}index.mjs` }, - require: { types: `${prefix}index.d.cts`, default: `${prefix}index.cjs` }, + types: `${prefix}index.d.mts`, + import: `${prefix}index.mjs`, }); for (const pkg of targets) { @@ -119,10 +122,11 @@ for (const pkg of targets) { ); } - // dist package.json: preserve metadata, set entry points + exports map - manifest.main = './index.cjs'; + // dist package.json: preserve metadata, set ESM entry points + exports map. + // No `main` — there is no CommonJS entry; `module`/`types` point at the ESM build. + delete manifest.main; manifest.module = './index.mjs'; - manifest.types = './index.d.cts'; + manifest.types = './index.d.mts'; manifest.exports = exportsMap; writeFileSync(resolve(outAbs, 'package.json'), JSON.stringify(manifest, null, 2) + '\n'); diff --git a/tools/scripts/check-packages.mjs b/tools/scripts/check-packages.mjs index b9034536c..e08e4011c 100644 --- a/tools/scripts/check-packages.mjs +++ b/tools/scripts/check-packages.mjs @@ -24,10 +24,13 @@ for (const p of PKGS) { failed = true; } try { - execFileSync('npx', ['-y', '@arethetypeswrong/cli@latest', '--pack', dir], { - cwd: ROOT, - stdio: 'inherit', - }); + // 9.0 is ESM-only by design: a CJS `require()` resolving to ESM is the + // intended behavior (consumers use dynamic import), so ignore that rule. + execFileSync( + 'npx', + ['-y', '@arethetypeswrong/cli@latest', '--pack', dir, '--ignore-rules', 'cjs-resolves-to-esm'], + { cwd: ROOT, stdio: 'inherit' } + ); } catch { failed = true; } From 811d31aa9b0f3e2b5d91cb5940564f1f06c2cae9 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:35:55 -0400 Subject: [PATCH 28/73] fix(core): mapAsync honestly awaits async before/after callbacks (code #6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The async map/mutate methods previously did the work synchronously then waited a single setTimeout(0) macrotask — a fragile guess that 'usually' let an async beforeMap/afterMap settle, with no actual await. Now the sync engine collects any promise a before/after callback returns into a sink, and mapAsync/mapArrayAsync/ mutateAsync/mutateArrayAsync await those promises (Promise.all) before resolving — a real, deterministic await instead of a timer race. With no async callbacks the sink is empty and resolution is immediate (no pointless macrotask hop). - map.ts: module-level async-hook sink + collectAsyncHooks/pushAsyncHook; the !isMapArray before/after calls feed it - core.ts: array-level before/after calls feed it too; all four async methods wrap their work in collectAsyncHooks and await - types.ts: JSDoc now states callbacks are awaited (member mapping stays sync) (Member-level true-async resolvers are the separately-queued follow-up goal.) 10 projects green; lint clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/core.ts | 75 ++++++++++++++++----------- packages/core/src/lib/mappings/map.ts | 31 ++++++++++- packages/core/src/lib/types.ts | 9 ++++ 3 files changed, 82 insertions(+), 33 deletions(-) diff --git a/packages/core/src/lib/core.ts b/packages/core/src/lib/core.ts index eaaa3a15f..e09d637f0 100644 --- a/packages/core/src/lib/core.ts +++ b/packages/core/src/lib/core.ts @@ -1,4 +1,9 @@ -import { mapMutate, mapReturn } from './mappings/map'; +import { + collectAsyncHooks, + mapMutate, + mapReturn, + pushAsyncHook, +} from './mappings/map'; import { CUSTOM_NODE_INSPECT, ERROR_HANDLER, @@ -182,15 +187,19 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - const result = mapper.map( - sourceObject, - sourceIdentifier, - destinationIdentifierOrOptions as ModelIdentifier, - options + // Mapping is synchronous, but before/after callbacks may be async — + // collect any promises they return and genuinely await them. + const [result, asyncHooks] = collectAsyncHooks(() => + mapper.map( + sourceObject, + sourceIdentifier, + destinationIdentifierOrOptions as ModelIdentifier, + options + ) ); - return new Promise((res) => { - setTimeout(res, 0, result); - }); + return asyncHooks.length + ? Promise.all(asyncHooks).then(() => result) + : Promise.resolve(result); }, mapArray< @@ -222,7 +231,7 @@ export function createMapper({ {}) as MapOptions; if (beforeMap) { - beforeMap(sourceArray, []); + pushAsyncHook(beforeMap(sourceArray, [])); } const destinationArray: TDestination[] = []; @@ -255,7 +264,7 @@ export function createMapper({ } if (afterMap) { - afterMap(sourceArray, destinationArray); + pushAsyncHook(afterMap(sourceArray, destinationArray)); } return destinationArray; @@ -272,15 +281,17 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - const result = mapper.mapArray( - sourceArray, - sourceIdentifier, - destinationIdentifierOrOptions as ModelIdentifier, - options + const [result, asyncHooks] = collectAsyncHooks(() => + mapper.mapArray( + sourceArray, + sourceIdentifier, + destinationIdentifierOrOptions as ModelIdentifier, + options + ) ); - return new Promise((res) => { - setTimeout(res, 0, result); - }); + return asyncHooks.length + ? Promise.all(asyncHooks).then(() => result) + : Promise.resolve(result); }, mutate< @@ -333,17 +344,18 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - return new Promise((res) => { + const [, asyncHooks] = collectAsyncHooks(() => mapper.mutate( sourceObject, destinationObject, sourceIdentifier, destinationIdentifierOrOptions as ModelIdentifier, options - ); - - setTimeout(res, 0); - }); + ) + ); + return asyncHooks.length + ? Promise.all(asyncHooks).then(() => undefined) + : Promise.resolve(); }, mutateArray< @@ -376,7 +388,7 @@ export function createMapper({ {}) as MapOptions; if (beforeMap) { - beforeMap(sourceArray, destinationArray); + pushAsyncHook(beforeMap(sourceArray, destinationArray)); } for (let i = 0, length = sourceArray.length; i < length; i++) { @@ -401,7 +413,7 @@ export function createMapper({ } if (afterMap) { - afterMap(sourceArray, destinationArray); + pushAsyncHook(afterMap(sourceArray, destinationArray)); } }, @@ -417,17 +429,18 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - return new Promise((res) => { + const [, asyncHooks] = collectAsyncHooks(() => mapper.mutateArray( sourceArray, destinationArray, sourceIdentifier, destinationIdentifierOrOptions as ModelIdentifier, options - ); - - setTimeout(res, 0); - }); + ) + ); + return asyncHooks.length + ? Promise.all(asyncHooks).then(() => undefined) + : Promise.resolve(); }, dispose(): void { diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index ab4384935..eca4f107f 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -97,6 +97,33 @@ interface MapParameter< isMapArray?: boolean; } +// The synchronous map engine invokes before/after callbacks fire-and-forget. +// When a callback is async it returns a promise that would otherwise be dropped; +// mapAsync() opens a sink here so it can collect and genuinely await those +// promises instead of approximating with setTimeout. +let asyncHookSink: Promise[] | null = null; + +export function collectAsyncHooks(fn: () => T): [T, Promise[]] { + const previous = asyncHookSink; + const sink: Promise[] = []; + asyncHookSink = sink; + try { + return [fn(), sink]; + } finally { + asyncHookSink = previous; + } +} + +export function pushAsyncHook(value: unknown): void { + if ( + asyncHookSink !== null && + value != null && + typeof (value as { then?: unknown }).then === 'function' + ) { + asyncHookSink.push(value as Promise); + } +} + export function map< TSource extends Dictionary, TDestination extends Dictionary @@ -145,7 +172,7 @@ export function map< if (!isMapArray) { const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; if (beforeMap) { - beforeMap(sourceObject, destination, extraArguments); + pushAsyncHook(beforeMap(sourceObject, destination, extraArguments)); } } @@ -344,7 +371,7 @@ export function map< if (!isMapArray) { const afterMap = mapAfterCallback ?? mappingAfterCallback; if (afterMap) { - afterMap(sourceObject, destination, extraArguments); + pushAsyncHook(afterMap(sourceObject, destination, extraArguments)); } } diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index 8fcbe8ebe..96a1cb23e 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -157,6 +157,15 @@ export interface Mapper { options?: MapOptions ): TSource; + /** + * Maps `sourceObject` and resolves with the result. + * + * @remarks + * Member mapping itself is synchronous, but any `beforeMap`/`afterMap` + * callbacks that return a promise are collected and awaited before the + * returned promise resolves. Use the synchronous {@link map} when no async + * callbacks are involved. + */ mapAsync< TSource extends Dictionary, TDestination extends Dictionary From 375bab4fe5ca03d2838e4a3f7022ee3cadd90a24 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:38:33 -0400 Subject: [PATCH 29/73] refactor(core): tighten extraArguments to unknown; document intentional any (code #9) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - extraArguments (user-supplied data crossing the API boundary) is now Record instead of Record in MapCallback, MapOptions, the selector signature, and mapMember — callers narrow rather than getting unchecked any - documented why the remaining `= any` generic defaults (Selector/ValueSelector/ Resolver/Converter/ModelIdentifier/Constructor) are intentional: AutoMapper is a runtime identifier-driven mapper used without explicit generics; an any default keeps that ergonomic while concrete call sites still infer precise types. Return positions are already `unknown`, not `any`. no `as any` casts exist in core. 6 build / 10 lint / 10 test green. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/mappings/map-member.ts | 2 +- packages/core/src/lib/types.ts | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/core/src/lib/mappings/map-member.ts b/packages/core/src/lib/mappings/map-member.ts index 2a3cbff4b..810112d42 100644 --- a/packages/core/src/lib/mappings/map-member.ts +++ b/packages/core/src/lib/mappings/map-member.ts @@ -23,7 +23,7 @@ export function mapMember< sourceObject: TSource, destinationObject: TDestination, destinationMemberPath: string[], - extraArgs: Record | undefined, + extraArgs: Record | undefined, mapper: Mapper, sourceMemberIdentifier?: MetadataIdentifier | Primitive | Date, destinationMemberIdentifier?: MetadataIdentifier | Primitive | Date diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index 96a1cb23e..2f10f8f79 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -64,6 +64,14 @@ export type NamingConventionInput = destination: NamingConvention; }; +// The `= any` generic defaults below (Selector/ValueSelector/Resolver/Converter +// and ModelIdentifier/Constructor) are intentional, not laziness. AutoMapper is a +// runtime, identifier-driven mapper whose types are routinely used without +// explicit generics (`createMap(mapper, Source, Dest)` infers them); an `any` +// default keeps that ergonomic and avoids forcing `unknown` casts through the +// dynamic core, while concrete call sites still infer precise types. Data that +// crosses the user boundary (extraArguments) is `unknown`, and return positions +// are `unknown` rather than `any`. export type Selector< TObject extends Dictionary = any, TReturnType = unknown @@ -97,7 +105,7 @@ export interface Converter< export type MapCallback< TSource extends Dictionary, TDestination extends Dictionary, - TExtraArgs extends Record = Record + TExtraArgs extends Record = Record > = ( source: TSource, destination: TDestination, @@ -107,7 +115,7 @@ export type MapCallback< export interface MapOptions< TSource extends Dictionary, TDestination extends Dictionary, - TExtraArgs extends Record = Record + TExtraArgs extends Record = Record > { beforeMap?: MapCallback; afterMap?: MapCallback; @@ -443,7 +451,7 @@ export type MapWithArgumentsReturn< TSelectorReturn = SelectorReturn > = [ TransformationType.MapWithArguments, - (source: TSource, extraArguments: Record) => TSelectorReturn + (source: TSource, extraArguments: Record) => TSelectorReturn ]; export type MapInitializeReturn< From 00cc035559a0a6bc37a9a2f7b6cf9a74bb64d0f1 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:46:30 -0400 Subject: [PATCH 30/73] feat(zod): real Zod 4 integration replacing the stub (goal #9) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @automapper/zod was a 'return "zod"' placeholder. It is now a working, shippable integration: - zod() strategy = pojos (Zod output is structurally a POJO) - createMetadataMap(identifier, schema): introspects a Zod 4 schema via _zod.def (type/element/innerType/shape) and registers AutoMapper metadata — primitives (string/number/boolean/date/bigint), arrays, nested objects (recursive, under derived identifiers), and unwrapping optional/nullable/default/readonly/catch - 4 vitest specs: flat, wrapper-unwrap, nested+arrays (deep copy), forMember - package.json: ESM, peers @automapper/core+pojos ^9 and zod ^4, provenance - wired into the published set: build PACKAGES, check-packages, nx.json release projects, project.json package/publish/nx-release-publish targets build 7 / lint 10 / test 10 green; publint + attw clean on all 7. Co-Authored-By: Claude Opus 4.8 (1M context) --- nx.json | 10 ++- package.json | 3 +- packages/zod/package.json | 41 ++++++++- packages/zod/project.json | 28 ++++--- packages/zod/src/lib/zod.spec.ts | 103 ++++++++++++++++++++++- packages/zod/src/lib/zod.ts | 139 ++++++++++++++++++++++++++++++- pnpm-lock.yaml | 7 ++ tools/scripts/build-packages.mjs | 1 + tools/scripts/check-packages.mjs | 2 +- 9 files changed, 313 insertions(+), 21 deletions(-) diff --git a/nx.json b/nx.json index 831e94556..366c4848f 100644 --- a/nx.json +++ b/nx.json @@ -35,7 +35,15 @@ } }, "release": { - "projects": ["core", "classes", "pojos", "nestjs", "mikro", "sequelize"], + "projects": [ + "core", + "classes", + "pojos", + "nestjs", + "mikro", + "sequelize", + "zod" + ], "projectsRelationship": "independent", "releaseTagPattern": "{projectName}@{version}", "version": { diff --git a/package.json b/package.json index c5b097f5b..de8f29ab7 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,8 @@ "tsdown": "^0.22.3", "typescript": "~5.9.0", "unplugin-swc": "1.5.9", - "vitest": "4.1.9" + "vitest": "4.1.9", + "zod": "^4.4.3" }, "config": { "commitizen": { diff --git a/packages/zod/package.json b/packages/zod/package.json index 5a6b0d4d5..9842aa242 100644 --- a/packages/zod/package.json +++ b/packages/zod/package.json @@ -1,5 +1,42 @@ { "name": "@automapper/zod", - "version": "0.0.1", - "type": "commonjs" + "version": "9.0.0-alpha.0", + "type": "module", + "sideEffects": false, + "exports": { + ".": "./src/index.ts" + }, + "engines": { + "node": ">=20.0.0" + }, + "publishConfig": { + "access": "public", + "provenance": true + }, + "peerDependencies": { + "@automapper/core": "^9.0.0-alpha.0", + "@automapper/pojos": "^9.0.0-alpha.0", + "zod": "^4.0.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/nartc/mapper/tree/main/packages/zod" + }, + "author": { + "name": "Chau Tran", + "email": "nartc7789@gmail.com", + "url": "https://nartc.me" + }, + "description": "AutoMapper TypeScript Zod plugin", + "keywords": [ + "typescript", + "automapper", + "mapper", + "zod", + "nx" + ], + "license": "MIT", + "files": [ + "**/*" + ] } diff --git a/packages/zod/project.json b/packages/zod/project.json index 77116aad2..3f2705675 100644 --- a/packages/zod/project.json +++ b/packages/zod/project.json @@ -5,18 +5,11 @@ "projectType": "library", "tags": [], "targets": { - "build": { - "executor": "@nx/rollup:rollup", - "outputs": [ - "{options.outputPath}" - ], + "package": { + "executor": "nx:run-commands", + "outputs": ["{workspaceRoot}/dist/packages/zod"], "options": { - "outputPath": "dist/packages/zod", - "main": "packages/zod/src/index.ts", - "tsConfig": "packages/zod/tsconfig.lib.json", - "assets": [], - "project": "packages/zod/package.json", - "babelUpwardRootMode": true + "command": "node tools/scripts/build-packages.mjs zod" } }, "lint": { @@ -28,6 +21,19 @@ "command": "vitest run", "cwd": "packages/zod" } + }, + "publish": { + "executor": "nx:run-commands", + "options": { + "command": "npm publish --tag alpha", + "cwd": "dist/packages/zod" + } + }, + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": { + "packageRoot": "dist/packages/zod" + } } } } diff --git a/packages/zod/src/lib/zod.spec.ts b/packages/zod/src/lib/zod.spec.ts index 852660028..7a6b28dba 100644 --- a/packages/zod/src/lib/zod.spec.ts +++ b/packages/zod/src/lib/zod.spec.ts @@ -1,7 +1,104 @@ -import { zod } from './zod'; +import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; +import { PojosMetadataMap } from '@automapper/pojos'; +import { z } from 'zod'; +import { createMetadataMap, zod } from './zod'; describe('zod', () => { - it('should work', () => { - expect(zod()).toEqual('zod'); + beforeEach(() => { + PojosMetadataMap.reset(); + }); + + it('derives metadata and maps a flat schema', () => { + const User = z.object({ name: z.string(), age: z.number() }); + const UserDto = z.object({ name: z.string(), age: z.number() }); + createMetadataMap('User', User); + createMetadataMap('UserDto', UserDto); + + const mapper = createMapper({ strategyInitializer: zod() }); + createMap, z.infer>( + mapper, + 'User', + 'UserDto' + ); + + expect( + mapper.map({ name: 'Chau', age: 30 }, 'User', 'UserDto') + ).toEqual({ name: 'Chau', age: 30 }); + }); + + it('unwraps optional/nullable/default and maps primitives', () => { + const Source = z.object({ + a: z.string().optional(), + b: z.number().nullable(), + c: z.boolean().default(false), + d: z.date(), + }); + createMetadataMap('S', Source); + createMetadataMap('D', Source); + + const mapper = createMapper({ strategyInitializer: zod() }); + createMap(mapper, 'S', 'D'); + + const now = new Date(); + expect( + mapper.map({ a: 'x', b: 1, c: true, d: now }, 'S', 'D') + ).toEqual({ a: 'x', b: 1, c: true, d: now }); + }); + + it('maps nested object schemas and arrays', () => { + const Source = z.object({ + id: z.number(), + address: z.object({ city: z.string(), zip: z.string() }), + tags: z.array(z.string()), + friends: z.array(z.object({ name: z.string() })), + }); + createMetadataMap('Src', Source); + createMetadataMap('Dst', Source); + + const mapper = createMapper({ strategyInitializer: zod() }); + // nested identifiers are derived as `${parent}.${key}` + createMap(mapper, 'Src.address', 'Dst.address'); + createMap(mapper, 'Src.friends', 'Dst.friends'); + createMap(mapper, 'Src', 'Dst'); + + const source = { + id: 1, + address: { city: 'NY', zip: '10001' }, + tags: ['a', 'b'], + friends: [{ name: 'Sam' }, { name: 'Lee' }], + }; + const result = mapper.map(source, 'Src', 'Dst'); + expect(result).toEqual(source); + // deep copy, not reference + expect(result.address).not.toBe(source.address); + expect(result.friends[0]).not.toBe(source.friends[0]); + }); + + it('works with forMember over derived metadata', () => { + const Source = z.object({ first: z.string(), last: z.string() }); + const Dest = z.object({ + first: z.string(), + last: z.string(), + full: z.string(), + }); + createMetadataMap('P', Source); + createMetadataMap('PDto', Dest); + + const mapper = createMapper({ strategyInitializer: zod() }); + createMap( + mapper, + 'P', + 'PDto', + forMember( + (d: { full: string }) => d.full, + mapFrom((s: { first: string; last: string }) => + `${s.first} ${s.last}` + ) + ) + ); + + expect( + mapper.map({ first: 'Chau', last: 'Tran' }, 'P', 'PDto') + ).toEqual({ first: 'Chau', last: 'Tran', full: 'Chau Tran' }); }); }); diff --git a/packages/zod/src/lib/zod.ts b/packages/zod/src/lib/zod.ts index 867296325..054767de8 100644 --- a/packages/zod/src/lib/zod.ts +++ b/packages/zod/src/lib/zod.ts @@ -1,3 +1,138 @@ -export function zod(): string { - return 'zod'; +import type { + MappingStrategyInitializer, + MappingStrategyInitializerOptions, +} from '@automapper/core'; +import { PojosMetadataMap, pojos } from '@automapper/pojos'; + +/** + * Mapping strategy for Zod-inferred values. Zod output is structurally a plain + * object, so this is the `pojos` strategy. Pair it with {@link createMetadataMap} + * to derive AutoMapper metadata directly from a Zod schema instead of writing it + * out by hand. + * + * @example + * ```ts + * const User = z.object({ name: z.string(), age: z.number() }); + * const UserDto = z.object({ name: z.string(), age: z.number() }); + * createMetadataMap('User', User); + * createMetadataMap('UserDto', UserDto); + * const mapper = createMapper({ strategyInitializer: zod() }); + * createMap(mapper, 'User', 'UserDto'); + * ``` + */ +export function zod( + options: MappingStrategyInitializerOptions = {} +): MappingStrategyInitializer { + return pojos(options); +} + +// --- Zod 4 introspection --------------------------------------------------- +// Zod 4 exposes a schema's definition at `_zod.def` (with a plain `.def` kept as +// a fallback across 4.x). We only read `type`, `element`, `innerType`, `shape`. +interface ZodDef { + type: string; + element?: ZodSchemaLike; + innerType?: ZodSchemaLike; + shape?: Record; +} + +interface ZodSchemaLike { + _zod?: { def?: ZodDef }; + def?: ZodDef; + shape?: Record; +} + +type DerivedType = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | DateConstructor + | BigIntConstructor + | string // nested object identifier + | [DerivedType]; // array element + +function defOf(schema: ZodSchemaLike): ZodDef | undefined { + return schema?._zod?.def ?? schema?.def; +} + +function shapeOf( + schema: ZodSchemaLike +): Record | undefined { + return schema?.shape ?? defOf(schema)?.shape; +} + +function deriveType( + schema: ZodSchemaLike, + parentIdentifier: string, + key: string +): DerivedType | undefined { + const def = defOf(schema); + if (!def) return undefined; + + switch (def.type) { + case 'string': + case 'enum': + case 'literal': + return String; + case 'number': + return Number; + case 'boolean': + return Boolean; + case 'date': + return Date; + case 'bigint': + return BigInt; + case 'array': { + if (!def.element) return undefined; + const element = deriveType(def.element, parentIdentifier, key); + return element === undefined ? undefined : [element]; + } + case 'object': { + // Register the nested schema under a derived identifier, point at it. + const nestedIdentifier = `${parentIdentifier}.${key}`; + createMetadataMap(nestedIdentifier, schema); + return nestedIdentifier; + } + // Wrapper types just unwrap to their inner schema. + case 'optional': + case 'nullable': + case 'default': + case 'readonly': + case 'catch': + case 'nonoptional': + return def.innerType + ? deriveType(def.innerType, parentIdentifier, key) + : undefined; + default: + // Unsupported types (union, record, etc.) are skipped — configure + // those members explicitly with forMember if needed. + return undefined; + } +} + +/** + * Introspects a Zod object `schema` and registers the equivalent AutoMapper + * metadata under `identifier`, recursing into nested object schemas. After this, + * the schema's inferred type can be used as a map source/destination with the + * {@link zod} strategy. + */ +export function createMetadataMap( + identifier: string, + schema: ZodSchemaLike +): void { + const shape = shapeOf(schema); + if (!shape) return; + + const metadata: Record = {}; + for (const key of Object.keys(shape)) { + const derived = deriveType(shape[key], identifier, key); + if (derived !== undefined) { + metadata[key] = derived; + } + } + + PojosMetadataMap.create( + identifier, + metadata as Parameters[1] + ); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0a38971ba..90224d6d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -145,6 +145,9 @@ importers: vitest: specifier: 4.1.9 version: 4.1.9(@types/node@22.20.0)(@vitest/coverage-v8@4.1.9)(vite@8.0.16) + zod: + specifier: ^4.4.3 + version: 4.4.3 packages/benchmark-core: dependencies: @@ -12906,3 +12909,7 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + dev: true diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index f98c6c143..a1872f4cf 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -31,6 +31,7 @@ const PACKAGES = [ { dir: 'packages/nestjs', out: 'dist/packages/nestjs' }, { dir: 'packages/mikro', out: 'dist/packages/mikro' }, { dir: 'packages/sequelize', out: 'dist/packages/sequelize' }, + { dir: 'packages/zod', out: 'dist/packages/zod' }, ]; // Always external (compiler/runtime helpers); `typescript/lib/tsserverlibrary` diff --git a/tools/scripts/check-packages.mjs b/tools/scripts/check-packages.mjs index e08e4011c..5b5e23969 100644 --- a/tools/scripts/check-packages.mjs +++ b/tools/scripts/check-packages.mjs @@ -7,7 +7,7 @@ import { resolve, dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); -const PKGS = ['core', 'classes', 'pojos', 'nestjs', 'mikro', 'sequelize']; +const PKGS = ['core', 'classes', 'pojos', 'nestjs', 'mikro', 'sequelize', 'zod']; let failed = false; for (const p of PKGS) { From ce683482603db514501454dc34a4012264179cce Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:49:21 -0400 Subject: [PATCH 31/73] refactor(core): label the transformation tuples as named tuples (code #3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Mapping/MappingProperty/MappingTransformation tuples were already named, but the ~11 member-transformation return tuples (indexed by MapFnClassId{type,fn, isConverted}) and NestedMappingPair were positional. Labeled them all (type:/fn:/isConverted:, destination:/source:) so the tuple types are self-documenting and match their ClassId enums — IDE shows the field names on every tuple position. Type-level only: labels don't change the runtime structure or assignability, so there's no behavior or perf delta (no benchmark needed). build + 10 test green. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/types.ts | 48 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index 2f10f8f79..eb27da8cb 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -374,23 +374,23 @@ export type MapDeferReturn< TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.MapDefer, - DeferFunction + type: TransformationType.MapDefer, + fn: DeferFunction ]; export type MapFromReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn -> = [TransformationType.MapFrom, Selector]; +> = [type: TransformationType.MapFrom, fn: Selector]; export type MapWithReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.MapWith, - ( + type: TransformationType.MapWith, + fn: ( sourceObj: TSource, mapper: Mapper, options?: MapOptions @@ -406,29 +406,32 @@ export type ConditionReturn< TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.Condition, - (source: TSource, sourceMemberPath: string[]) => TSelectorReturn + type: TransformationType.Condition, + fn: (source: TSource, sourceMemberPath: string[]) => TSelectorReturn ]; export type FromValueReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn -> = [TransformationType.FromValue, () => TSelectorReturn]; +> = [type: TransformationType.FromValue, fn: () => TSelectorReturn]; export type ConvertUsingReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn -> = [TransformationType.ConvertUsing, Selector]; +> = [ + type: TransformationType.ConvertUsing, + fn: Selector +]; export type NullSubstitutionReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.NullSubstitution, - (source: TSource, sourceMemberPath: string[]) => TSelectorReturn + type: TransformationType.NullSubstitution, + fn: (source: TSource, sourceMemberPath: string[]) => TSelectorReturn ]; export type UndefinedSubstitutionReturn< @@ -436,22 +439,25 @@ export type UndefinedSubstitutionReturn< TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.UndefinedSubstitution, - (source: TSource, sourceMemberPath: string[]) => TSelectorReturn + type: TransformationType.UndefinedSubstitution, + fn: (source: TSource, sourceMemberPath: string[]) => TSelectorReturn ]; export type IgnoreReturn< TSource extends Dictionary, TDestination extends Dictionary -> = [TransformationType.Ignore]; +> = [type: TransformationType.Ignore]; export type MapWithArgumentsReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.MapWithArguments, - (source: TSource, extraArguments: Record) => TSelectorReturn + type: TransformationType.MapWithArguments, + fn: ( + source: TSource, + extraArguments: Record + ) => TSelectorReturn ]; export type MapInitializeReturn< @@ -459,9 +465,9 @@ export type MapInitializeReturn< TDestination extends Dictionary, TSelectorReturn = SelectorReturn > = [ - TransformationType.MapInitialize, - Selector, - boolean? + type: TransformationType.MapInitialize, + fn: Selector, + isConverted?: boolean ]; export const enum MappingTransformationClassId { @@ -511,8 +517,8 @@ export const enum NestedMappingPairClassId { } export type NestedMappingPair = [ - MetadataIdentifier | Primitive | Date, - MetadataIdentifier | Primitive | Date + destination: MetadataIdentifier | Primitive | Date, + source: MetadataIdentifier | Primitive | Date ]; export const enum MappingClassId { From cb772acdd574fdc974e12952b82781f1b4075753 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:58:32 -0400 Subject: [PATCH 32/73] perf(core): compile a cached per-mapping plan (code #1 / Kyle Phase C) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The interpreter re-destructured every property's nested positional tuple (with its default fallbacks) and rebuilt the configuredKeys array on every map() call. Both are invariant per mapping, so they're now destructured once into a flat descriptor list and cached in a WeakMap keyed by the (immutable) properties array; map() reads descriptors + reuses the precomputed configuredKeys. hasSameIdentifier is deliberately NOT cached — it depends on the mapper's mapping registry, which can grow after a mapping is created — so correctness is preserved (getMapping still runs per call). The value-application logic is unchanged. benchmark (mitata, before -> after, both re-baselined): pojos flat map 1.57 -> 1.48us (~6%), classes flat 1.61 -> 1.50 (~7%), pojos nested 1.50 -> 1.43, classes nested 1.49 -> 1.41, mapArray ~1.52 -> ~1.42ms (~6-7%). build 7 / lint 10 / test 10 green. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/mappings/map.ts | 123 ++++++++++++++++++++------ 1 file changed, 98 insertions(+), 25 deletions(-) diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index eca4f107f..4e5d729f1 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -6,9 +6,11 @@ import type { MapInitializeReturn, MapOptions, Mapping, + MemberMapReturn, MetadataIdentifier, + Primitive, } from '../types'; -import { MapFnClassId, TransformationType } from '../types'; +import { MapFnClassId, MappingClassId, TransformationType } from '../types'; import { assertUnmappedProperties } from '../utils/assert-unmapped-properties'; import { get } from '../utils/get'; import { getMapping } from '../utils/get-mapping'; @@ -124,6 +126,87 @@ export function pushAsyncHook(value: unknown): void { } } +// --- Compiled mapping plan ------------------------------------------------- +// Every property in a mapping's `properties` array is a positional tuple whose +// shape is fixed at createMap time. The interpreter previously re-destructured +// that nested tuple (with its default fallbacks) and rebuilt the configuredKeys +// array on *every* map() call. Both are invariant per mapping, so we destructure +// once into a flat descriptor list and cache it keyed by the (immutable) +// properties array. `hasSameIdentifier` is intentionally NOT cached — it depends +// on the mapper's mapping registry, which can grow after this mapping is created. +interface CompiledMappingProperty< + TSource extends Dictionary, + TDestination extends Dictionary +> { + destinationMemberPath: string[]; + transformationMapFn: MemberMapReturn; + transformationType: TransformationType; + transformationPreConditionPredicate?: (source: TSource) => boolean; + transformationPreConditionDefaultValue?: unknown; + destinationMemberIdentifier?: MetadataIdentifier | Primitive | Date; + sourceMemberIdentifier?: MetadataIdentifier | Primitive | Date; +} + +interface CompiledMapping< + TSource extends Dictionary, + TDestination extends Dictionary +> { + props: CompiledMappingProperty[]; + configuredKeys: string[]; +} + +const compiledMappingCache = new WeakMap>(); + +function getCompiledMapping< + TSource extends Dictionary, + TDestination extends Dictionary +>( + propsToMap: Mapping[MappingClassId.properties] +): CompiledMapping { + const cached = compiledMappingCache.get(propsToMap); + if (cached !== undefined) { + return cached as CompiledMapping; + } + + const props: CompiledMappingProperty[] = []; + const configuredKeys: string[] = []; + + for (let i = 0, length = propsToMap.length; i < length; i++) { + const [ + destinationMemberPath, + [ + , + [ + transformationMapFn, + [ + transformationPreConditionPredicate, + transformationPreConditionDefaultValue = undefined, + ] = [], + ], + ], + [destinationMemberIdentifier, sourceMemberIdentifier] = [], + ] = propsToMap[i]; + + props.push({ + destinationMemberPath, + transformationMapFn, + transformationType: transformationMapFn[MapFnClassId.type], + transformationPreConditionPredicate, + transformationPreConditionDefaultValue, + destinationMemberIdentifier, + sourceMemberIdentifier, + }); + configuredKeys.push(destinationMemberPath[0]); + } + + const compiled: CompiledMapping = { + props, + configuredKeys, + }; + compiledMappingCache.set(propsToMap, compiled); + return compiled; +} + export function map< TSource extends Dictionary, TDestination extends Dictionary @@ -166,8 +249,10 @@ export function map< // get extraArguments const extraArguments = extraArgs?.(mapping, destination); - // initialize an array of keys that have already been configured - const configuredKeys: string[] = []; + // Pre-compiled (cached) property descriptors + the invariant set of keys + // that this mapping configures — destructured once per mapping, not per call. + const { props: compiledProps, configuredKeys } = + getCompiledMapping(propsToMap); if (!isMapArray) { const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; @@ -177,22 +262,16 @@ export function map< } // map - for (let i = 0, length = propsToMap.length; i < length; i++) { - // destructure mapping property - const [ + for (let i = 0, length = compiledProps.length; i < length; i++) { + const { destinationMemberPath, - [ - , - [ - transformationMapFn, - [ - transformationPreConditionPredicate, - transformationPreConditionDefaultValue = undefined, - ] = [], - ], - ], - [destinationMemberIdentifier, sourceMemberIdentifier] = [], - ] = propsToMap[i]; + transformationMapFn, + transformationType, + transformationPreConditionPredicate, + transformationPreConditionDefaultValue, + destinationMemberIdentifier, + sourceMemberIdentifier, + } = compiledProps[i]; let hasSameIdentifier = isMappableIdentifier(destinationMemberIdentifier) && @@ -231,9 +310,6 @@ export function map< } }; - // This destination key is being configured. Push to configuredKeys array - configuredKeys.push(destinationMemberPath[0]); - // Pre Condition check if ( transformationPreConditionPredicate && @@ -244,10 +320,7 @@ export function map< } // Start with all the mapInitialize - if ( - transformationMapFn[MapFnClassId.type] === - TransformationType.MapInitialize - ) { + if (transformationType === TransformationType.MapInitialize) { const mapInitializedValue = ( transformationMapFn[MapFnClassId.fn] as MapInitializeReturn< TSource, From c66811273a30f449e368989684628b4c2a4c6699 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 16:47:37 -0400 Subject: [PATCH 33/73] build: upgrade to TypeScript 6.0 (goal #2, final modernization item) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit typescript ~5.9 -> ~6.0.3. Vitest+swc (TS-version-agnostic) had already decoupled the test run from the compiler, so this is now a clean bump. - transformer-plugin: import compiler types/values from 'typescript' instead of the removed 'typescript/lib/tsserverlibrary' subpath (3 src files + the spec) - tsconfig.base: ignoreDeprecations "6.0" for the deprecated-but-still-used baseUrl (TS6 turns the deprecation into an error otherwise) - build-packages: drop the now-dead typescript/lib/tsserverlibrary external - transformer 486 fixtures: prepend "use strict"; — TS6's createProgram CJS emit adds the prologue (the only diff; the transformer's __decorate + @AutoMap metadata emit is byte-identical, confirmed via the assertion diff) full gate green on 6.0.3: build (6) + lint (10) + test (10) + publint/attw. Co-Authored-By: Claude Opus 4.8 (1M context) --- nx.json | 3 +- package.json | 2 +- packages/benchmark-core/src/bench.ts | 60 ++++-- .../classes/transformer-plugin/src/index.ts | 2 +- .../src/lib/model-visitor.ts | 2 +- .../transformer-plugin/src/lib/utils.ts | 2 +- .../transformer-plugin/issues/486/models.ts | 6 +- .../transformer-plugin.spec.ts | 4 +- pnpm-lock.yaml | 184 +++++++++--------- tools/scripts/build-packages.mjs | 5 +- tsconfig.base.json | 41 +++- 11 files changed, 187 insertions(+), 124 deletions(-) diff --git a/nx.json b/nx.json index 366c4848f..376b5287c 100644 --- a/nx.json +++ b/nx.json @@ -64,5 +64,6 @@ }, "nxCloudAccessToken": "MjMzYTA3OWMtMjQ1MS00YzFhLWExYTYtODMzMTM5MmQxZmE1fHJlYWQtd3JpdGU=", "useInferencePlugins": false, - "defaultBase": "main" + "defaultBase": "main", + "analytics": false } diff --git a/package.json b/package.json index de8f29ab7..9b1c8cbec 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "supertest": "6.3.3", "ts-node": "10.9.1", "tsdown": "^0.22.3", - "typescript": "~5.9.0", + "typescript": "~6.0.0", "unplugin-swc": "1.5.9", "vitest": "4.1.9", "zod": "^4.4.3" diff --git a/packages/benchmark-core/src/bench.ts b/packages/benchmark-core/src/bench.ts index c438c0bdc..8e6c6b13e 100644 --- a/packages/benchmark-core/src/bench.ts +++ b/packages/benchmark-core/src/bench.ts @@ -1,5 +1,5 @@ import 'reflect-metadata'; -import { createMap, createMapper } from '@automapper/core'; +import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; import { AutoMap, classes } from '@automapper/classes'; import { pojos, PojosMetadataMap } from '@automapper/pojos'; import { bench, group, run } from 'mitata'; @@ -33,21 +33,47 @@ const profiles1000 = Array.from({ length: 1000 }, (_, i) => makeProfile(i)); // =========================================================================== // pojos strategy // =========================================================================== -PojosMetadataMap.create('Address', { street: String, city: String, zip: String }); -PojosMetadataMap.create('AddressDto', { street: String, city: String, zip: String }); +PojosMetadataMap.create('Address', { + street: String, + city: String, + zip: String, +}); +PojosMetadataMap.create('AddressDto', { + street: String, + city: String, + zip: String, +}); PojosMetadataMap.create('User', { - firstName: String, lastName: String, email: String, age: Number, - active: Boolean, role: String, score: Number, createdAt: String, + firstName: String, + lastName: String, + email: String, + age: Number, + active: Boolean, + role: String, + score: Number, + createdAt: String, }); PojosMetadataMap.create('UserDto', { - firstName: String, lastName: String, email: String, age: Number, - active: Boolean, role: String, score: Number, createdAt: String, + firstName: String, + lastName: String, + email: String, + age: Number, + active: Boolean, + role: String, + score: Number, + createdAt: String, }); PojosMetadataMap.create('Profile', { - id: String, username: String, address: 'Address', tags: [String], + id: String, + username: String, + address: 'Address', + tags: [String], }); PojosMetadataMap.create('ProfileDto', { - id: String, username: String, address: 'AddressDto', tags: [String], + id: String, + username: String, + address: 'AddressDto', + tags: [String], }); const pojosMapper = createMapper({ strategyInitializer: pojos() }); @@ -112,19 +138,27 @@ createMap(classesMapper, Profile, ProfileDto); // =========================================================================== group('pojos / flat (8 primitive members)', () => { bench('map x1', () => pojosMapper.map(user, 'User', 'UserDto')); - bench('mapArray x1000', () => pojosMapper.mapArray(users1000, 'User', 'UserDto')); + bench('mapArray x1000', () => + pojosMapper.mapArray(users1000, 'User', 'UserDto') + ); }); group('classes / flat (8 primitive members)', () => { bench('map x1', () => classesMapper.map(user, User, UserDto)); - bench('mapArray x1000', () => classesMapper.mapArray(users1000, User, UserDto)); + bench('mapArray x1000', () => + classesMapper.mapArray(users1000, User, UserDto) + ); }); group('pojos / nested (object member + array)', () => { bench('map x1', () => pojosMapper.map(profile, 'Profile', 'ProfileDto')); - bench('mapArray x1000', () => pojosMapper.mapArray(profiles1000, 'Profile', 'ProfileDto')); + bench('mapArray x1000', () => + pojosMapper.mapArray(profiles1000, 'Profile', 'ProfileDto') + ); }); group('classes / nested (object member + array)', () => { bench('map x1', () => classesMapper.map(profile, Profile, ProfileDto)); - bench('mapArray x1000', () => classesMapper.mapArray(profiles1000, Profile, ProfileDto)); + bench('mapArray x1000', () => + classesMapper.mapArray(profiles1000, Profile, ProfileDto) + ); }); await run(); diff --git a/packages/classes/transformer-plugin/src/index.ts b/packages/classes/transformer-plugin/src/index.ts index bd775c934..a37fa4d02 100644 --- a/packages/classes/transformer-plugin/src/index.ts +++ b/packages/classes/transformer-plugin/src/index.ts @@ -2,7 +2,7 @@ import type { Program, SourceFile, TransformationContext, -} from 'typescript/lib/tsserverlibrary'; +} from 'typescript'; import { ModelVisitor } from './lib/model-visitor'; import type { AutomapperTransformerPluginOptions } from './lib/options'; import { isFilenameMatched } from './lib/utils'; diff --git a/packages/classes/transformer-plugin/src/lib/model-visitor.ts b/packages/classes/transformer-plugin/src/lib/model-visitor.ts index a62c50891..225ac8d3f 100644 --- a/packages/classes/transformer-plugin/src/lib/model-visitor.ts +++ b/packages/classes/transformer-plugin/src/lib/model-visitor.ts @@ -30,7 +30,7 @@ import { SyntaxKind, visitEachChild, visitNode, -} from 'typescript/lib/tsserverlibrary'; +} from 'typescript'; import { AUTOMAP_IGNORE_TAG, AUTOMAPPER_DECORATOR_NAME, diff --git a/packages/classes/transformer-plugin/src/lib/utils.ts b/packages/classes/transformer-plugin/src/lib/utils.ts index c5d93a590..84ff0b647 100644 --- a/packages/classes/transformer-plugin/src/lib/utils.ts +++ b/packages/classes/transformer-plugin/src/lib/utils.ts @@ -19,7 +19,7 @@ import { TypeFormatFlags, TypeNode, TypeReference, -} from 'typescript/lib/tsserverlibrary'; +} from 'typescript'; export function isFilenameMatched( patterns: string[], diff --git a/packages/integration-test/src/transformer-plugin/issues/486/models.ts b/packages/integration-test/src/transformer-plugin/issues/486/models.ts index fb767394a..b033ea534 100644 --- a/packages/integration-test/src/transformer-plugin/issues/486/models.ts +++ b/packages/integration-test/src/transformer-plugin/issues/486/models.ts @@ -6,7 +6,8 @@ class CreateSkillRequestDto { } `; -export const compiledCreateSkillRequestDto = `class CreateSkillRequestDto { +export const compiledCreateSkillRequestDto = `"use strict"; +class CreateSkillRequestDto { label; value; categories; @@ -43,7 +44,8 @@ class SkillEntity extends QBaseEntity { } `; -export const compiledSkillEntity = `class QBaseEntity { +export const compiledSkillEntity = `"use strict"; +class QBaseEntity { _id; createdDateTime; updatedDateTime; diff --git a/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts b/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts index 081810af0..505e03d86 100644 --- a/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts +++ b/packages/integration-test/src/transformer-plugin/transformer-plugin.spec.ts @@ -1,13 +1,13 @@ import automapperTransformerPlugin, { before, } from '@automapper/classes/transformer-plugin'; -import type { CompilerOptions } from 'typescript/lib/tsserverlibrary'; +import type { CompilerOptions } from 'typescript'; import { createProgram, ModuleKind, ScriptTarget, transpileModule, -} from 'typescript/lib/tsserverlibrary'; +} from 'typescript'; import { compiledCreateSkillRequestDto, compiledSkillEntity, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90224d6d8..9d6d7ed28 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,7 @@ importers: version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27) '@nestjs/schematics': specifier: 11.1.0 - version: 11.1.0(prettier@2.8.4)(typescript@5.9.3) + version: 11.1.0(prettier@2.8.4)(typescript@6.0.3) '@nestjs/testing': specifier: 11.1.27 version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27)(@nestjs/platform-express@11.1.27) @@ -45,13 +45,13 @@ importers: version: 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) '@nx/eslint-plugin': specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.9.3) + version: 22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@6.0.3) '@nx/js': specifier: 22.7.5 version: 22.7.5(@swc/core@1.15.41)(nx@22.7.5) '@nx/nest': specifier: 22.7.5 - version: 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3) + version: 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@6.0.3) '@nx/web': specifier: 22.7.5 version: 22.7.5(@nx/eslint@22.7.5)(@swc/core@1.15.41)(nx@22.7.5) @@ -78,10 +78,10 @@ importers: version: 2.0.12 '@typescript-eslint/eslint-plugin': specifier: 7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.9.3) + version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@6.0.3) '@typescript-eslint/parser': specifier: 7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.9.3) + version: 7.18.0(eslint@8.57.1)(typescript@6.0.3) '@vitest/coverage-v8': specifier: 4.1.9 version: 4.1.9(vitest@4.1.9) @@ -93,7 +93,7 @@ importers: version: 0.5.2 commitizen: specifier: 4.3.0 - version: 4.3.0(@types/node@22.20.0)(typescript@5.9.3) + version: 4.3.0(@types/node@22.20.0)(typescript@6.0.3) cz-customizable: specifier: 7.0.0 version: 7.0.0 @@ -132,13 +132,13 @@ importers: version: 6.3.3 ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@5.9.3) + version: 10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@6.0.3) tsdown: specifier: ^0.22.3 - version: 0.22.3(typescript@5.9.3) + version: 0.22.3(typescript@6.0.3) typescript: - specifier: ~5.9.0 - version: 5.9.3 + specifier: ~6.0.0 + version: 6.0.3 unplugin-swc: specifier: 1.5.9 version: 1.5.9(@swc/core@1.15.41) @@ -1583,7 +1583,7 @@ packages: dev: true optional: true - /@commitlint/load@21.0.2(@types/node@22.20.0)(typescript@5.9.3): + /@commitlint/load@21.0.2(@types/node@22.20.0)(typescript@6.0.3): resolution: {integrity: sha512-lwUE70hN0/qE/ZRROhbaX65ly/FF12DrqfReLCESo37M0OQCFAf2jRS+2tSCSORq+bm4Kdju7qNDj46uc1QzTA==} engines: {node: '>=22.12.0'} requiresBuild: true @@ -1592,8 +1592,8 @@ packages: '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.0.1 '@commitlint/types': 21.0.1 - cosmiconfig: 9.0.2(typescript@5.9.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@22.20.0)(cosmiconfig@9.0.2)(typescript@5.9.3) + cosmiconfig: 9.0.2(typescript@6.0.3) + cosmiconfig-typescript-loader: 6.3.0(@types/node@22.20.0)(cosmiconfig@9.0.2)(typescript@6.0.3) es-toolkit: 1.47.1 is-plain-obj: 4.1.0 picocolors: 1.1.1 @@ -2600,7 +2600,7 @@ packages: - supports-color dev: true - /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@5.9.3): + /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@6.0.3): resolution: {integrity: sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==} peerDependencies: prettier: ^3.0.0 @@ -2615,7 +2615,7 @@ packages: jsonc-parser: 3.3.1 pluralize: 8.0.0 prettier: 2.8.4 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - chokidar dev: true @@ -2690,7 +2690,7 @@ packages: - nx dev: true - /@nx/eslint-plugin@22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@5.9.3): + /@nx/eslint-plugin@22.7.5(@swc/core@1.15.41)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.8)(eslint@8.57.1)(nx@22.7.5)(typescript@6.0.3): resolution: {integrity: sha512-C9mLUAZjcAKvkAifLNxNBWzvX9RFc/fg+GbO0d50596Lw3Yoz5tRCm4mgpUbVI3mkMIQumjoe8hu9bFx85bXnw==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 @@ -2701,10 +2701,10 @@ packages: dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/type-utils': 8.61.1(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.9.3) + '@phenomnomnominal/tsquery': 6.2.0(typescript@6.0.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@6.0.3) + '@typescript-eslint/type-utils': 8.61.1(eslint@8.57.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@6.0.3) chalk: 4.1.2 confusing-browser-globals: 1.0.11 eslint-config-prettier: 10.1.8(eslint@8.57.1) @@ -2737,7 +2737,7 @@ packages: optional: true dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@6.0.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) eslint: 8.57.1 semver: 7.8.5 @@ -2753,14 +2753,14 @@ packages: - verdaccio dev: true - /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): + /@nx/jest@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@6.0.3): resolution: {integrity: sha512-+WlVdtDlVM1dyJKQg/gKiMMs6B4cR8Qh3NT9J2WFPbKdD89DTR771j+WZE572MLijJmqzOE7uNH189kV1qEj0A==} dependencies: '@jest/reporters': 30.4.1 '@jest/test-result': 30.4.1 '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3) + '@phenomnomnominal/tsquery': 6.2.0(typescript@6.0.3) identity-obj-proxy: 3.0.0 jest-config: 30.4.2(@types/node@22.20.0)(ts-node@10.9.1) jest-resolve: 30.4.1 @@ -2830,14 +2830,14 @@ packages: - supports-color dev: true - /@nx/nest@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@5.9.3): + /@nx/nest@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(prettier@2.8.4)(ts-node@10.9.1)(typescript@6.0.3): resolution: {integrity: sha512-UhCLlH3UjankgIFcQi6ZYEgAKSfKQlk6g9jJJpN+yyPDvoQYDPOr0iPicO+dUJvX+xDOxI/jS8easNuZ64fVPA==} dependencies: - '@nestjs/schematics': 11.1.0(prettier@2.8.4)(typescript@5.9.3) + '@nestjs/schematics': 11.1.0(prettier@2.8.4)(typescript@6.0.3) '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) - '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) + '@nx/node': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@6.0.3) tslib: 2.5.3 transitivePeerDependencies: - '@babel/traverse' @@ -2860,13 +2860,13 @@ packages: - verdaccio dev: true - /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3): + /@nx/node@22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(eslint@8.57.1)(nx@22.7.5)(ts-node@10.9.1)(typescript@6.0.3): resolution: {integrity: sha512-BJckjbyOgClqD6h2mNDhjftSRsvxbuayw0vKpT9sbd1ivAVhUCqNpe/iVP/VEdTsaK3s26hacfifD8EH3fPNWQ==} dependencies: '@nx/devkit': 22.7.5(nx@22.7.5) '@nx/docker': 22.7.5(nx@22.7.5) '@nx/eslint': 22.7.5(@nx/jest@22.7.5)(@swc/core@1.15.41)(eslint@8.57.1)(nx@22.7.5) - '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@5.9.3) + '@nx/jest': 22.7.5(@swc/core@1.15.41)(@types/node@22.20.0)(nx@22.7.5)(ts-node@10.9.1)(typescript@6.0.3) '@nx/js': 22.7.5(@swc/core@1.15.41)(nx@22.7.5) kill-port: 1.6.1 tcp-port-used: 1.0.3 @@ -3165,14 +3165,14 @@ packages: '@noble/hashes': 1.8.0 dev: true - /@phenomnomnominal/tsquery@6.2.0(typescript@5.9.3): + /@phenomnomnominal/tsquery@6.2.0(typescript@6.0.3): resolution: {integrity: sha512-Vo9nkhfZxDB/sBiqIY3pjDC4mOSyure+AFlEW5hcy/tRE82MqCXjRN4InnVNMldinRt0dLYqg4HAU2XPq5e1LA==} peerDependencies: typescript: '>3.0.0' dependencies: '@types/esquery': 1.5.4 esquery: 1.7.0 - typescript: 5.9.3 + typescript: 6.0.3 dev: true /@pkgjs/parseargs@0.11.0: @@ -3960,7 +3960,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.9.3): + /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@6.0.3): resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3972,22 +3972,22 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@6.0.3) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@6.0.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@6.0.3) '@typescript-eslint/visitor-keys': 7.18.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 1.4.3(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3): + /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@6.0.3): resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3999,25 +3999,25 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.3 eslint: 8.57.1 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/project-service@8.61.1(typescript@5.9.3): + /@typescript-eslint/project-service@8.61.1(typescript@6.0.3): resolution: {integrity: sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' dependencies: - '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@6.0.3) '@typescript-eslint/types': 8.61.1 debug: 4.4.3 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true @@ -4038,16 +4038,16 @@ packages: '@typescript-eslint/visitor-keys': 8.61.1 dev: true - /@typescript-eslint/tsconfig-utils@8.61.1(typescript@5.9.3): + /@typescript-eslint/tsconfig-utils@8.61.1(typescript@6.0.3): resolution: {integrity: sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' dependencies: - typescript: 5.9.3 + typescript: 6.0.3 dev: true - /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.9.3): + /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@6.0.3): resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4057,17 +4057,17 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@6.0.3) debug: 4.4.3 eslint: 8.57.1 - ts-api-utils: 1.4.3(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 1.4.3(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@8.61.1(eslint@8.57.1)(typescript@5.9.3): + /@typescript-eslint/type-utils@8.61.1(eslint@8.57.1)(typescript@6.0.3): resolution: {integrity: sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: @@ -4075,12 +4075,12 @@ packages: typescript: '>=4.8.4 <6.1.0' dependencies: '@typescript-eslint/types': 8.61.1 - '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.61.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.61.1(eslint@8.57.1)(typescript@6.0.3) debug: 4.4.3 eslint: 8.57.1 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true @@ -4095,7 +4095,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.3): + /@typescript-eslint/typescript-estree@7.18.0(typescript@6.0.3): resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4111,33 +4111,33 @@ packages: is-glob: 4.0.3 minimatch: 9.0.9 semver: 7.8.5 - ts-api-utils: 1.4.3(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 1.4.3(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@8.61.1(typescript@5.9.3): + /@typescript-eslint/typescript-estree@8.61.1(typescript@6.0.3): resolution: {integrity: sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' dependencies: - '@typescript-eslint/project-service': 8.61.1(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@5.9.3) + '@typescript-eslint/project-service': 8.61.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.61.1(typescript@6.0.3) '@typescript-eslint/types': 8.61.1 '@typescript-eslint/visitor-keys': 8.61.1 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.9.3): + /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@6.0.3): resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4146,14 +4146,14 @@ packages: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@8.61.1(eslint@8.57.1)(typescript@5.9.3): + /@typescript-eslint/utils@8.61.1(eslint@8.57.1)(typescript@6.0.3): resolution: {integrity: sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: @@ -4163,9 +4163,9 @@ packages: '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 8.61.1 '@typescript-eslint/types': 8.61.1 - '@typescript-eslint/typescript-estree': 8.61.1(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.61.1(typescript@6.0.3) eslint: 8.57.1 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color dev: true @@ -5796,13 +5796,13 @@ packages: esprima: 4.0.1 dev: true - /commitizen@4.3.0(@types/node@22.20.0)(typescript@5.9.3): + /commitizen@4.3.0(@types/node@22.20.0)(typescript@6.0.3): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@22.20.0)(typescript@5.9.3) + cz-conventional-changelog: 3.3.0(@types/node@22.20.0)(typescript@6.0.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -6106,7 +6106,7 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /cosmiconfig-typescript-loader@6.3.0(@types/node@22.20.0)(cosmiconfig@9.0.2)(typescript@5.9.3): + /cosmiconfig-typescript-loader@6.3.0(@types/node@22.20.0)(cosmiconfig@9.0.2)(typescript@6.0.3): resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} requiresBuild: true @@ -6116,9 +6116,9 @@ packages: typescript: '>=5' dependencies: '@types/node': 22.20.0 - cosmiconfig: 9.0.2(typescript@5.9.3) + cosmiconfig: 9.0.2(typescript@6.0.3) jiti: 2.6.1 - typescript: 5.9.3 + typescript: 6.0.3 dev: true optional: true @@ -6143,7 +6143,7 @@ packages: path-type: 4.0.0 dev: true - /cosmiconfig@9.0.2(typescript@5.9.3): + /cosmiconfig@9.0.2(typescript@6.0.3): resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} engines: {node: '>=14'} requiresBuild: true @@ -6157,7 +6157,7 @@ packages: import-fresh: 3.3.1 js-yaml: 4.2.0 parse-json: 5.2.0 - typescript: 5.9.3 + typescript: 6.0.3 dev: true optional: true @@ -6181,18 +6181,18 @@ packages: type-fest: 1.4.0 dev: true - /cz-conventional-changelog@3.3.0(@types/node@22.20.0)(typescript@5.9.3): + /cz-conventional-changelog@3.3.0(@types/node@22.20.0)(typescript@6.0.3): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@22.20.0)(typescript@5.9.3) + commitizen: 4.3.0(@types/node@22.20.0)(typescript@6.0.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 21.0.2(@types/node@22.20.0)(typescript@5.9.3) + '@commitlint/load': 21.0.2(@types/node@22.20.0)(typescript@6.0.3) transitivePeerDependencies: - '@types/node' - typescript @@ -8763,7 +8763,7 @@ packages: pretty-format: 30.4.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@5.9.3) + ts-node: 10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -10961,7 +10961,7 @@ packages: glob: 7.2.3 dev: true - /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@5.9.3): + /rolldown-plugin-dts@0.26.0(rolldown@1.1.2)(typescript@6.0.3): resolution: {integrity: sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==} engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: @@ -10989,7 +10989,7 @@ packages: get-tsconfig: 5.0.0-beta.5 obug: 2.1.3 rolldown: 1.1.2 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - oxc-resolver dev: true @@ -11945,25 +11945,25 @@ packages: engines: {node: '>=8'} dev: true - /ts-api-utils@1.4.3(typescript@5.9.3): + /ts-api-utils@1.4.3(typescript@6.0.3): resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.9.3 + typescript: 6.0.3 dev: true - /ts-api-utils@2.5.0(typescript@5.9.3): + /ts-api-utils@2.5.0(typescript@6.0.3): resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' dependencies: - typescript: 5.9.3 + typescript: 6.0.3 dev: true - /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@5.9.3): + /ts-node@10.9.1(@swc/core@1.15.41)(@types/node@22.20.0)(typescript@6.0.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -11990,7 +11990,7 @@ packages: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.9.3 + typescript: 6.0.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -12004,7 +12004,7 @@ packages: strip-bom: 3.0.0 dev: true - /tsdown@0.22.3(typescript@5.9.3): + /tsdown@0.22.3(typescript@6.0.3): resolution: {integrity: sha512-louqbfA8Qf//B9jTTL0FPtXTNpjCWv1VPkbcmQMph2pTpzs+LnB1tbe4tDDRVpo2BjF5SgUXaTZe45SxB8pWHg==} engines: {node: ^22.18.0 || >=24.11.0} hasBin: true @@ -12047,12 +12047,12 @@ packages: obug: 2.1.3 picomatch: 4.0.4 rolldown: 1.1.2 - rolldown-plugin-dts: 0.26.0(rolldown@1.1.2)(typescript@5.9.3) + rolldown-plugin-dts: 0.26.0(rolldown@1.1.2)(typescript@6.0.3) semver: 7.8.5 tinyexec: 1.2.4 tinyglobby: 0.2.17 tree-kill: 1.2.2 - typescript: 5.9.3 + typescript: 6.0.3 unconfig-core: 7.5.0 transitivePeerDependencies: - '@ts-macro/tsc' @@ -12209,6 +12209,12 @@ packages: hasBin: true dev: true + /typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index a1872f4cf..cb83edde8 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -34,9 +34,8 @@ const PACKAGES = [ { dir: 'packages/zod', out: 'dist/packages/zod' }, ]; -// Always external (compiler/runtime helpers); `typescript/lib/tsserverlibrary` -// is a subpath specifier that `typescript` alone does not match. -const ALWAYS_EXTERNAL = ['typescript', 'typescript/lib/tsserverlibrary', 'tslib']; +// Always external (compiler/runtime helpers). +const ALWAYS_EXTERNAL = ['typescript', 'tslib']; // Everything third-party lives in the ROOT package.json (deps + devDeps) since // this isn't a pnpm workspace yet; treat all of it as external so only each diff --git a/tsconfig.base.json b/tsconfig.base.json index c1b2c83a1..91e8d5a5c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -10,28 +10,49 @@ "importHelpers": true, "target": "es2022", "module": "esnext", - "lib": ["es2022", "dom"], + "lib": [ + "es2022", + "dom" + ], "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", "paths": { - "@automapper/classes": ["packages/classes/src/index.ts"], + "@automapper/classes": [ + "packages/classes/src/index.ts" + ], "@automapper/classes/mapped-types": [ "packages/classes/mapped-types/src/index.ts" ], "@automapper/classes/transformer-plugin": [ "packages/classes/transformer-plugin/src/index.ts" ], - "@automapper/core": ["packages/core/src/index.ts"], + "@automapper/core": [ + "packages/core/src/index.ts" + ], "@automapper/integration-test": [ "packages/integration-test/src/index.ts" ], - "@automapper/mikro": ["packages/mikro/src/index.ts"], - "@automapper/nestjs": ["packages/nestjs/src/index.ts"], - "@automapper/pojos": ["packages/pojos/src/index.ts"], - "@automapper/sequelize": ["packages/sequelize/src/index.ts"], - "@automapper/zod": ["packages/zod/src/index.ts"] - } + "@automapper/mikro": [ + "packages/mikro/src/index.ts" + ], + "@automapper/nestjs": [ + "packages/nestjs/src/index.ts" + ], + "@automapper/pojos": [ + "packages/pojos/src/index.ts" + ], + "@automapper/sequelize": [ + "packages/sequelize/src/index.ts" + ], + "@automapper/zod": [ + "packages/zod/src/index.ts" + ] + }, + "ignoreDeprecations": "6.0" }, - "exclude": ["node_modules", "tmp"] + "exclude": [ + "node_modules", + "tmp" + ] } From b72add07242608e106108565c8e890b5c4a11e23 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 21:46:52 -0400 Subject: [PATCH 34/73] =?UTF-8?q?feat(core):=20TRUE=20async=20map=20?= =?UTF-8?q?=E2=80=94=20await=20async=20member=20resolvers=20(goal)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit mapAsync/mapArrayAsync/mutateAsync/mutateArrayAsync now genuinely await asynchronous member work, not just before/after callbacks. The sync engine runs inside an async context (runAsyncMap); when a member transformation (mapFrom, convertUsing, mapWith, mapWithArguments, ...) returns a thenable, the *resolved* value is assigned to the destination instead of leaking a Promise, and after-map callbacks are DEFERRED until all members (at every nesting level) settle so they observe a fully-mapped destination. Nested maps share the active context, so async members deep in mapWith chains are awaited by the outermost call. - map.ts: AsyncMapContext { pending, deferredAfterMaps } + runAsyncMap/ settleAsyncMap/pushAsyncPending/deferAsyncAfterMap; setMember collects thenable member values; member errors wrap via a module-level makeMemberError (no per-member closure — keeps the hot path allocation-free) - core.ts: all four async methods + array-level before/after hooks wired through the context - replaces the previous before/after-only honesty mechanism sync path is a single null-check per member — benchmark parity confirmed (controlled before/after: 1.45 vs 1.46-1.50us). 7 build / 10 lint / 10 test / publint+attw green. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/lib/core.ts | 47 +++--- packages/core/src/lib/mappings/map.ts | 155 ++++++++++++++---- .../src/classes/map-async.spec.ts | 77 +++++++++ 3 files changed, 222 insertions(+), 57 deletions(-) diff --git a/packages/core/src/lib/core.ts b/packages/core/src/lib/core.ts index e09d637f0..d9dc1fcd5 100644 --- a/packages/core/src/lib/core.ts +++ b/packages/core/src/lib/core.ts @@ -1,8 +1,10 @@ import { - collectAsyncHooks, + deferAsyncAfterMap, mapMutate, mapReturn, - pushAsyncHook, + pushAsyncPending, + runAsyncMap, + settleAsyncMap, } from './mappings/map'; import { CUSTOM_NODE_INSPECT, @@ -187,9 +189,10 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - // Mapping is synchronous, but before/after callbacks may be async — - // collect any promises they return and genuinely await them. - const [result, asyncHooks] = collectAsyncHooks(() => + // Run the synchronous engine inside an async context, then await any + // async member resolvers / before-map, and finally the deferred + // after-maps — so the resolved Promise carries a fully-mapped result. + const [result, asyncContext] = runAsyncMap(() => mapper.map( sourceObject, sourceIdentifier, @@ -197,9 +200,7 @@ export function createMapper({ options ) ); - return asyncHooks.length - ? Promise.all(asyncHooks).then(() => result) - : Promise.resolve(result); + return settleAsyncMap(asyncContext).then(() => result); }, mapArray< @@ -231,7 +232,7 @@ export function createMapper({ {}) as MapOptions; if (beforeMap) { - pushAsyncHook(beforeMap(sourceArray, [])); + pushAsyncPending(beforeMap(sourceArray, [])); } const destinationArray: TDestination[] = []; @@ -264,7 +265,9 @@ export function createMapper({ } if (afterMap) { - pushAsyncHook(afterMap(sourceArray, destinationArray)); + deferAsyncAfterMap(() => + afterMap(sourceArray, destinationArray) + ); } return destinationArray; @@ -281,7 +284,7 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - const [result, asyncHooks] = collectAsyncHooks(() => + const [result, asyncContext] = runAsyncMap(() => mapper.mapArray( sourceArray, sourceIdentifier, @@ -289,9 +292,7 @@ export function createMapper({ options ) ); - return asyncHooks.length - ? Promise.all(asyncHooks).then(() => result) - : Promise.resolve(result); + return settleAsyncMap(asyncContext).then(() => result); }, mutate< @@ -344,7 +345,7 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - const [, asyncHooks] = collectAsyncHooks(() => + const [, asyncContext] = runAsyncMap(() => mapper.mutate( sourceObject, destinationObject, @@ -353,9 +354,7 @@ export function createMapper({ options ) ); - return asyncHooks.length - ? Promise.all(asyncHooks).then(() => undefined) - : Promise.resolve(); + return settleAsyncMap(asyncContext); }, mutateArray< @@ -388,7 +387,7 @@ export function createMapper({ {}) as MapOptions; if (beforeMap) { - pushAsyncHook(beforeMap(sourceArray, destinationArray)); + pushAsyncPending(beforeMap(sourceArray, destinationArray)); } for (let i = 0, length = sourceArray.length; i < length; i++) { @@ -413,7 +412,9 @@ export function createMapper({ } if (afterMap) { - pushAsyncHook(afterMap(sourceArray, destinationArray)); + deferAsyncAfterMap(() => + afterMap(sourceArray, destinationArray) + ); } }, @@ -429,7 +430,7 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { - const [, asyncHooks] = collectAsyncHooks(() => + const [, asyncContext] = runAsyncMap(() => mapper.mutateArray( sourceArray, destinationArray, @@ -438,9 +439,7 @@ export function createMapper({ options ) ); - return asyncHooks.length - ? Promise.all(asyncHooks).then(() => undefined) - : Promise.resolve(); + return settleAsyncMap(asyncContext); }, dispose(): void { diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 4e5d729f1..2d0658727 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -3,6 +3,7 @@ import { getErrorHandler } from '../symbols'; import type { Constructor, Dictionary, + ErrorHandler, MapInitializeReturn, MapOptions, Mapping, @@ -99,30 +100,77 @@ interface MapParameter< isMapArray?: boolean; } -// The synchronous map engine invokes before/after callbacks fire-and-forget. -// When a callback is async it returns a promise that would otherwise be dropped; -// mapAsync() opens a sink here so it can collect and genuinely await those -// promises instead of approximating with setTimeout. -let asyncHookSink: Promise[] | null = null; +// TRUE async support. The map engine itself is synchronous, but +// mapAsync()/mapArrayAsync()/mutate(Array)Async() run it inside an "async +// context" so they can await work that only resolves later: +// - async member resolvers (mapFrom/convertUsing/mapWith/... returning a +// promise): the resolved value is assigned once it settles, instead of a +// Promise leaking onto the destination; +// - async before-map callbacks: collected and awaited; +// - after-map callbacks: DEFERRED until members have settled, so they observe +// a fully-mapped destination (and are awaited too if async). +// In the synchronous path the context is null and behaviour/throughput are +// unchanged (one null-check per member). +export interface AsyncMapContext { + // member-value + before-map promises, awaited before the deferred after-maps + pending: Promise[]; + // after-map thunks, run in collection order (depth-first) once pending settles + deferredAfterMaps: Array<() => unknown>; +} + +let asyncMapContext: AsyncMapContext | null = null; + +export function isAsyncMapActive(): boolean { + return asyncMapContext !== null; +} -export function collectAsyncHooks(fn: () => T): [T, Promise[]] { - const previous = asyncHookSink; - const sink: Promise[] = []; - asyncHookSink = sink; +export function isThenable(value: unknown): value is Promise { + return ( + value != null && + typeof (value as { then?: unknown }).then === 'function' + ); +} + +// Run a synchronous map() call inside a fresh async context and hand back the +// context. Nested map() calls share whichever context is active, so a nested +// map's async members/after-maps are collected by the outermost mapAsync(). +export function runAsyncMap(fn: () => T): [T, AsyncMapContext] { + const previous = asyncMapContext; + const context: AsyncMapContext = { pending: [], deferredAfterMaps: [] }; + asyncMapContext = context; try { - return [fn(), sink]; + return [fn(), context]; } finally { - asyncHookSink = previous; + asyncMapContext = previous; } } -export function pushAsyncHook(value: unknown): void { - if ( - asyncHookSink !== null && - value != null && - typeof (value as { then?: unknown }).then === 'function' - ) { - asyncHookSink.push(value as Promise); +// Await everything a context collected: pending member/before-map promises +// first, then the deferred after-maps (sequentially; each may be async). +export async function settleAsyncMap(context: AsyncMapContext): Promise { + if (context.pending.length) { + await Promise.all(context.pending); + } + for (let i = 0, len = context.deferredAfterMaps.length; i < len; i++) { + const result = context.deferredAfterMaps[i](); + if (isThenable(result)) await result; + } +} + +// Collect a promise (e.g. an async before-map) to await before after-maps run. +export function pushAsyncPending(value: unknown): void { + if (asyncMapContext !== null && isThenable(value)) { + asyncMapContext.pending.push(value as Promise); + } +} + +// Defer an after-map (array-level or mapping-level) past member resolution when +// running async; runs it immediately when synchronous. +export function deferAsyncAfterMap(fn: () => unknown): void { + if (asyncMapContext !== null) { + asyncMapContext.deferredAfterMaps.push(fn); + } else { + fn(); } } @@ -207,6 +255,29 @@ function getCompiledMapping< return compiled; } +// Wrap a member failure (sync throw or async rejection) as MapMemberError and +// route it through the mapper's error handler. Module-level so the hot map loop +// allocates no per-member closure for it. +function makeMemberError( + destinationMemberPath: string[], + destinationIdentifier: MetadataIdentifier, + errorHandler: ErrorHandler, + originalError: unknown +): MapMemberError { + const destinationName = + (destinationIdentifier as Constructor)['prototype']?.constructor + ?.name || destinationIdentifier.toString(); + // note: do NOT JSON.stringify(destination) here — it throws on circular + // references and floods logs on large objects. + const error = new MapMemberError( + String(destinationMemberPath), + destinationName, + originalError + ); + errorHandler.handle(error.message); + return error; +} + export function map< TSource extends Dictionary, TDestination extends Dictionary @@ -257,7 +328,9 @@ export function map< if (!isMapArray) { const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; if (beforeMap) { - pushAsyncHook(beforeMap(sourceObject, destination, extraArguments)); + pushAsyncPending( + beforeMap(sourceObject, destination, extraArguments) + ); } } @@ -289,24 +362,38 @@ export function map< ); } - // Set up a shortcut function to set destinationMemberPath on destination with value as argument + // Set up a shortcut function to set destinationMemberPath on destination + // with the value as argument. In an async context a thenable value is + // awaited and the *resolved* value is assigned (instead of the promise). + // Errors (sync throw or async rejection) wrap via the module-level + // makeMemberError — no per-member closure on the hot path. const setMember = (valFn: () => unknown) => { try { - return setMemberFn(destinationMemberPath, destination)(valFn()); + const value = valFn(); + const setValue = setMemberFn(destinationMemberPath, destination); + if (asyncMapContext !== null && isThenable(value)) { + asyncMapContext.pending.push( + Promise.resolve(value) + .then(setValue) + .catch((originalError) => { + throw makeMemberError( + destinationMemberPath, + destinationIdentifier, + errorHandler, + originalError + ); + }) + ); + return; + } + return setValue(value); } catch (originalError) { - const destinationName = - (destinationIdentifier as Constructor)['prototype'] - ?.constructor?.name || - destinationIdentifier.toString(); - // note: do NOT JSON.stringify(destination) here — it throws on - // circular references and floods logs on large objects. - const error = new MapMemberError( - String(destinationMemberPath), - destinationName, + throw makeMemberError( + destinationMemberPath, + destinationIdentifier, + errorHandler, originalError ); - errorHandler.handle(error.message); - throw error; } }; @@ -444,7 +531,9 @@ export function map< if (!isMapArray) { const afterMap = mapAfterCallback ?? mappingAfterCallback; if (afterMap) { - pushAsyncHook(afterMap(sourceObject, destination, extraArguments)); + deferAsyncAfterMap(() => + afterMap(sourceObject, destination, extraArguments) + ); } } diff --git a/packages/integration-test/src/classes/map-async.spec.ts b/packages/integration-test/src/classes/map-async.spec.ts index 46fbf946a..47d10885a 100644 --- a/packages/integration-test/src/classes/map-async.spec.ts +++ b/packages/integration-test/src/classes/map-async.spec.ts @@ -5,6 +5,7 @@ import { createMapper, forMember, ignore, + mapFrom, } from '@automapper/core'; import { SimpleUserDto } from './dtos/simple-user.dto'; import { SimpleUser } from './models/simple-user'; @@ -33,4 +34,80 @@ describe('Map Async Classes', () => { ); expect(dto.fullName).toEqual('Tran Chau'); }); + + it('awaits an async mapFrom member resolver', async () => { + const localMapper = createMapper({ strategyInitializer: classes() }); + createMap( + localMapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom( + async (s) => + await Promise.resolve(`${s.firstName} ${s.lastName}`) + ) + ) + ); + + const dto = await localMapper.mapAsync( + new SimpleUser('Chau', 'Tran'), + SimpleUser, + SimpleUserDto + ); + // the destination member must be the resolved value, not a Promise + expect(dto.fullName).toEqual('Chau Tran'); + }); + + it('awaits async members across mapArrayAsync', async () => { + const localMapper = createMapper({ strategyInitializer: classes() }); + createMap( + localMapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom( + async (s) => + await Promise.resolve(`${s.firstName} ${s.lastName}`) + ) + ) + ); + + const dtos = await localMapper.mapArrayAsync( + [new SimpleUser('Chau', 'Tran'), new SimpleUser('John', 'Doe')], + SimpleUser, + SimpleUserDto + ); + expect(dtos.map((d) => d.fullName)).toEqual(['Chau Tran', 'John Doe']); + }); + + it('runs afterMap only after async members have resolved', async () => { + const localMapper = createMapper({ strategyInitializer: classes() }); + createMap( + localMapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom( + async (s) => + await Promise.resolve(`${s.firstName} ${s.lastName}`) + ) + ), + afterMap((_, destination) => { + // afterMap must observe the resolved async member, not a Promise + Object.assign(destination, { + fullName: `${destination.fullName}!`, + }); + }) + ); + + const dto = await localMapper.mapAsync( + new SimpleUser('Chau', 'Tran'), + SimpleUser, + SimpleUserDto + ); + expect(dto.fullName).toEqual('Chau Tran!'); + }); }); From 038d14d086478cb5fc2725b3911ad22c0c5cc35b Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 22:14:40 -0400 Subject: [PATCH 35/73] perf(core): build compiled mapping plan eagerly at createMap - compile per-property descriptors once at createMap, store on the mapping (MappingClassId.compiledPlan) instead of a lazy per-call WeakMap probe - map() reads the slot directly; lazy fallback only for mappings built outside the normal createMap path - extract the builder into compile-mapping.ts; types move to types.ts Co-Authored-By: Claude Opus 4.8 (1M context) --- .../core/src/lib/mappings/compile-mapping.ts | 52 ++++++++++ packages/core/src/lib/mappings/create-map.ts | 8 ++ packages/core/src/lib/mappings/map.ts | 97 ++----------------- packages/core/src/lib/types.ts | 33 ++++++- 4 files changed, 102 insertions(+), 88 deletions(-) create mode 100644 packages/core/src/lib/mappings/compile-mapping.ts diff --git a/packages/core/src/lib/mappings/compile-mapping.ts b/packages/core/src/lib/mappings/compile-mapping.ts new file mode 100644 index 000000000..21f766cb9 --- /dev/null +++ b/packages/core/src/lib/mappings/compile-mapping.ts @@ -0,0 +1,52 @@ +import type { + CompiledMapping, + CompiledMappingProperty, + Dictionary, + Mapping, +} from '../types'; +import { MapFnClassId, MappingClassId } from '../types'; + +// Destructure a mapping's positional `properties` tuples once into a flat +// descriptor list (plus the invariant set of configured destination keys). +// Called eagerly at createMap time; the result is stored on the mapping at +// MappingClassId.compiledPlan and read directly by the map() hot loop, so no +// per-call re-destructuring (and no WeakMap probe) happens. +export function compileMapping< + TSource extends Dictionary, + TDestination extends Dictionary +>( + propsToMap: Mapping[MappingClassId.properties] +): CompiledMapping { + const props: CompiledMappingProperty[] = []; + const configuredKeys: string[] = []; + + for (let i = 0, length = propsToMap.length; i < length; i++) { + const [ + destinationMemberPath, + [ + , + [ + transformationMapFn, + [ + transformationPreConditionPredicate, + transformationPreConditionDefaultValue = undefined, + ] = [], + ], + ], + [destinationMemberIdentifier, sourceMemberIdentifier] = [], + ] = propsToMap[i]; + + props.push({ + destinationMemberPath, + transformationMapFn, + transformationType: transformationMapFn[MapFnClassId.type], + transformationPreConditionPredicate, + transformationPreConditionDefaultValue, + destinationMemberIdentifier, + sourceMemberIdentifier, + }); + configuredKeys.push(destinationMemberPath[0]); + } + + return { props, configuredKeys }; +} diff --git a/packages/core/src/lib/mappings/create-map.ts b/packages/core/src/lib/mappings/create-map.ts index c2bff73d9..5a092d96b 100644 --- a/packages/core/src/lib/mappings/create-map.ts +++ b/packages/core/src/lib/mappings/create-map.ts @@ -12,7 +12,9 @@ import type { MetadataIdentifier, ModelIdentifier, } from '../types'; +import { MappingClassId } from '../types'; import { storeMetadata } from '../utils/store-metadata'; +import { compileMapping } from './compile-mapping'; import { createInitialMapping } from './create-initial-mapping'; export function createMap>( @@ -106,6 +108,12 @@ export function createMap< ) as MappingConfiguration[] ); + // properties are finalized — compile the flat per-property plan once, now, + // so map() never has to re-destructure the positional tuples at runtime. + mapping[MappingClassId.compiledPlan] = compileMapping( + mapping[MappingClassId.properties] + ); + // store the mapping if (!mappings.has(sourceIdentifier)) { mappings.set( diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 2d0658727..6e28b19e1 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -7,9 +7,7 @@ import type { MapInitializeReturn, MapOptions, Mapping, - MemberMapReturn, MetadataIdentifier, - Primitive, } from '../types'; import { MapFnClassId, MappingClassId, TransformationType } from '../types'; import { assertUnmappedProperties } from '../utils/assert-unmapped-properties'; @@ -19,6 +17,7 @@ import { isMappableIdentifier } from '../utils/is-mappable-identifier'; import { isEmpty } from '../utils/is-empty'; import { isPrimitiveConstructor } from '../utils/is-primitive-constructor'; import { set, setMutate } from '../utils/set'; +import { compileMapping } from './compile-mapping'; import { mapMember } from './map-member'; function setMemberReturnFn = any>( @@ -174,87 +173,6 @@ export function deferAsyncAfterMap(fn: () => unknown): void { } } -// --- Compiled mapping plan ------------------------------------------------- -// Every property in a mapping's `properties` array is a positional tuple whose -// shape is fixed at createMap time. The interpreter previously re-destructured -// that nested tuple (with its default fallbacks) and rebuilt the configuredKeys -// array on *every* map() call. Both are invariant per mapping, so we destructure -// once into a flat descriptor list and cache it keyed by the (immutable) -// properties array. `hasSameIdentifier` is intentionally NOT cached — it depends -// on the mapper's mapping registry, which can grow after this mapping is created. -interface CompiledMappingProperty< - TSource extends Dictionary, - TDestination extends Dictionary -> { - destinationMemberPath: string[]; - transformationMapFn: MemberMapReturn; - transformationType: TransformationType; - transformationPreConditionPredicate?: (source: TSource) => boolean; - transformationPreConditionDefaultValue?: unknown; - destinationMemberIdentifier?: MetadataIdentifier | Primitive | Date; - sourceMemberIdentifier?: MetadataIdentifier | Primitive | Date; -} - -interface CompiledMapping< - TSource extends Dictionary, - TDestination extends Dictionary -> { - props: CompiledMappingProperty[]; - configuredKeys: string[]; -} - -const compiledMappingCache = new WeakMap>(); - -function getCompiledMapping< - TSource extends Dictionary, - TDestination extends Dictionary ->( - propsToMap: Mapping[MappingClassId.properties] -): CompiledMapping { - const cached = compiledMappingCache.get(propsToMap); - if (cached !== undefined) { - return cached as CompiledMapping; - } - - const props: CompiledMappingProperty[] = []; - const configuredKeys: string[] = []; - - for (let i = 0, length = propsToMap.length; i < length; i++) { - const [ - destinationMemberPath, - [ - , - [ - transformationMapFn, - [ - transformationPreConditionPredicate, - transformationPreConditionDefaultValue = undefined, - ] = [], - ], - ], - [destinationMemberIdentifier, sourceMemberIdentifier] = [], - ] = propsToMap[i]; - - props.push({ - destinationMemberPath, - transformationMapFn, - transformationType: transformationMapFn[MapFnClassId.type], - transformationPreConditionPredicate, - transformationPreConditionDefaultValue, - destinationMemberIdentifier, - sourceMemberIdentifier, - }); - configuredKeys.push(destinationMemberPath[0]); - } - - const compiled: CompiledMapping = { - props, - configuredKeys, - }; - compiledMappingCache.set(propsToMap, compiled); - return compiled; -} - // Wrap a member failure (sync throw or async rejection) as MapMemberError and // route it through the mapper's error handler. Module-level so the hot map loop // allocates no per-member closure for it. @@ -320,10 +238,15 @@ export function map< // get extraArguments const extraArguments = extraArgs?.(mapping, destination); - // Pre-compiled (cached) property descriptors + the invariant set of keys - // that this mapping configures — destructured once per mapping, not per call. - const { props: compiledProps, configuredKeys } = - getCompiledMapping(propsToMap); + // Flat per-property descriptors + the invariant set of configured keys. + // Built eagerly at createMap and hung on the mapping; the lazy fallback only + // fires for a mapping constructed outside the normal createMap path. + let compiledPlan = mapping[MappingClassId.compiledPlan]; + if (compiledPlan === undefined) { + compiledPlan = compileMapping(propsToMap); + mapping[MappingClassId.compiledPlan] = compiledPlan; + } + const { props: compiledProps, configuredKeys } = compiledPlan; if (!isMapArray) { const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index eb27da8cb..681161730 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -521,6 +521,34 @@ export type NestedMappingPair = [ source: MetadataIdentifier | Primitive | Date ]; +// --- Compiled mapping plan ------------------------------------------------- +// A mapping's `properties` are positional tuples whose shape is fixed at +// createMap time. Rather than re-destructuring that nested tuple on every +// map() call, we destructure once into a flat descriptor list and hang it on +// the mapping itself (MappingClassId.compiledPlan), built eagerly at createMap. +// `sourceMemberIdentifier`/`destinationMemberIdentifier` equality that depends +// on the mapper's registry (which can grow later) is NOT baked in here. +export interface CompiledMappingProperty< + TSource extends Dictionary = any, + TDestination extends Dictionary = any +> { + destinationMemberPath: string[]; + transformationMapFn: MemberMapReturn; + transformationType: TransformationType; + transformationPreConditionPredicate?: (source: TSource) => boolean; + transformationPreConditionDefaultValue?: unknown; + destinationMemberIdentifier?: MetadataIdentifier | Primitive | Date; + sourceMemberIdentifier?: MetadataIdentifier | Primitive | Date; +} + +export interface CompiledMapping< + TSource extends Dictionary = any, + TDestination extends Dictionary = any +> { + props: CompiledMappingProperty[]; + configuredKeys: string[]; +} + export const enum MappingClassId { identifiers, identifierMetadata, @@ -531,6 +559,7 @@ export const enum MappingClassId { typeConverters, callbacks, namingConventions, + compiledPlan, } export type Mapping< @@ -592,7 +621,9 @@ export type Mapping< namingConventions?: [ source: NamingConvention, destination: NamingConvention - ] + ], + // built eagerly at createMap; flat per-property descriptors consumed by map() + compiledPlan?: CompiledMapping ]; export type DataMap = Map; From dabf04789bff438326dae33b579bbca66ed275a0 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Sat, 20 Jun 2026 22:35:06 -0400 Subject: [PATCH 36/73] perf(core): compile mappings to per-property step closures - build a specialized step closure per property at createMap; the map() loop is now straight-line steps[i](context) with no per-member TransformationType switch or descriptor destructuring - hoist per-mapping invariants into each closure (initialize fn, typeConverter flag, identifier-equality candidate, primitive-destination flag); the registry-dependent getMapping stays at runtime so nested mappings remain order-independent - drop the per-member setMember/thunk allocations; primitive members assign directly with no closure ~4-5x faster map()/mapArray() and ~3x less bulk array allocation on the pojos/classes flat+nested benchmarks (controlled A/B, source-resolved). Nested per-map bytes rise ~40% from the per-call context object; bulk mapArray allocation still drops ~52%. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../core/src/lib/mappings/compile-mapping.ts | 8 +- packages/core/src/lib/mappings/create-map.ts | 8 +- packages/core/src/lib/mappings/map.ts | 517 +++++++++++------- packages/core/src/lib/types.ts | 6 + 4 files changed, 334 insertions(+), 205 deletions(-) diff --git a/packages/core/src/lib/mappings/compile-mapping.ts b/packages/core/src/lib/mappings/compile-mapping.ts index 21f766cb9..85da2ef64 100644 --- a/packages/core/src/lib/mappings/compile-mapping.ts +++ b/packages/core/src/lib/mappings/compile-mapping.ts @@ -8,15 +8,15 @@ import { MapFnClassId, MappingClassId } from '../types'; // Destructure a mapping's positional `properties` tuples once into a flat // descriptor list (plus the invariant set of configured destination keys). -// Called eagerly at createMap time; the result is stored on the mapping at -// MappingClassId.compiledPlan and read directly by the map() hot loop, so no -// per-call re-destructuring (and no WeakMap probe) happens. +// Called eagerly at createMap time (via buildMapPlan, which also attaches the +// compiled steps); the result is stored on the mapping and read directly by the +// map() hot loop, so no per-call re-destructuring (and no WeakMap probe) happens. export function compileMapping< TSource extends Dictionary, TDestination extends Dictionary >( propsToMap: Mapping[MappingClassId.properties] -): CompiledMapping { +): Omit, 'steps'> { const props: CompiledMappingProperty[] = []; const configuredKeys: string[] = []; diff --git a/packages/core/src/lib/mappings/create-map.ts b/packages/core/src/lib/mappings/create-map.ts index 5a092d96b..8b6edc4c7 100644 --- a/packages/core/src/lib/mappings/create-map.ts +++ b/packages/core/src/lib/mappings/create-map.ts @@ -14,8 +14,8 @@ import type { } from '../types'; import { MappingClassId } from '../types'; import { storeMetadata } from '../utils/store-metadata'; -import { compileMapping } from './compile-mapping'; import { createInitialMapping } from './create-initial-mapping'; +import { buildMapPlan } from './map'; export function createMap>( mapper: Mapper, @@ -108,9 +108,9 @@ export function createMap< ) as MappingConfiguration[] ); - // properties are finalized — compile the flat per-property plan once, now, - // so map() never has to re-destructure the positional tuples at runtime. - mapping[MappingClassId.compiledPlan] = compileMapping( + // properties are finalized — compile the per-property step plan once, now, + // so map() never has to re-inspect the positional tuples at runtime. + mapping[MappingClassId.compiledPlan] = buildMapPlan( mapping[MappingClassId.properties] ); diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 6e28b19e1..fa47e3423 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -1,10 +1,13 @@ import { MapMemberError } from '../errors'; import { getErrorHandler } from '../symbols'; import type { + CompiledMapping, + CompiledMappingProperty, Constructor, Dictionary, ErrorHandler, MapInitializeReturn, + Mapper, MapOptions, Mapping, MetadataIdentifier, @@ -196,6 +199,303 @@ function makeMemberError( return error; } +// Per-call state handed to each compiled step. Built once per map() call; the +// step closures capture everything that is invariant per mapping (paths, +// transformation fns, precomputed identifier flags) at compile time and read +// only the call-varying bits from here. +interface MapStepContext< + TSource extends Dictionary, + TDestination extends Dictionary +> { + sourceObject: TSource; + destination: TDestination; + extraArguments: Record | undefined; + extraArgs: MapOptions['extraArgs']; + mapper: Mapper; + errorHandler: ErrorHandler; + destinationIdentifier: MetadataIdentifier; + setMemberFn: MapParameter['setMemberFn']; + getMemberFn: MapParameter['getMemberFn']; +} + +type MapStep< + TSource extends Dictionary, + TDestination extends Dictionary +> = (context: MapStepContext) => void; + +// Assign an already-resolved value onto the destination. In an async context a +// thenable is awaited and the *resolved* value assigned (the promise is collected +// as pending); async rejections wrap via makeMemberError. NO try/catch here — the +// caller wraps sync throws so the failure is wrapped exactly once. +function assignResolved< + TSource extends Dictionary, + TDestination extends Dictionary +>( + value: unknown, + destinationMemberPath: string[], + ctx: MapStepContext +): void { + const setValue = ctx.setMemberFn(destinationMemberPath, ctx.destination); + if (asyncMapContext !== null && isThenable(value)) { + asyncMapContext.pending.push( + Promise.resolve(value) + .then(setValue) + .catch((originalError) => { + throw makeMemberError( + destinationMemberPath, + ctx.destinationIdentifier, + ctx.errorHandler, + originalError + ); + }) + ); + return; + } + setValue(value); +} + +// Assign a precomputed value (its production already happened, or cannot throw). +function assignMember< + TSource extends Dictionary, + TDestination extends Dictionary +>( + value: unknown, + destinationMemberPath: string[], + ctx: MapStepContext +): void { + try { + assignResolved(value, destinationMemberPath, ctx); + } catch (originalError) { + throw makeMemberError( + destinationMemberPath, + ctx.destinationIdentifier, + ctx.errorHandler, + originalError + ); + } +} + +// Produce a value (which may throw — nested map(), mapMember(), etc.) then assign +// it. A single try wraps both production and assignment, matching the original +// per-member setMember semantics (one MapMemberError wrap on failure). +function setMemberValue< + TSource extends Dictionary, + TDestination extends Dictionary +>( + valueFn: () => unknown, + destinationMemberPath: string[], + ctx: MapStepContext +): void { + try { + assignResolved(valueFn(), destinationMemberPath, ctx); + } catch (originalError) { + throw makeMemberError( + destinationMemberPath, + ctx.destinationIdentifier, + ctx.errorHandler, + originalError + ); + } +} + +// Specialize one property into a step closure. The TransformationType switch and +// the per-mapping-invariant identifier equality are resolved here, once, so the +// map() loop is straight-line `steps[i](context)`. +function compileStep< + TSource extends Dictionary, + TDestination extends Dictionary +>( + prop: CompiledMappingProperty +): MapStep { + const { + destinationMemberPath, + transformationMapFn, + transformationType, + transformationPreConditionPredicate: preCond, + transformationPreConditionDefaultValue: preCondDefault, + destinationMemberIdentifier, + sourceMemberIdentifier, + } = prop; + + // Everything that isn't MapInitialize dispatches through mapMember(); no + // identifier/value-shape inspection is needed here. + if (transformationType !== TransformationType.MapInitialize) { + return (ctx) => { + if (preCond && !preCond(ctx.sourceObject)) { + assignMember(preCondDefault, destinationMemberPath, ctx); + return; + } + setMemberValue( + () => + mapMember( + transformationMapFn, + ctx.sourceObject, + ctx.destination, + destinationMemberPath, + ctx.extraArguments, + ctx.mapper, + sourceMemberIdentifier, + destinationMemberIdentifier + ), + destinationMemberPath, + ctx + ); + }; + } + + // MapInitialize. Hoist the invariant pieces: the initialize fn, the + // typeConverter flag, the identifier-equality *candidate* (the registry + // lookup that completes it stays at runtime), and whether the destination + // identifier is a primitive constructor. + const mapInitializeFn = transformationMapFn[ + MapFnClassId.fn + ] as MapInitializeReturn[MapFnClassId.fn]; + const isTypedConverted = transformationMapFn[MapFnClassId.isConverted]; + const sameIdentifierCandidate = + isMappableIdentifier(destinationMemberIdentifier) && + isMappableIdentifier(sourceMemberIdentifier) && + sourceMemberIdentifier === destinationMemberIdentifier; + const destinationIsPrimitive = isPrimitiveConstructor( + destinationMemberIdentifier + ); + + return (ctx) => { + if (preCond && !preCond(ctx.sourceObject)) { + assignMember(preCondDefault, destinationMemberPath, ctx); + return; + } + + const mapInitializedValue = mapInitializeFn(ctx.sourceObject); + + // a same identifier that isn't a primitive/Date AND has no mapping of + // its own — assigned as-is. getMapping is only consulted when the + // (invariant) candidate held, so primitives never hit the registry. + const hasSameIdentifier = + sameIdentifierCandidate && + !getMapping( + ctx.mapper, + sourceMemberIdentifier as MetadataIdentifier, + destinationMemberIdentifier as MetadataIdentifier, + true + ); + + if ( + mapInitializedValue == null || + mapInitializedValue instanceof Date || + Object.prototype.toString + .call(mapInitializedValue) + .slice(8, -1) === 'File' || + hasSameIdentifier || + isTypedConverted + ) { + assignMember(mapInitializedValue, destinationMemberPath, ctx); + return; + } + + if (Array.isArray(mapInitializedValue)) { + const [first] = mapInitializedValue; + // primitive/Date/File element array — shallow copy + if ( + typeof first !== 'object' || + first instanceof Date || + Object.prototype.toString.call(first).slice(8, -1) === 'File' + ) { + assignMember( + mapInitializedValue.slice(), + destinationMemberPath, + ctx + ); + return; + } + + if (isEmpty(first)) { + assignMember([], destinationMemberPath, ctx); + return; + } + + // object array but destination identifier is primitive — skip + if (destinationIsPrimitive) { + return; + } + + setMemberValue( + () => + mapInitializedValue.map((each) => + mapReturn( + getMapping( + ctx.mapper, + sourceMemberIdentifier as MetadataIdentifier, + destinationMemberIdentifier as MetadataIdentifier + ), + each, + { extraArgs: ctx.extraArgs } + ) + ), + destinationMemberPath, + ctx + ); + return; + } + + if (typeof mapInitializedValue === 'object') { + const nestedMapping = getMapping( + ctx.mapper, + sourceMemberIdentifier as MetadataIdentifier, + destinationMemberIdentifier as MetadataIdentifier + ); + + // nested mutate — recurse directly (unwrapped, as before) + if (ctx.getMemberFn) { + const memberValue = ctx.getMemberFn(destinationMemberPath); + if (memberValue !== undefined) { + map({ + sourceObject: mapInitializedValue as TSource, + mapping: nestedMapping, + options: { extraArgs: ctx.extraArgs }, + setMemberFn: setMemberMutateFn(memberValue), + getMemberFn: getMemberMutateFn(memberValue), + }); + } + return; + } + + setMemberValue( + () => + map({ + mapping: nestedMapping, + sourceObject: mapInitializedValue as TSource, + options: { extraArgs: ctx.extraArgs }, + setMemberFn: setMemberReturnFn, + }), + destinationMemberPath, + ctx + ); + return; + } + + // primitive + assignMember(mapInitializedValue, destinationMemberPath, ctx); + }; +} + +// Build the full compiled plan for a mapping's properties: flat descriptors, +// configured keys, and the specialized step closures. Called once at createMap. +export function buildMapPlan< + TSource extends Dictionary, + TDestination extends Dictionary +>( + propsToMap: Mapping[MappingClassId.properties] +): CompiledMapping { + const { props, configuredKeys } = compileMapping( + propsToMap + ); + const steps: MapStep[] = new Array(props.length); + for (let i = 0, length = props.length; i < length; i++) { + steps[i] = compileStep(props[i]); + } + return { props, configuredKeys, steps }; +} + export function map< TSource extends Dictionary, TDestination extends Dictionary @@ -238,15 +538,15 @@ export function map< // get extraArguments const extraArguments = extraArgs?.(mapping, destination); - // Flat per-property descriptors + the invariant set of configured keys. - // Built eagerly at createMap and hung on the mapping; the lazy fallback only - // fires for a mapping constructed outside the normal createMap path. + // Compiled plan (specialized step closures + configured keys). Built eagerly + // at createMap and hung on the mapping; the lazy fallback only fires for a + // mapping constructed outside the normal createMap path. let compiledPlan = mapping[MappingClassId.compiledPlan]; if (compiledPlan === undefined) { - compiledPlan = compileMapping(propsToMap); + compiledPlan = buildMapPlan(propsToMap); mapping[MappingClassId.compiledPlan] = compiledPlan; } - const { props: compiledProps, configuredKeys } = compiledPlan; + const { steps, configuredKeys } = compiledPlan; if (!isMapArray) { const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; @@ -257,198 +557,21 @@ export function map< } } - // map - for (let i = 0, length = compiledProps.length; i < length; i++) { - const { - destinationMemberPath, - transformationMapFn, - transformationType, - transformationPreConditionPredicate, - transformationPreConditionDefaultValue, - destinationMemberIdentifier, - sourceMemberIdentifier, - } = compiledProps[i]; - - let hasSameIdentifier = - isMappableIdentifier(destinationMemberIdentifier) && - isMappableIdentifier(sourceMemberIdentifier) && - sourceMemberIdentifier === destinationMemberIdentifier; - - if (hasSameIdentifier) { - // at this point, we have a same identifier that aren't primitive or date - // we then check if there is a mapping created for this identifier - hasSameIdentifier = !getMapping( - mapper, - sourceMemberIdentifier as MetadataIdentifier, - destinationMemberIdentifier as MetadataIdentifier, - true - ); - } - - // Set up a shortcut function to set destinationMemberPath on destination - // with the value as argument. In an async context a thenable value is - // awaited and the *resolved* value is assigned (instead of the promise). - // Errors (sync throw or async rejection) wrap via the module-level - // makeMemberError — no per-member closure on the hot path. - const setMember = (valFn: () => unknown) => { - try { - const value = valFn(); - const setValue = setMemberFn(destinationMemberPath, destination); - if (asyncMapContext !== null && isThenable(value)) { - asyncMapContext.pending.push( - Promise.resolve(value) - .then(setValue) - .catch((originalError) => { - throw makeMemberError( - destinationMemberPath, - destinationIdentifier, - errorHandler, - originalError - ); - }) - ); - return; - } - return setValue(value); - } catch (originalError) { - throw makeMemberError( - destinationMemberPath, - destinationIdentifier, - errorHandler, - originalError - ); - } - }; - - // Pre Condition check - if ( - transformationPreConditionPredicate && - !transformationPreConditionPredicate(sourceObject) - ) { - setMember(() => transformationPreConditionDefaultValue); - continue; - } - - // Start with all the mapInitialize - if (transformationType === TransformationType.MapInitialize) { - const mapInitializedValue = ( - transformationMapFn[MapFnClassId.fn] as MapInitializeReturn< - TSource, - TDestination - >[MapFnClassId.fn] - )(sourceObject); - const isTypedConverted = - transformationMapFn[MapFnClassId.isConverted]; - - // if null/undefined - // if isDate, isFile - // if it has same identifier that are not primitives or Date - // if the initialized value was converted with typeConverter - if ( - mapInitializedValue == null || - mapInitializedValue instanceof Date || - Object.prototype.toString - .call(mapInitializedValue) - .slice(8, -1) === 'File' || - hasSameIdentifier || - isTypedConverted - ) { - setMember(() => mapInitializedValue); - continue; - } - - // if isArray - if (Array.isArray(mapInitializedValue)) { - const [first] = mapInitializedValue; - // if first item is a primitive - if ( - typeof first !== 'object' || - first instanceof Date || - Object.prototype.toString.call(first).slice(8, -1) === - 'File' - ) { - setMember(() => mapInitializedValue.slice()); - continue; - } - - // if first is empty - if (isEmpty(first)) { - setMember(() => []); - continue; - } - - // if first is object but the destination identifier is a primitive - // then skip completely - if (isPrimitiveConstructor(destinationMemberIdentifier)) { - continue; - } - - setMember(() => - mapInitializedValue.map((each) => - mapReturn( - getMapping( - mapper, - sourceMemberIdentifier as MetadataIdentifier, - destinationMemberIdentifier as MetadataIdentifier - ), - each, - { extraArgs } - ) - ) - ); - continue; - } - - if (typeof mapInitializedValue === 'object') { - const nestedMapping = getMapping( - mapper, - sourceMemberIdentifier as MetadataIdentifier, - destinationMemberIdentifier as MetadataIdentifier - ); - - // nested mutate - if (getMemberFn) { - const memberValue = getMemberFn(destinationMemberPath); - if (memberValue !== undefined) { - map({ - sourceObject: mapInitializedValue as TSource, - mapping: nestedMapping, - options: { extraArgs }, - setMemberFn: setMemberMutateFn(memberValue), - getMemberFn: getMemberMutateFn(memberValue), - }); - } - continue; - } - - setMember(() => - map({ - mapping: nestedMapping, - sourceObject: mapInitializedValue as TSource, - options: { extraArgs }, - setMemberFn: setMemberReturnFn, - }) - ); - continue; - } - - // if is primitive - setMember(() => mapInitializedValue); - continue; - } - - setMember(() => - mapMember( - transformationMapFn, - sourceObject, - destination, - destinationMemberPath, - extraArguments, - mapper, - sourceMemberIdentifier, - destinationMemberIdentifier - ) - ); + // Build the per-call context once, then run each compiled step. All the + // per-member branching/destructuring was resolved at compile time. + const context: MapStepContext = { + sourceObject, + destination, + extraArguments, + extraArgs, + mapper, + errorHandler, + destinationIdentifier, + setMemberFn, + getMemberFn, + }; + for (let i = 0, length = steps.length; i < length; i++) { + (steps[i] as MapStep)(context); } if (!isMapArray) { diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index 681161730..d66793dce 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -541,12 +541,18 @@ export interface CompiledMappingProperty< sourceMemberIdentifier?: MetadataIdentifier | Primitive | Date; } +// A single property's work, specialized once at compile time so the map() loop +// runs `steps[i](context)` with no per-member type switch or descriptor +// destructuring. The context is map()-internal; kept opaque here. +export type CompiledMapStep = (context: any) => void; + export interface CompiledMapping< TSource extends Dictionary = any, TDestination extends Dictionary = any > { props: CompiledMappingProperty[]; configuredKeys: string[]; + steps: CompiledMapStep[]; } export const enum MappingClassId { From f487c202fe64d0222a61c3e756125b86620325c2 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Mon, 22 Jun 2026 01:26:01 -0400 Subject: [PATCH 37/73] fix(core): address mapper migration followups - fix logger output and similar-prefix flattening - add async callback sequencing and array callbacks - widen class identifiers for abstract/private constructors - fix transformer import path normalization - add issue regressions for migration followups Co-Authored-By: Claude Opus 4.6 --- .../2026-06-21-github-triage-followups.md | 107 ++++++++ packages/classes/src/lib/automap.ts | 14 +- packages/classes/src/lib/classes.ts | 2 +- packages/classes/src/lib/get-metadata-list.ts | 18 +- .../transformer-plugin/src/lib/utils.spec.ts | 30 +++ .../transformer-plugin/src/lib/utils.ts | 39 ++- packages/core/src/index.ts | 2 + packages/core/src/lib/core.ts | 254 +++++++++++++----- .../mapping-configurations/after-map-array.ts | 18 ++ .../before-map-array.ts | 18 ++ packages/core/src/lib/mappings/map.ts | 186 ++++++++++--- .../src/lib/member-map-functions/map-from.ts | 4 +- .../map-with-arguments.ts | 3 +- packages/core/src/lib/types.ts | 33 ++- packages/core/src/lib/utils/get-path.ts | 18 +- packages/core/src/lib/utils/logger.ts | 8 +- .../core/src/lib/utils/specs/get-path.spec.ts | 63 +++++ .../core/src/lib/utils/specs/logger.spec.ts | 22 ++ .../src/classes/issues/595/595.spec.ts | 49 ++++ .../src/classes/issues/614/614.spec.ts | 56 ++++ .../src/classes/issues/624/624.spec.ts | 46 ++++ .../src/classes/issues/625/625.spec.ts | 52 ++++ .../src/classes/map-async.spec.ts | 113 +++++++- .../src/classes/map-callback.spec.ts | 103 +++++++ packages/mikro/src/lib/mikro.ts | 2 +- packages/sequelize/src/lib/sequelize.ts | 2 +- 26 files changed, 1121 insertions(+), 141 deletions(-) create mode 100644 docs/superpowers/plans/2026-06-21-github-triage-followups.md create mode 100644 packages/classes/transformer-plugin/src/lib/utils.spec.ts create mode 100644 packages/core/src/lib/mapping-configurations/after-map-array.ts create mode 100644 packages/core/src/lib/mapping-configurations/before-map-array.ts create mode 100644 packages/core/src/lib/utils/specs/get-path.spec.ts create mode 100644 packages/core/src/lib/utils/specs/logger.spec.ts create mode 100644 packages/integration-test/src/classes/issues/595/595.spec.ts create mode 100644 packages/integration-test/src/classes/issues/614/614.spec.ts create mode 100644 packages/integration-test/src/classes/issues/624/624.spec.ts create mode 100644 packages/integration-test/src/classes/issues/625/625.spec.ts diff --git a/docs/superpowers/plans/2026-06-21-github-triage-followups.md b/docs/superpowers/plans/2026-06-21-github-triage-followups.md new file mode 100644 index 000000000..e88000ba9 --- /dev/null +++ b/docs/superpowers/plans/2026-06-21-github-triage-followups.md @@ -0,0 +1,107 @@ +# GitHub Triage Followups + +Created from valid PR work that should not be lost after closing stale or superseded PRs during the `chore/9.0-migrate` triage. + +Also includes recent issues reopened after correcting the initial triage pass, where closing under the 9.0 umbrella was too aggressive. + +## Followup items + +### Async mapping parity + +Source PRs/issues: #537, #622 + +- Audit async mapping behavior against the closed PRs. +- Ensure async member resolvers, `beforeMap`, and `afterMap` are awaited consistently. +- Check whether any PR behavior is still missing from the `chore/9.0-migrate` true async mapping implementation. +- Add focused regression coverage for any remaining async parity gaps. + +Status: partially addressed in this sweep with async `beforeMap` sequencing coverage/fix; broader #622 parity items remain design-sized. + +### Similar-prefix flattening + +Source issues/PRs: #624, #573, #601 + +- Revisit flattening behavior when source member names share similar prefixes. +- Add regression coverage for nested properties whose names overlap by prefix. +- Confirm branch behavior does not accidentally bind to the wrong flattened source path. + +Status: addressed in this sweep with `getFlatteningPaths` unit coverage and #624 integration coverage. + +### Mapping-level array callbacks + +Source PR: #618 + +- Evaluate whether `beforeMapArray` and `afterMapArray` should be first-class mapping-level callbacks. +- Decide API shape and consistency with existing `beforeMap` / `afterMap` semantics. +- If accepted, add implementation and array-specific regression coverage. + +Status: addressed in this sweep with `beforeMapArray` / `afterMapArray`, sync/override/async coverage, and mutate-array slot initialization fix. + +### Windows transformer path rewriting + +Source PR: #619 + +- Audit transformer path rewriting on Windows paths. +- Add path normalization tests for backslash-separated paths. +- Ensure generated or rewritten import paths remain portable across Windows and POSIX. + +Status: addressed in this sweep with focused POSIX/Windows `replaceImportPath` coverage and normalized path rewriting. + +### Private constructor / factory construction support + +Source issue: #625 + +- Investigate type/runtime support for destination classes with private constructors. +- Determine whether `constructUsing` plus a static factory method can support this without weakening constructor typing too broadly. +- Add a type-level regression test for classes that cannot be directly constructed but can be produced by a factory. + +Status: addressed in this sweep by widening model identifiers and adding #625 coverage. + +### Logger output bug + +Source issue: #616 + +- Fix `AutoMapperLogger` methods so default logging actually invokes `console.*`. +- Current implementation still uses `console.*.bind(...)` without calling the bound function. +- Add coverage or a small regression check for default warning/error output. + +Status: addressed in this sweep with unit coverage for all default logger methods. + +### Abstract constructor typing with `constructUsing` + +Source issue: #614 + +- Investigate `ModelIdentifier` / `Constructor` typing for abstract destination classes. +- Ensure `constructUsing` can map to an abstract base type when the callback returns a concrete subclass. +- Add type-level coverage for abstract base destination identifiers. + +Status: addressed in this sweep by widening model identifiers and adding #614 coverage. + +### Union-type `@AutoMap()` metadata behavior + +Source issue: #600 + +- Revisit `@AutoMap()` behavior when `design:type` is `Object` for union types like `string | null`. +- Decide whether inferred `Object` should remain skipped, emit better guidance, or support a safe fallback. +- Add docs or regression coverage for nullable/union primitive properties. + +Status: intentionally deferred. Runtime `design:type === Object` is ambiguous; a blanket change would also affect arbitrary object/interface fields. Keep issue open for explicit API/docs design. + +### Undefined property after mapping with mixed explicit/implicit members + +Source issue: #595 + +- Reproduce the reported case where an explicitly mapped `Date -> string` member causes another matching `id` member to remain `undefined`. +- Determine whether this is a configuration gap, metadata issue, or core mapping bug. +- Add a focused repro before changing behavior. + +Status: regression added in this sweep; current behavior already preserves implicit mapping, so no production fix was needed. + +### UI/card styling contribution + +Source issue: #623 + +- Re-evaluate whether the docs/site UI card styling proposal still applies. +- If accepted, scope it as a separate UI/docs task rather than mixing with 9.0 runtime work. + +Status: deferred. Docs UI work should wait until the docs platform direction is decided. diff --git a/packages/classes/src/lib/automap.ts b/packages/classes/src/lib/automap.ts index 8ebfc35af..b33015423 100644 --- a/packages/classes/src/lib/automap.ts +++ b/packages/classes/src/lib/automap.ts @@ -1,4 +1,4 @@ -import type { Constructor } from '@automapper/core'; +import type { ClassIdentifier } from '@automapper/core'; import { AutoMapperLogger } from '@automapper/core'; import 'reflect-metadata'; import { AUTOMAP_PROPERTIES_METADATA_KEY } from './keys'; @@ -7,7 +7,7 @@ export interface AutoMapOptions { /** * Type Function */ - type?: () => Constructor | [Constructor]; + type?: () => ClassIdentifier | [ClassIdentifier]; /** * Depth for nested models. Default to 1 */ @@ -20,11 +20,13 @@ export interface AutoMapOptions { export function AutoMap(): PropertyDecorator; export function AutoMap( - typeFn: () => Constructor | [Constructor] + typeFn: () => ClassIdentifier | [ClassIdentifier] ): PropertyDecorator; export function AutoMap(options: AutoMapOptions): PropertyDecorator; export function AutoMap( - typeFnOrOptions?: (() => Constructor | [Constructor]) | AutoMapOptions + typeFnOrOptions?: + | (() => ClassIdentifier | [ClassIdentifier]) + | AutoMapOptions ): PropertyDecorator { const options = getAutoMapOptions(typeFnOrOptions); return (target, propertyKey) => { @@ -86,7 +88,9 @@ Manually provide the "type" metadata to prevent unexpected behavior. } function getAutoMapOptions( - typeFnOrOptions?: (() => Constructor | [Constructor]) | AutoMapOptions + typeFnOrOptions?: + | (() => ClassIdentifier | [ClassIdentifier]) + | AutoMapOptions ): AutoMapOptions { if (typeFnOrOptions === undefined) { return { depth: 1, isGetterOnly: undefined, type: undefined }; diff --git a/packages/classes/src/lib/classes.ts b/packages/classes/src/lib/classes.ts index ccbd3a185..b2c576ca0 100644 --- a/packages/classes/src/lib/classes.ts +++ b/packages/classes/src/lib/classes.ts @@ -13,7 +13,7 @@ import { getMetadataList } from './get-metadata-list'; export function classes( options: MappingStrategyInitializerOptions = {} -): MappingStrategyInitializer { +): MappingStrategyInitializer { const { destinationConstructor = ( _: Dictionary, diff --git a/packages/classes/src/lib/get-metadata-list.ts b/packages/classes/src/lib/get-metadata-list.ts index da59080d7..97f3c09eb 100644 --- a/packages/classes/src/lib/get-metadata-list.ts +++ b/packages/classes/src/lib/get-metadata-list.ts @@ -1,4 +1,4 @@ -import type { Constructor } from '@automapper/core'; +import type { ClassIdentifier, MetadataIdentifier } from '@automapper/core'; import { isDateConstructor, isPrimitiveConstructor } from '@automapper/core'; import 'reflect-metadata'; import { @@ -10,25 +10,29 @@ type MetadataList = Array< [ string, { - type: () => Constructor | [Constructor]; + type: () => ClassIdentifier | [ClassIdentifier]; depth: number; isGetterOnly?: boolean; } ] >; -export function getMetadataList(model: Constructor): [ +export function getMetadataList(model: MetadataIdentifier): [ metadataList: [ string, { - type: () => Constructor; + type: () => MetadataIdentifier; isArray: boolean; depth: number; isGetterOnly?: boolean; } ][], - nestedConstructor: Constructor[] + nestedConstructor: MetadataIdentifier[] ] { + if (typeof model !== 'function') { + return [[], []]; + } + let metadataList: MetadataList = ( model.constructor?.prototype ? Reflect.getMetadata( @@ -70,13 +74,13 @@ export function getMetadataList(model: Constructor): [ metadataList: [ string, { - type: () => Constructor; + type: () => MetadataIdentifier; isArray: boolean; depth: number; isGetterOnly?: boolean; } ][], - nestedConstructor: Constructor[] + nestedConstructor: MetadataIdentifier[] ] ); } diff --git a/packages/classes/transformer-plugin/src/lib/utils.spec.ts b/packages/classes/transformer-plugin/src/lib/utils.spec.ts new file mode 100644 index 000000000..31a410fee --- /dev/null +++ b/packages/classes/transformer-plugin/src/lib/utils.spec.ts @@ -0,0 +1,30 @@ +import { replaceImportPath } from './utils'; + +describe(replaceImportPath.name, () => { + it('should rewrite POSIX absolute import references to relative require references', () => { + expect( + replaceImportPath( + 'import("/repo/src/models/user.model").UserModel', + '/repo/src/dtos/user.dto.ts' + ) + ).toEqual('require("../models/user.model").UserModel'); + }); + + it('should rewrite Windows absolute import references to normalized relative require references', () => { + expect( + replaceImportPath( + 'import("C:\\repo\\src\\models\\user.model").UserModel', + 'C:\\repo\\src\\dtos\\user.dto.ts' + ) + ).toEqual('require("../models/user.model").UserModel'); + }); + + it('should keep package import references as package specifiers', () => { + expect( + replaceImportPath( + 'import("@scope/pkg/models").UserModel', + '/repo/src/dtos/user.dto.ts' + ) + ).toEqual('require("@scope/pkg/models").UserModel'); + }); +}); diff --git a/packages/classes/transformer-plugin/src/lib/utils.ts b/packages/classes/transformer-plugin/src/lib/utils.ts index 84ff0b647..5d8507eec 100644 --- a/packages/classes/transformer-plugin/src/lib/utils.ts +++ b/packages/classes/transformer-plugin/src/lib/utils.ts @@ -105,6 +105,43 @@ export function getTypeReference( export function replaceImportPath( typeReference: string, fileName: string +): string | undefined { + const importPath = /import\("([^"]+)"\)/.exec(typeReference)?.[1]; + if (!importPath) { + return undefined; + } + + if (!isFilePathImport(importPath)) { + return typeReference.replace('import', 'require'); + } + + let relativePath = posix.relative( + posix.dirname(normalizePath(fileName)), + normalizePath(importPath) + ); + relativePath = relativePath[0] !== '.' ? './' + relativePath : relativePath; + typeReference = typeReference.replace(importPath, relativePath); + + return typeReference.replace('import', 'require'); +} + +function normalizePath(path: string): string { + return path.replace(/\\/g, '/'); +} + +function isFilePathImport(path: string): boolean { + return ( + path.startsWith('.') || + path.startsWith('/') || + /^[A-Za-z]:[\\/]/.test(path) || + path.includes('\\') + ); +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function _replaceImportPathLegacy( + typeReference: string, + fileName: string ): string | undefined { let importPath = /\("([^)]).+(")/.exec(typeReference)?.[0]; if (!importPath) { @@ -112,7 +149,7 @@ export function replaceImportPath( } if (process.platform === 'win32') { - return typeReference.replace('import', 'require') + return typeReference.replace('import', 'require'); } importPath = importPath.slice(2, importPath.length - 1); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 2193c2964..27cfc712d 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -20,6 +20,8 @@ export * from './lib/mapping-configurations/type-converters'; export * from './lib/mapping-configurations/construct-using'; export * from './lib/mapping-configurations/before-map'; export * from './lib/mapping-configurations/after-map'; +export * from './lib/mapping-configurations/before-map-array'; +export * from './lib/mapping-configurations/after-map-array'; export * from './lib/mapping-configurations/extend'; export * from './lib/mapping-configurations/naming-conventions'; export * from './lib/mapping-configurations/auto-map'; diff --git a/packages/core/src/lib/core.ts b/packages/core/src/lib/core.ts index d9dc1fcd5..0f0e60bf4 100644 --- a/packages/core/src/lib/core.ts +++ b/packages/core/src/lib/core.ts @@ -1,8 +1,12 @@ import { - deferAsyncAfterMap, + deferAsyncAfterMapAfterPending, + getAsyncMapContext, + isAsyncMapActive, + isThenable, mapMutate, mapReturn, pushAsyncPending, + runInAsyncMapContext, runAsyncMap, settleAsyncMap, } from './mappings/map'; @@ -33,6 +37,7 @@ import type { ModelIdentifier, NamingConventionInput, } from './types'; +import { MappingCallbacksClassId, MappingClassId } from './types'; import { getMapping } from './utils/get-mapping'; import { AutoMapperLogger } from './utils/logger'; @@ -189,18 +194,38 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { + if (sourceObject == null) { + return Promise.resolve(sourceObject as TDestination); + } + + const { destinationIdentifier, mapOptions } = getOptions( + sourceIdentifier, + destinationIdentifierOrOptions, + options + ); + + const mapping = getMapping( + mapper, + sourceIdentifier, + destinationIdentifier + ); + + sourceObject = strategy.preMap(sourceObject, mapping); + // Run the synchronous engine inside an async context, then await any // async member resolvers / before-map, and finally the deferred // after-maps — so the resolved Promise carries a fully-mapped result. - const [result, asyncContext] = runAsyncMap(() => - mapper.map( - sourceObject, - sourceIdentifier, - destinationIdentifierOrOptions as ModelIdentifier, - options - ) + const [destination, asyncContext] = runAsyncMap(() => + mapReturn(mapping, sourceObject, mapOptions || {}) + ); + return settleAsyncMap(asyncContext).then( + () => + strategy.postMap( + sourceObject, + destination, + mapping + ) as TDestination ); - return settleAsyncMap(asyncContext).then(() => result); }, mapArray< @@ -231,43 +256,77 @@ export function createMapper({ const { beforeMap, afterMap, extraArgs } = (mapOptions || {}) as MapOptions; - if (beforeMap) { - pushAsyncPending(beforeMap(sourceArray, [])); - } - const destinationArray: TDestination[] = []; + const mappingCallbacks = mapping[MappingClassId.callbacks]; + const beforeMapArray = + beforeMap ?? + mappingCallbacks?.[MappingCallbacksClassId.beforeMapArray]; + const afterMapArray = + afterMap ?? + mappingCallbacks?.[MappingCallbacksClassId.afterMapArray]; + + const runArrayMapping = () => { + for (let i = 0, length = sourceArray.length; i < length; i++) { + let sourceObject = sourceArray[i]; + sourceObject = strategy.preMap(sourceObject, mapping); + + const destination = mapReturn( + mapping, + sourceObject, + { + extraArgs: extraArgs as MapOptions< + TSource, + TDestination + >['extraArgs'], + }, + true + ); + + destinationArray.push( + strategy.postMap( + sourceObject, + // returned as-is: intentionally NOT sealed, so + // consumers can add/modify after mapping + destination, + mapping + ) as TDestination + ); + } + }; - for (let i = 0, length = sourceArray.length; i < length; i++) { - let sourceObject = sourceArray[i]; - sourceObject = strategy.preMap(sourceObject, mapping); - - const destination = mapReturn( - mapping, - sourceObject, - { - extraArgs: extraArgs as MapOptions< - TSource, - TDestination - >['extraArgs'], - }, - true - ); + let arrayMappingDeferredUntilBeforeMap = false; + const queueAfterMapArray = () => { + if (afterMapArray) { + deferAsyncAfterMapAfterPending(() => + afterMapArray(sourceArray, destinationArray) + ); + } + }; - destinationArray.push( - strategy.postMap( - sourceObject, - // returned as-is: intentionally NOT sealed, so - // consumers can add/modify after mapping - destination, - mapping - ) as TDestination + if (beforeMapArray) { + const beforeMapResult = beforeMapArray( + sourceArray, + destinationArray ); + if (isAsyncMapActive() && isThenable(beforeMapResult)) { + const asyncMapContext = getAsyncMapContext(); + arrayMappingDeferredUntilBeforeMap = true; + pushAsyncPending( + Promise.resolve(beforeMapResult).then(() => + runInAsyncMapContext(asyncMapContext!, () => { + runArrayMapping(); + queueAfterMapArray(); + }) + ) + ); + } else { + pushAsyncPending(beforeMapResult); + } } - if (afterMap) { - deferAsyncAfterMap(() => - afterMap(sourceArray, destinationArray) - ); + if (!arrayMappingDeferredUntilBeforeMap) { + runArrayMapping(); + queueAfterMapArray(); } return destinationArray; @@ -345,16 +404,33 @@ export function createMapper({ | MapOptions, options?: MapOptions ): Promise { + if (sourceObject == null) return Promise.resolve(); + + const { destinationIdentifier, mapOptions } = getOptions( + sourceIdentifier, + destinationIdentifierOrOptions, + options + ); + + const mapping = getMapping( + mapper, + sourceIdentifier, + destinationIdentifier + ); + + sourceObject = strategy.preMap(sourceObject, mapping); + const [, asyncContext] = runAsyncMap(() => - mapper.mutate( + mapMutate( + mapping, sourceObject, destinationObject, - sourceIdentifier, - destinationIdentifierOrOptions as ModelIdentifier, - options + mapOptions || {} ) ); - return settleAsyncMap(asyncContext); + return settleAsyncMap(asyncContext).then(() => { + strategy.postMap(sourceObject, destinationObject, mapping); + }); }, mutateArray< @@ -385,36 +461,74 @@ export function createMapper({ const { beforeMap, afterMap, extraArgs } = (mapOptions || {}) as MapOptions; + const mappingCallbacks = mapping[MappingClassId.callbacks]; + const beforeMapArray = + beforeMap ?? + mappingCallbacks?.[MappingCallbacksClassId.beforeMapArray]; + const afterMapArray = + afterMap ?? + mappingCallbacks?.[MappingCallbacksClassId.afterMapArray]; + + const runArrayMapping = () => { + for (let i = 0, length = sourceArray.length; i < length; i++) { + let sourceObject = sourceArray[i]; + + sourceObject = strategy.preMap(sourceObject, mapping); + + const destination = + destinationArray[i] ?? + (destinationArray[i] = {} as TDestination); + + mapMutate( + mapping, + sourceObject, + destination, + { + extraArgs: extraArgs as MapOptions< + TSource, + TDestination + >['extraArgs'], + }, + true + ); + + strategy.postMap(sourceObject, destination, mapping); + } + }; - if (beforeMap) { - pushAsyncPending(beforeMap(sourceArray, destinationArray)); - } - - for (let i = 0, length = sourceArray.length; i < length; i++) { - let sourceObject = sourceArray[i]; - - sourceObject = strategy.preMap(sourceObject, mapping); + let arrayMappingDeferredUntilBeforeMap = false; + const queueAfterMapArray = () => { + if (afterMapArray) { + deferAsyncAfterMapAfterPending(() => + afterMapArray(sourceArray, destinationArray) + ); + } + }; - mapMutate( - mapping, - sourceObject, - destinationArray[i] || {}, - { - extraArgs: extraArgs as MapOptions< - TSource, - TDestination - >['extraArgs'], - }, - true + if (beforeMapArray) { + const beforeMapResult = beforeMapArray( + sourceArray, + destinationArray ); - - strategy.postMap(sourceObject, destinationArray[i], mapping); + if (isAsyncMapActive() && isThenable(beforeMapResult)) { + const asyncMapContext = getAsyncMapContext(); + arrayMappingDeferredUntilBeforeMap = true; + pushAsyncPending( + Promise.resolve(beforeMapResult).then(() => + runInAsyncMapContext(asyncMapContext!, () => { + runArrayMapping(); + queueAfterMapArray(); + }) + ) + ); + } else { + pushAsyncPending(beforeMapResult); + } } - if (afterMap) { - deferAsyncAfterMap(() => - afterMap(sourceArray, destinationArray) - ); + if (!arrayMappingDeferredUntilBeforeMap) { + runArrayMapping(); + queueAfterMapArray(); } }, diff --git a/packages/core/src/lib/mapping-configurations/after-map-array.ts b/packages/core/src/lib/mapping-configurations/after-map-array.ts new file mode 100644 index 000000000..d81ff8b6c --- /dev/null +++ b/packages/core/src/lib/mapping-configurations/after-map-array.ts @@ -0,0 +1,18 @@ +import type { Dictionary, MapCallback, MappingConfiguration } from '../types'; +import { MappingCallbacksClassId, MappingClassId } from '../types'; + +export function afterMapArray< + TSource extends Dictionary, + TDestination extends Dictionary +>( + cb: MapCallback +): MappingConfiguration { + return (mapping) => { + if (mapping[MappingClassId.callbacks] == null) { + mapping[MappingClassId.callbacks] = []; + } + mapping[MappingClassId.callbacks]![ + MappingCallbacksClassId.afterMapArray + ] = cb; + }; +} diff --git a/packages/core/src/lib/mapping-configurations/before-map-array.ts b/packages/core/src/lib/mapping-configurations/before-map-array.ts new file mode 100644 index 000000000..ade100f63 --- /dev/null +++ b/packages/core/src/lib/mapping-configurations/before-map-array.ts @@ -0,0 +1,18 @@ +import type { Dictionary, MapCallback, MappingConfiguration } from '../types'; +import { MappingCallbacksClassId, MappingClassId } from '../types'; + +export function beforeMapArray< + TSource extends Dictionary, + TDestination extends Dictionary +>( + cb: MapCallback +): MappingConfiguration { + return (mapping) => { + if (mapping[MappingClassId.callbacks] == null) { + mapping[MappingClassId.callbacks] = []; + } + mapping[MappingClassId.callbacks]![ + MappingCallbacksClassId.beforeMapArray + ] = cb; + }; +} diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index fa47e3423..1c16cfc62 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -117,15 +117,38 @@ export interface AsyncMapContext { // member-value + before-map promises, awaited before the deferred after-maps pending: Promise[]; // after-map thunks, run in collection order (depth-first) once pending settles - deferredAfterMaps: Array<() => unknown>; + deferredAfterMaps: Array<{ + fn: () => unknown; + depth: number; + order: number; + }>; + nextAfterMapOrder: number; } let asyncMapContext: AsyncMapContext | null = null; +let asyncMapDepth = 0; export function isAsyncMapActive(): boolean { return asyncMapContext !== null; } +export function getAsyncMapContext(): AsyncMapContext | null { + return asyncMapContext; +} + +export function runInAsyncMapContext( + context: AsyncMapContext, + fn: () => T +): T { + const previous = asyncMapContext; + asyncMapContext = context; + try { + return fn(); + } finally { + asyncMapContext = previous; + } +} + export function isThenable(value: unknown): value is Promise { return ( value != null && @@ -138,24 +161,38 @@ export function isThenable(value: unknown): value is Promise { // map's async members/after-maps are collected by the outermost mapAsync(). export function runAsyncMap(fn: () => T): [T, AsyncMapContext] { const previous = asyncMapContext; - const context: AsyncMapContext = { pending: [], deferredAfterMaps: [] }; + const previousDepth = asyncMapDepth; + const context: AsyncMapContext = { + pending: [], + deferredAfterMaps: [], + nextAfterMapOrder: 0, + }; asyncMapContext = context; + asyncMapDepth = 0; try { return [fn(), context]; } finally { asyncMapContext = previous; + asyncMapDepth = previousDepth; } } // Await everything a context collected: pending member/before-map promises // first, then the deferred after-maps (sequentially; each may be async). export async function settleAsyncMap(context: AsyncMapContext): Promise { - if (context.pending.length) { - await Promise.all(context.pending); + while (context.pending.length) { + await Promise.all(context.pending.splice(0)); } - for (let i = 0, len = context.deferredAfterMaps.length; i < len; i++) { - const result = context.deferredAfterMaps[i](); + while (context.deferredAfterMaps.length) { + context.deferredAfterMaps.sort( + (a, b) => b.depth - a.depth || a.order - b.order + ); + const { fn } = context.deferredAfterMaps.shift()!; + const result = runInAsyncMapContext(context, fn); if (isThenable(result)) await result; + while (context.pending.length) { + await Promise.all(context.pending.splice(0)); + } } } @@ -168,14 +205,51 @@ export function pushAsyncPending(value: unknown): void { // Defer an after-map (array-level or mapping-level) past member resolution when // running async; runs it immediately when synchronous. -export function deferAsyncAfterMap(fn: () => unknown): void { +function runAtAsyncMapDepth(depth: number, fn: () => T): T { + const previousDepth = asyncMapDepth; + asyncMapDepth = depth; + try { + return fn(); + } finally { + asyncMapDepth = previousDepth; + } +} + +export function deferAsyncAfterMap( + fn: () => unknown, + depth = asyncMapDepth +): void { if (asyncMapContext !== null) { - asyncMapContext.deferredAfterMaps.push(fn); + asyncMapContext.deferredAfterMaps.push({ + fn, + depth, + order: asyncMapContext.nextAfterMapOrder++, + }); } else { fn(); } } +export function deferAsyncAfterMapAfterPending( + fn: () => unknown, + depth = asyncMapDepth +): void { + if (asyncMapContext !== null && asyncMapContext.pending.length) { + const context = asyncMapContext; + const pendingBeforeAfterMap = context.pending.slice(); + context.pending.push( + Promise.all(pendingBeforeAfterMap).then(() => + runInAsyncMapContext(context, () => + deferAsyncAfterMap(fn, depth) + ) + ) + ); + return; + } + + deferAsyncAfterMap(fn, depth); +} + // Wrap a member failure (sync throw or async rejection) as MapMemberError and // route it through the mapper's error handler. Module-level so the hot map loop // allocates no per-member closure for it. @@ -236,7 +310,13 @@ function assignResolved< ctx: MapStepContext ): void { const setValue = ctx.setMemberFn(destinationMemberPath, ctx.destination); - if (asyncMapContext !== null && isThenable(value)) { + if (isThenable(value)) { + if (asyncMapContext === null) { + throw new Error( + 'Async member mapping returned a Promise during synchronous map(). Use mapAsync() or mapArrayAsync() instead.' + ); + } + asyncMapContext.pending.push( Promise.resolve(value) .then(setValue) @@ -382,9 +462,8 @@ function compileStep< if ( mapInitializedValue == null || mapInitializedValue instanceof Date || - Object.prototype.toString - .call(mapInitializedValue) - .slice(8, -1) === 'File' || + Object.prototype.toString.call(mapInitializedValue).slice(8, -1) === + 'File' || hasSameIdentifier || isTypedConverted ) { @@ -547,15 +626,7 @@ export function map< mapping[MappingClassId.compiledPlan] = compiledPlan; } const { steps, configuredKeys } = compiledPlan; - - if (!isMapArray) { - const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; - if (beforeMap) { - pushAsyncPending( - beforeMap(sourceObject, destination, extraArguments) - ); - } - } + const currentMapDepth = asyncMapContext === null ? 0 : asyncMapDepth + 1; // Build the per-call context once, then run each compiled step. All the // per-member branching/destructuring was resolved at compile time. @@ -570,28 +641,69 @@ export function map< setMemberFn, getMemberFn, }; - for (let i = 0, length = steps.length; i < length; i++) { - (steps[i] as MapStep)(context); - } + + const runStepsAndAssert = () => { + return runAtAsyncMapDepth(currentMapDepth, () => { + for (let i = 0, length = steps.length; i < length; i++) { + (steps[i] as MapStep)(context); + } + + // Check unmapped properties after mapping steps have had a chance to + // assign destination values. When an async beforeMap gates the steps, + // this assertion runs inside the gated async work as well. + assertUnmappedProperties( + destination, + destinationWithMetadata, + configuredKeys, + sourceIdentifier, + destinationIdentifier, + errorHandler + ); + }); + }; + + let stepsDeferredUntilBeforeMap = false; + const queueAfterMap = () => { + if (!isMapArray) { + const afterMap = mapAfterCallback ?? mappingAfterCallback; + if (afterMap) { + deferAsyncAfterMapAfterPending( + () => afterMap(sourceObject, destination, extraArguments), + currentMapDepth + ); + } + } + }; if (!isMapArray) { - const afterMap = mapAfterCallback ?? mappingAfterCallback; - if (afterMap) { - deferAsyncAfterMap(() => - afterMap(sourceObject, destination, extraArguments) + const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; + if (beforeMap) { + const beforeMapResult = beforeMap( + sourceObject, + destination, + extraArguments ); + if (asyncMapContext !== null && isThenable(beforeMapResult)) { + const context = asyncMapContext; + stepsDeferredUntilBeforeMap = true; + asyncMapContext.pending.push( + Promise.resolve(beforeMapResult).then(() => + runInAsyncMapContext(context, () => { + runStepsAndAssert(); + queueAfterMap(); + }) + ) + ); + } else { + pushAsyncPending(beforeMapResult); + } } } - // Check unmapped properties - assertUnmappedProperties( - destination, - destinationWithMetadata, - configuredKeys, - sourceIdentifier, - destinationIdentifier, - errorHandler - ); + if (!stepsDeferredUntilBeforeMap) { + runStepsAndAssert(); + queueAfterMap(); + } return destination; } diff --git a/packages/core/src/lib/member-map-functions/map-from.ts b/packages/core/src/lib/member-map-functions/map-from.ts index 51eba135e..8b0473110 100644 --- a/packages/core/src/lib/member-map-functions/map-from.ts +++ b/packages/core/src/lib/member-map-functions/map-from.ts @@ -1,9 +1,9 @@ import type { Dictionary, MapFromReturn, + MaybePromise, Resolver, SelectorReturn, - ValueSelector, } from '../types'; import { TransformationType } from '../types'; import { isResolver } from '../utils/is-resolver'; @@ -14,7 +14,7 @@ export function mapFrom< TSelectorReturn = SelectorReturn >( from: - | ValueSelector + | ((source: TSource) => MaybePromise) | Resolver ): MapFromReturn { if (isResolver(from)) { diff --git a/packages/core/src/lib/member-map-functions/map-with-arguments.ts b/packages/core/src/lib/member-map-functions/map-with-arguments.ts index 026010447..8b552c1ec 100644 --- a/packages/core/src/lib/member-map-functions/map-with-arguments.ts +++ b/packages/core/src/lib/member-map-functions/map-with-arguments.ts @@ -1,6 +1,7 @@ import type { Dictionary, MapWithArgumentsReturn, + MaybePromise, Resolver, SelectorReturn, } from '../types'; @@ -16,7 +17,7 @@ export function mapWithArguments< | (( source: TSource, extraArguments: Record - ) => TSelectorReturn) + ) => MaybePromise) | Resolver, TSelectorReturn> ): MapWithArgumentsReturn { if (isResolver(withArgumentsResolver)) { diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index d66793dce..343467753 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -13,8 +13,13 @@ import type { export type Dictionary = { [key in keyof T]?: unknown }; export type AnyConstructor = new (...args: any[]) => any; +export type AbstractConstructor = abstract new (...args: any[]) => T; export type Constructor = (new (...args: any[]) => T) & TransformerMetadataFactory; +export type ClassIdentifier = + | Constructor + | (AbstractConstructor & TransformerMetadataFactory) + | (Function & TransformerMetadataFactory & { prototype: T }); export type Primitive = String | Number | Boolean | BigInt; export type PrimitiveExtended = Primitive | Date; @@ -36,11 +41,11 @@ export type PrimitiveConstructorReturnType< ? InstanceType : ReturnType>; -export interface TransformerMetadataFactory> { +export interface TransformerMetadataFactory { __AUTOMAPPER_METADATA_FACTORY__?: () => [ propertyKey: string, options: { - type: () => Constructor | [Constructor]; + type: () => ClassIdentifier | [ClassIdentifier]; depth: number; isGetterOnly?: boolean; } @@ -81,6 +86,8 @@ export type SelectorReturn> = ReturnType< Selector >; +export type MaybePromise = T | Promise; + export type ValueSelector< TSource extends Dictionary = any, TDestination extends Dictionary = any, @@ -92,7 +99,10 @@ export interface Resolver< TDestination extends Dictionary = any, TResolvedType = SelectorReturn > { - resolve(source: TSource, destination?: TDestination): TResolvedType; + resolve( + source: TSource, + destination?: TDestination + ): MaybePromise; } export interface Converter< @@ -110,7 +120,7 @@ export type MapCallback< source: TSource, destination: TDestination, extraArguments?: TExtraArgs -) => void; +) => MaybePromise; export interface MapOptions< TSource extends Dictionary, @@ -126,7 +136,7 @@ export interface MapOptions< ) => TExtraArgs; } -export type ModelIdentifier = string | symbol | Constructor; +export type ModelIdentifier = string | symbol | ClassIdentifier; export type MetadataIdentifier = Exclude, string>; @@ -382,7 +392,10 @@ export type MapFromReturn< TSource extends Dictionary, TDestination extends Dictionary, TSelectorReturn = SelectorReturn -> = [type: TransformationType.MapFrom, fn: Selector]; +> = [ + type: TransformationType.MapFrom, + fn: Selector> +]; export type MapWithReturn< TSource extends Dictionary, @@ -457,7 +470,7 @@ export type MapWithArgumentsReturn< fn: ( source: TSource, extraArguments: Record - ) => TSelectorReturn + ) => MaybePromise ]; export type MapInitializeReturn< @@ -509,6 +522,8 @@ export const enum MappingPropertiesClassId { export const enum MappingCallbacksClassId { beforeMap, afterMap, + beforeMapArray, + afterMapArray, } export const enum NestedMappingPairClassId { @@ -622,7 +637,9 @@ export type Mapping< >, callbacks?: [ beforeMap?: MapCallback, - afterMap?: MapCallback + afterMap?: MapCallback, + beforeMapArray?: MapCallback, + afterMapArray?: MapCallback ], namingConventions?: [ source: NamingConvention, diff --git a/packages/core/src/lib/utils/get-path.ts b/packages/core/src/lib/utils/get-path.ts index 319a8f42e..3a3842eeb 100644 --- a/packages/core/src/lib/utils/get-path.ts +++ b/packages/core/src/lib/utils/get-path.ts @@ -30,13 +30,19 @@ export function getFlatteningPaths( ) ); + if (srcPath.length === 1 && hasProperty(src, srcPath[0])) { + return srcPath; + } + const [first, ...paths] = splitSourcePaths.slice( 0, splitSourcePaths.length - 1 ); let trueFirstPartOfSource = first; let stopIndex = 0; - let found = hasProperty(src, trueFirstPartOfSource); + let found = + hasProperty(src, trueFirstPartOfSource) && + isRecord(src[trueFirstPartOfSource]); if (!found) { for (let i = 0, len = paths.length; i < len; i++) { @@ -45,7 +51,10 @@ export function getFlatteningPaths( trueFirstPartOfSource, paths[i], ]); - if (hasProperty(src, trueFirstPartOfSource)) { + if ( + hasProperty(src, trueFirstPartOfSource) && + isRecord(src[trueFirstPartOfSource]) + ) { stopIndex = i + 1; found = true; break; @@ -66,6 +75,7 @@ export function getFlatteningPaths( if ( restPaths.length > 1 && + isRecord(src[trueFirstPartOfSource]) && !hasProperty( src[trueFirstPartOfSource] as Record, transformedRestPaths @@ -100,3 +110,7 @@ export function getFlatteningPaths( function hasProperty(obj: Record, property: string): boolean { return Object.prototype.hasOwnProperty.call(obj, property); } + +function isRecord(value: unknown): value is Record { + return typeof value === 'object' && value !== null; +} diff --git a/packages/core/src/lib/utils/logger.ts b/packages/core/src/lib/utils/logger.ts index 1bc18caa3..fe69ef4dd 100644 --- a/packages/core/src/lib/utils/logger.ts +++ b/packages/core/src/lib/utils/logger.ts @@ -17,18 +17,18 @@ export class AutoMapperLogger { } static log(message: string) { - console.log.bind(console, this.AUTOMAPPER_PREFIX, message); + console.log.call(console, this.AUTOMAPPER_PREFIX, message); } static warn(warning: string) { - console.warn.bind(console, this.AUTOMAPPER_PREFIX, warning); + console.warn.call(console, this.AUTOMAPPER_PREFIX, warning); } static error(error: string) { - console.error.bind(console, this.AUTOMAPPER_PREFIX, error); + console.error.call(console, this.AUTOMAPPER_PREFIX, error); } static info(info: string) { - console.info.bind(console, this.AUTOMAPPER_PREFIX, info); + console.info.call(console, this.AUTOMAPPER_PREFIX, info); } } diff --git a/packages/core/src/lib/utils/specs/get-path.spec.ts b/packages/core/src/lib/utils/specs/get-path.spec.ts new file mode 100644 index 000000000..e6c328544 --- /dev/null +++ b/packages/core/src/lib/utils/specs/get-path.spec.ts @@ -0,0 +1,63 @@ +import { CamelCaseNamingConvention } from '../../naming-conventions/camel-case-naming-convention'; +import { SnakeCaseNamingConvention } from '../../naming-conventions/snake-case-naming-convention'; +import { getFlatteningPaths } from '../get-path'; + +describe(getFlatteningPaths.name, () => { + const namingConventions: [ + SnakeCaseNamingConvention, + CamelCaseNamingConvention + ] = [new SnakeCaseNamingConvention(), new CamelCaseNamingConvention()]; + + it('should keep similar-prefix source paths direct when the prefix is not an object', () => { + const source = { + deleted: undefined, + deleted_by: undefined, + }; + + expect( + getFlatteningPaths(source, ['deleted_by'], namingConventions) + ).toEqual(['deleted_by']); + }); + + it('should keep longer similar-prefix source paths direct when the prefix is not an object', () => { + const source = { + inspection_order_status: undefined, + inspection_order_status_id: undefined, + }; + + expect( + getFlatteningPaths( + source, + ['inspection_order_status_id'], + namingConventions + ) + ).toEqual(['inspection_order_status_id']); + }); + + it('should not throw when the first similar-prefix source member is undefined', () => { + const source = { + password: undefined, + password_reset_token: undefined, + }; + + expect( + getFlatteningPaths( + source, + ['password_reset_token'], + namingConventions + ) + ).toEqual(['password_reset_token']); + }); + + it('should still flatten real nested object paths', () => { + const source = { + job: { + title: undefined, + }, + }; + + expect( + getFlatteningPaths(source, ['job_title'], namingConventions) + ).toEqual(['job', 'title']); + }); +}); diff --git a/packages/core/src/lib/utils/specs/logger.spec.ts b/packages/core/src/lib/utils/specs/logger.spec.ts new file mode 100644 index 000000000..e33d052a6 --- /dev/null +++ b/packages/core/src/lib/utils/specs/logger.spec.ts @@ -0,0 +1,22 @@ +import { AutoMapperLogger } from '../logger'; + +describe(AutoMapperLogger.name, () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + + it.each([ + ['log', 'message'], + ['warn', 'warning'], + ['error', 'error'], + ['info', 'info'], + ] as const)('should call console.%s', (method, message) => { + const spy = vi.spyOn(console, method).mockImplementation(() => { + // noop + }); + + AutoMapperLogger[method](message); + + expect(spy).toHaveBeenCalledWith('[AutoMapper]: ', message); + }); +}); diff --git a/packages/integration-test/src/classes/issues/595/595.spec.ts b/packages/integration-test/src/classes/issues/595/595.spec.ts new file mode 100644 index 000000000..ae662c0a2 --- /dev/null +++ b/packages/integration-test/src/classes/issues/595/595.spec.ts @@ -0,0 +1,49 @@ +import { AutoMap, classes } from '@automapper/classes'; +import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; + +class TransformationAuditGetAllResponseDto { + @AutoMap() + id!: string; + + @AutoMap(() => Date) + transformationDate!: Date; +} + +class TransformationAuditGetAllResponseState { + @AutoMap() + id!: string; + + @AutoMap() + transformationDate!: string; +} + +describe('Issue 595', () => { + it('should keep implicit member mapping when another member is explicitly mapped', () => { + const mapper = createMapper({ strategyInitializer: classes() }); + + createMap( + mapper, + TransformationAuditGetAllResponseDto, + TransformationAuditGetAllResponseState, + forMember( + (destination) => destination.transformationDate, + mapFrom((source) => source.transformationDate.toISOString()) + ) + ); + + const source = new TransformationAuditGetAllResponseDto(); + source.id = 'audit-id'; + source.transformationDate = new Date('2024-02-06T15:51:43.000Z'); + + const destination = mapper.map( + source, + TransformationAuditGetAllResponseDto, + TransformationAuditGetAllResponseState + ); + + expect(destination.id).toEqual('audit-id'); + expect(destination.transformationDate).toEqual( + '2024-02-06T15:51:43.000Z' + ); + }); +}); diff --git a/packages/integration-test/src/classes/issues/614/614.spec.ts b/packages/integration-test/src/classes/issues/614/614.spec.ts new file mode 100644 index 000000000..90e0c3d04 --- /dev/null +++ b/packages/integration-test/src/classes/issues/614/614.spec.ts @@ -0,0 +1,56 @@ +import { AutoMap, classes } from '@automapper/classes'; +import { constructUsing, createMap, createMapper } from '@automapper/core'; + +enum VehicleType { + car = 'car', + bus = 'bus', +} + +class VehicleDto { + @AutoMap() + name!: string; + + @AutoMap(() => String) + type!: VehicleType; +} + +abstract class Vehicle { + protected constructor(public name: string, public type: VehicleType) {} + + static create(name: string, type: VehicleType): Vehicle { + return type === VehicleType.bus ? new Bus(name) : new Car(name); + } +} + +class Car extends Vehicle { + constructor(name: string) { + super(name, VehicleType.car); + } +} + +class Bus extends Vehicle { + constructor(name: string) { + super(name, VehicleType.bus); + } +} + +describe('Issue 614', () => { + it('should allow constructUsing to return a concrete subtype for an abstract destination', () => { + const mapper = createMapper({ strategyInitializer: classes() }); + createMap( + mapper, + VehicleDto, + Vehicle, + constructUsing((source) => Vehicle.create(source.name, source.type)) + ); + + const source = new VehicleDto(); + source.name = 'City bus'; + source.type = VehicleType.bus; + + const destination = mapper.map(source, VehicleDto, Vehicle); + + expect(destination).toBeInstanceOf(Bus); + expect(destination.name).toEqual('City bus'); + }); +}); diff --git a/packages/integration-test/src/classes/issues/624/624.spec.ts b/packages/integration-test/src/classes/issues/624/624.spec.ts new file mode 100644 index 000000000..2c28872cb --- /dev/null +++ b/packages/integration-test/src/classes/issues/624/624.spec.ts @@ -0,0 +1,46 @@ +import { AutoMap, classes } from '@automapper/classes'; +import { + CamelCaseNamingConvention, + createMap, + createMapper, + SnakeCaseNamingConvention, +} from '@automapper/core'; + +class UserEntity { + @AutoMap() + password!: string; + + @AutoMap() + password_reset_token!: string; +} + +class UserDto { + @AutoMap() + password!: string; + + @AutoMap() + passwordResetToken!: string; +} + +describe('Issue 624', () => { + it('should map similar-prefix snake_case members without flattening through the prefix', () => { + const mapper = createMapper({ + strategyInitializer: classes(), + namingConventions: { + source: new SnakeCaseNamingConvention(), + destination: new CamelCaseNamingConvention(), + }, + }); + + createMap(mapper, UserEntity, UserDto); + + const source = new UserEntity(); + source.password = 'hashed'; + source.password_reset_token = 'reset-token'; + + const destination = mapper.map(source, UserEntity, UserDto); + + expect(destination.password).toEqual('hashed'); + expect(destination.passwordResetToken).toEqual('reset-token'); + }); +}); diff --git a/packages/integration-test/src/classes/issues/625/625.spec.ts b/packages/integration-test/src/classes/issues/625/625.spec.ts new file mode 100644 index 000000000..7cf85f3f2 --- /dev/null +++ b/packages/integration-test/src/classes/issues/625/625.spec.ts @@ -0,0 +1,52 @@ +import { AutoMap, classes } from '@automapper/classes'; +import { constructUsing, createMap, createMapper } from '@automapper/core'; + +class Source { + constructor(firstName: string, lastName: string) { + this.firstName = firstName; + this.lastName = lastName; + } + + @AutoMap() + firstName!: string; + + @AutoMap() + lastName!: string; +} + +class Destination { + private constructor(fullName: string) { + this.fullName = fullName; + } + + @AutoMap() + fullName!: string; + + static createForMapping(fullName: string): Destination { + return new Destination(fullName); + } +} + +describe('Issue 625', () => { + it('should allow constructUsing to map to a destination with a private constructor', () => { + const mapper = createMapper({ strategyInitializer: classes() }); + createMap( + mapper, + Source, + Destination, + constructUsing((source) => + Destination.createForMapping( + `${source.firstName} ${source.lastName}` + ) + ) + ); + + const destination = mapper.map( + new Source('Chau', 'Tran'), + Source, + Destination + ); + + expect(destination.fullName).toEqual('Chau Tran'); + }); +}); diff --git a/packages/integration-test/src/classes/map-async.spec.ts b/packages/integration-test/src/classes/map-async.spec.ts index 47d10885a..df8fc3cf3 100644 --- a/packages/integration-test/src/classes/map-async.spec.ts +++ b/packages/integration-test/src/classes/map-async.spec.ts @@ -1,6 +1,7 @@ -import { classes } from '@automapper/classes'; +import { AutoMap, classes } from '@automapper/classes'; import { afterMap, + beforeMap, createMap, createMapper, forMember, @@ -10,6 +11,29 @@ import { import { SimpleUserDto } from './dtos/simple-user.dto'; import { SimpleUser } from './models/simple-user'; +class AsyncNestedSource { + @AutoMap() + value!: string; +} + +class AsyncNestedDestination { + @AutoMap() + value!: string; +} + +class AsyncParentSource { + @AutoMap(() => AsyncNestedSource) + nested!: AsyncNestedSource; +} + +class AsyncParentDestination { + @AutoMap(() => AsyncNestedDestination) + nested!: AsyncNestedDestination; + + @AutoMap() + summary!: string; +} + describe('Map Async Classes', () => { const mapper = createMapper({ strategyInitializer: classes() }); @@ -59,6 +83,29 @@ describe('Map Async Classes', () => { expect(dto.fullName).toEqual('Chau Tran'); }); + it('throws when sync map receives an async member resolver', () => { + const localMapper = createMapper({ strategyInitializer: classes() }); + createMap( + localMapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom(async (s) => + Promise.resolve(`${s.firstName} ${s.lastName}`) + ) + ) + ); + + expect(() => + localMapper.map( + new SimpleUser('Chau', 'Tran'), + SimpleUser, + SimpleUserDto + ) + ).toThrow(/Use mapAsync\(\) or mapArrayAsync\(\)/); + }); + it('awaits async members across mapArrayAsync', async () => { const localMapper = createMapper({ strategyInitializer: classes() }); createMap( @@ -110,4 +157,68 @@ describe('Map Async Classes', () => { ); expect(dto.fullName).toEqual('Chau Tran!'); }); + + it('awaits async beforeMap before mapping members', async () => { + const localMapper = createMapper({ strategyInitializer: classes() }); + createMap( + localMapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom(async (s) => + Promise.resolve(`${s.firstName} ${s.lastName}`) + ) + ), + beforeMap(async (source) => { + await Promise.resolve(); + source.firstName = 'Async'; + }) + ); + + const dto = await localMapper.mapAsync( + new SimpleUser('Chau', 'Tran'), + SimpleUser, + SimpleUserDto + ); + + expect(dto.fullName).toEqual('Async Tran'); + }); + + it('runs parent afterMap after nested async beforeMap and nested afterMap', async () => { + const localMapper = createMapper({ strategyInitializer: classes() }); + createMap( + localMapper, + AsyncNestedSource, + AsyncNestedDestination, + beforeMap(async (source) => { + await Promise.resolve(); + source.value = 'before'; + }), + afterMap((_source, destination) => { + destination.value = `${destination.value}-child-after`; + }) + ); + createMap( + localMapper, + AsyncParentSource, + AsyncParentDestination, + afterMap((_source, destination) => { + destination.summary = destination.nested.value; + }) + ); + + const source = new AsyncParentSource(); + source.nested = new AsyncNestedSource(); + source.nested.value = 'initial'; + + const dto = await localMapper.mapAsync( + source, + AsyncParentSource, + AsyncParentDestination + ); + + expect(dto.nested.value).toEqual('before-child-after'); + expect(dto.summary).toEqual('before-child-after'); + }); }); diff --git a/packages/integration-test/src/classes/map-callback.spec.ts b/packages/integration-test/src/classes/map-callback.spec.ts index 135ed77ac..3398b5a57 100644 --- a/packages/integration-test/src/classes/map-callback.spec.ts +++ b/packages/integration-test/src/classes/map-callback.spec.ts @@ -1,8 +1,13 @@ import { classes } from '@automapper/classes'; import { addProfile, + afterMapArray, + beforeMapArray, CamelCaseNamingConvention, + createMap, createMapper, + forMember, + mapFrom, } from '@automapper/core'; import { SimpleUserDto } from './dtos/simple-user.dto'; import { SimpleUser } from './models/simple-user'; @@ -133,6 +138,104 @@ describe('Map - Map Callback', () => { expect(beforeMap).toHaveBeenCalled(); expect(afterMap).toHaveBeenCalled(); }); + + it('should run mapping-level array callbacks with mapArray', () => { + const beforeMap = vi.fn(); + const afterMap = vi.fn(); + + createMap( + mapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom((s) => s.firstName + ' ' + s.lastName) + ), + beforeMapArray(beforeMap), + afterMapArray(afterMap) + ); + + const simpleUser = new SimpleUser('Chau', 'Tran'); + const dtos = mapper.mapArray([simpleUser], SimpleUser, SimpleUserDto); + + dtos.forEach((dto) => { + assertSimpleUser(dto, simpleUser); + }); + expect(beforeMap).toHaveBeenCalledWith([simpleUser], dtos); + expect(afterMap).toHaveBeenCalledWith([simpleUser], dtos); + }); + + it('should prefer mapArray call callbacks over mapping-level array callbacks', () => { + const beforeMap = vi.fn(); + const afterMap = vi.fn(); + const mappingBeforeMap = vi.fn(); + const mappingAfterMap = vi.fn(); + + createMap( + mapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom((s) => s.firstName + ' ' + s.lastName) + ), + beforeMapArray(mappingBeforeMap), + afterMapArray(mappingAfterMap) + ); + + const simpleUser = new SimpleUser('Chau', 'Tran'); + const dtos = mapper.mapArray([simpleUser], SimpleUser, SimpleUserDto, { + beforeMap, + afterMap, + }); + + dtos.forEach((dto) => { + assertSimpleUser(dto, simpleUser); + }); + expect(beforeMap).toHaveBeenCalled(); + expect(afterMap).toHaveBeenCalled(); + expect(mappingBeforeMap).not.toHaveBeenCalled(); + expect(mappingAfterMap).not.toHaveBeenCalled(); + }); + + it('should await mapping-level array callbacks with mapArrayAsync', async () => { + const beforeMap = vi.fn(async (source: SimpleUser[]) => { + await Promise.resolve(); + source[0].firstName = 'Async'; + }); + const afterMap = vi.fn( + async (_source: SimpleUser[], destination: SimpleUserDto[]) => { + await Promise.resolve(); + destination[0].fullName = `${destination[0].fullName}!`; + } + ); + + createMap( + mapper, + SimpleUser, + SimpleUserDto, + forMember( + (d) => d.fullName, + mapFrom((s) => s.firstName + ' ' + s.lastName) + ), + beforeMapArray(beforeMap), + afterMapArray(afterMap) + ); + + const simpleUser = new SimpleUser('Chau', 'Tran'); + const dtos = await mapper.mapArrayAsync( + [simpleUser], + SimpleUser, + SimpleUserDto + ); + + expect(beforeMap).toHaveBeenCalled(); + expect(afterMap).toHaveBeenCalled(); + expect(dtos).toHaveLength(1); + expect(dtos[0].firstName).toEqual('Async'); + expect(dtos[0].lastName).toEqual('Tran'); + expect(dtos[0].fullName).toEqual('Async Tran!'); + }); }); function assertSimpleUser(dto: SimpleUserDto, user: SimpleUser) { diff --git a/packages/mikro/src/lib/mikro.ts b/packages/mikro/src/lib/mikro.ts index f1fae1f47..42f27515c 100644 --- a/packages/mikro/src/lib/mikro.ts +++ b/packages/mikro/src/lib/mikro.ts @@ -15,7 +15,7 @@ import { serializeEntity } from './serialize-entity'; export function mikro( options: MappingStrategyInitializerOptions = {} -): MappingStrategyInitializer { +): MappingStrategyInitializer { const mergedOptions = { ...defaultStrategyInitializerOptions, destinationConstructor: ( diff --git a/packages/sequelize/src/lib/sequelize.ts b/packages/sequelize/src/lib/sequelize.ts index aedbdd520..b2432a785 100644 --- a/packages/sequelize/src/lib/sequelize.ts +++ b/packages/sequelize/src/lib/sequelize.ts @@ -11,7 +11,7 @@ import type { Model } from 'sequelize'; export function sequelize( options: MappingStrategyInitializerOptions = defaultStrategyInitializerOptions -): MappingStrategyInitializer { +): MappingStrategyInitializer { const mergedOptions = { ...defaultStrategyInitializerOptions, destinationConstructor: ( From 30d1c6a1ecc6b638462c36638df54d72a3a273a3 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Mon, 22 Jun 2026 09:42:31 -0400 Subject: [PATCH 38/73] fix(core): restore synchronous map() fast path after async-sequencing rewrite MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - the followups async before/after sequencing wrapped every map() (incl. pure sync) in per-call closures + a runAtAsyncMapDepth try/finally, and made assignResolved test isThenable per member — ~2x slower sync map (flat +80%, nested +150% vs the compiled-plan baseline), uncaught by the gate - add a synchronous fast path: when no async context is active, run before-map -> steps -> unmapped-assert -> after-map straight-line with zero per-call closures - split member assignment: hot auto-map path (assignMember) uses the async-first short-circuit and never tests isThenable on the sync path; the sync-thenable throw guard stays on the resolver path (assignResolved via setMemberValue), where async member resolvers actually originate - benchmarked back to parity (flat) / ~+5-8% (nested) vs dabf047, built-source A/B Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- packages/core/src/lib/mappings/map.ts | 78 ++++++++++++++++++++++++--- 1 file changed, 72 insertions(+), 6 deletions(-) diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 1c16cfc62..03ad4f2c3 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -334,7 +334,13 @@ function assignResolved< setValue(value); } -// Assign a precomputed value (its production already happened, or cannot throw). +// Assign a precomputed auto-map value (its production already happened). This is +// the hot path — a same-identifier / primitive / Date / array value assigned +// as-is — so it uses the async-first short-circuit and never tests isThenable on +// the synchronous path. (An auto-mapped source value that is itself a thenable is +// awaited under mapAsync() and assigned as-is under map(), matching the original +// pre-async behavior; the sync-thenable guard intentionally lives on the resolver +// path in assignResolved, where async member resolvers actually originate.) function assignMember< TSource extends Dictionary, TDestination extends Dictionary @@ -344,7 +350,26 @@ function assignMember< ctx: MapStepContext ): void { try { - assignResolved(value, destinationMemberPath, ctx); + const setValue = ctx.setMemberFn( + destinationMemberPath, + ctx.destination + ); + if (asyncMapContext !== null && isThenable(value)) { + asyncMapContext.pending.push( + Promise.resolve(value) + .then(setValue) + .catch((originalError) => { + throw makeMemberError( + destinationMemberPath, + ctx.destinationIdentifier, + ctx.errorHandler, + originalError + ); + }) + ); + return; + } + setValue(value); } catch (originalError) { throw makeMemberError( destinationMemberPath, @@ -626,7 +651,6 @@ export function map< mapping[MappingClassId.compiledPlan] = compiledPlan; } const { steps, configuredKeys } = compiledPlan; - const currentMapDepth = asyncMapContext === null ? 0 : asyncMapDepth + 1; // Build the per-call context once, then run each compiled step. All the // per-member branching/destructuring was resolved at compile time. @@ -642,6 +666,48 @@ export function map< getMemberFn, }; + // Synchronous fast path: no mapAsync()/mapArrayAsync() context is active, so + // there is nothing to await, defer, or order by depth. Run before-map → + // steps → unmapped-assert → after-map straight-line with zero per-call + // closures — this is the hot path the compiled plan is built for. (A + // thenable returned by a sync before-map is dropped, matching prior + // behavior; async before-maps require mapAsync().) + if (asyncMapContext === null) { + if (!isMapArray) { + const beforeMap = mapBeforeCallback ?? mappingBeforeCallback; + if (beforeMap) { + beforeMap(sourceObject, destination, extraArguments); + } + } + + for (let i = 0, length = steps.length; i < length; i++) { + (steps[i] as MapStep)(context); + } + + assertUnmappedProperties( + destination, + destinationWithMetadata, + configuredKeys, + sourceIdentifier, + destinationIdentifier, + errorHandler + ); + + if (!isMapArray) { + const afterMap = mapAfterCallback ?? mappingAfterCallback; + if (afterMap) { + afterMap(sourceObject, destination, extraArguments); + } + } + + return destination; + } + + // Async path: a mapAsync()/mapArrayAsync() context is active. Track this + // map's depth so nested after-maps settle before their parents, and defer + // after-maps past member resolution. + const currentMapDepth = asyncMapDepth + 1; + const runStepsAndAssert = () => { return runAtAsyncMapDepth(currentMapDepth, () => { for (let i = 0, length = steps.length; i < length; i++) { @@ -683,12 +749,12 @@ export function map< destination, extraArguments ); - if (asyncMapContext !== null && isThenable(beforeMapResult)) { - const context = asyncMapContext; + if (isThenable(beforeMapResult)) { + const asyncCtx = asyncMapContext; stepsDeferredUntilBeforeMap = true; asyncMapContext.pending.push( Promise.resolve(beforeMapResult).then(() => - runInAsyncMapContext(context, () => { + runInAsyncMapContext(asyncCtx, () => { runStepsAndAssert(); queueAfterMap(); }) From d2a4540a45e3d122f73549a6fdb0bd19edc14cf7 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Mon, 22 Jun 2026 09:48:10 -0400 Subject: [PATCH 39/73] chore(core): clean up followups leftovers - drop unused TModel generic param from TransformerMetadataFactory (cleared the no-unused-vars lint warning); usages already passed no type arg meaningfully - remove dead _replaceImportPathLegacy from transformer-plugin utils + its now-unused dirname import Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- .../transformer-plugin/src/lib/utils.ts | 25 +------------------ packages/core/src/lib/types.ts | 8 +++--- 2 files changed, 5 insertions(+), 28 deletions(-) diff --git a/packages/classes/transformer-plugin/src/lib/utils.ts b/packages/classes/transformer-plugin/src/lib/utils.ts index 5d8507eec..9e020d862 100644 --- a/packages/classes/transformer-plugin/src/lib/utils.ts +++ b/packages/classes/transformer-plugin/src/lib/utils.ts @@ -1,4 +1,4 @@ -import { dirname, posix } from 'path'; +import { posix } from 'path'; import { ArrayTypeNode, CallExpression, @@ -138,29 +138,6 @@ function isFilePathImport(path: string): boolean { ); } -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function _replaceImportPathLegacy( - typeReference: string, - fileName: string -): string | undefined { - let importPath = /\("([^)]).+(")/.exec(typeReference)?.[0]; - if (!importPath) { - return undefined; - } - - if (process.platform === 'win32') { - return typeReference.replace('import', 'require'); - } - - importPath = importPath.slice(2, importPath.length - 1); - - let relativePath = posix.relative(dirname(fileName), importPath); - relativePath = relativePath[0] !== '.' ? './' + relativePath : relativePath; - typeReference = typeReference.replace(importPath, relativePath); - - return typeReference.replace('import', 'require'); -} - function hasFlag(type: Type, flag: TypeFlags): boolean { return (type.flags & flag) === flag; } diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index 343467753..67576d3a2 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -15,11 +15,11 @@ export type Dictionary = { [key in keyof T]?: unknown }; export type AnyConstructor = new (...args: any[]) => any; export type AbstractConstructor = abstract new (...args: any[]) => T; export type Constructor = (new (...args: any[]) => T) & - TransformerMetadataFactory; + TransformerMetadataFactory; export type ClassIdentifier = | Constructor - | (AbstractConstructor & TransformerMetadataFactory) - | (Function & TransformerMetadataFactory & { prototype: T }); + | (AbstractConstructor & TransformerMetadataFactory) + | (Function & TransformerMetadataFactory & { prototype: T }); export type Primitive = String | Number | Boolean | BigInt; export type PrimitiveExtended = Primitive | Date; @@ -41,7 +41,7 @@ export type PrimitiveConstructorReturnType< ? InstanceType : ReturnType>; -export interface TransformerMetadataFactory { +export interface TransformerMetadataFactory { __AUTOMAPPER_METADATA_FACTORY__?: () => [ propertyKey: string, options: { From 8146f66402e7e813507101607858974e30f28ccd Mon Sep 17 00:00:00 2001 From: Kyle Cannon Date: Mon, 22 Jun 2026 19:06:29 -0700 Subject: [PATCH 40/73] perf(core,classes): optimize synchronous map() hot path and createMap startup (#632) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf(benchmark-core): add map()/createMap benchmark + verifier harness Benchmarks for the synchronous map() hot path and createMap startup: - bench.ts: identity, forMember(mapFrom), and snake->camel naming groups (rotating 64-object pool to defeat constant-folding); runs under --expose-gc so mitata reports heap + gc. - startup-bench.ts: many-createMap, tail-skewed class-size distribution; reports createMap wall time + retained heap. - profile-formember.ts + analyze-cpuprofile.ts: clean CPU self-time attribution (no mitata overhead). - verify.ts: cross-version correctness gate + independent hrtime timing, so a benchmark run can't be a silently no-op'd or wrong map. Scripts: bench, bench:startup, bench:profile (+ :analyze). Co-Authored-By: Claude Opus 4.8 (1M context) * perf(core,classes): optimize synchronous map() hot path and createMap startup Behavior-preserving optimizations (characterization tests added first; full suite green across all packages). ~2x faster per map and ~3-5x less allocation vs the previous branch baseline. map() runtime: - precompute the unmapped-key residual at createMap (no per-call Set allocation or writable-key scan in assertUnmappedProperties) - replace the per-member setMemberFn closure factory with a direct (path, dest, value) writer; build a closure only on the async arm - specialize the mapFrom step in compileStep: call the selector directly, dropping the per-member thunk and the mapMember type switch - MapInitialize scalar fast-path + Symbol.toStringTag File check - get(): single-segment fast path - hoist the per-element options object out of mapArray/mutateArray loops createMap / memory: - storeMetadata O(P^2) -> O(P) (build the list in place) - drop the unused props/configuredKeys from the retained compiled plan - getPathRecursive: module-level Set, drop redundant own-name dedup - size-gated metadata index + extend Set for very wide classes - AutoMap decorator O(P^2) -> O(1) own-list push (inheritance-safe seed) - naming / applyMetadata / getMetadataList compile-time cleanups Co-Authored-By: Claude Opus 4.8 (1M context) * refactor(core): dedupe path-keying, simplify extend, tidy map() hot path Quality cleanups from review (no behavior change; full suite green): - extract a shared pathKey(path) helper for the null-byte path-key idiom that was open-coded across create-initial-mapping and extend - collapse extend()'s size-gated dual loop into a single Set-based pass (compile-time only, so the Set is cheap at any size) - extract isFileTagged() for the duplicated File-tag check in compileStep - reuse one nested-options object across nested map() recursion instead of allocating { extraArgs } per nested object / array element - drop an unnecessary export on getWritableKeys Co-Authored-By: Claude Opus 4.8 (1M context) * refactor(benchmark-core): share fixtures; read profiles from a fixed dir - extract the shared classes-strategy model/factory/mapping setup into fixtures.ts (imported by bench, verify, profile-formember) instead of copy-pasting it in each; drop a dead keep-alive fixture - analyze-cpuprofile: read the newest profile from the fixed ./profiles dir instead of an optional CLI argument — removes the path-injection surface entirely (no external input reaches the filesystem path) Co-Authored-By: Claude Opus 4.8 (1M context) --------- Co-authored-by: Claude Opus 4.8 (1M context) --- packages/benchmark-core/.gitignore | 2 + packages/benchmark-core/package.json | 5 +- .../benchmark-core/src/analyze-cpuprofile.ts | 86 +++++++ packages/benchmark-core/src/bench.ts | 96 +++++--- packages/benchmark-core/src/fixtures.ts | 134 ++++++++++ .../benchmark-core/src/profile-formember.ts | 47 ++++ packages/benchmark-core/src/startup-bench.ts | 149 ++++++++++++ packages/benchmark-core/src/verify.ts | 124 ++++++++++ packages/classes/src/lib/automap.ts | 27 ++- packages/classes/src/lib/get-metadata-list.ts | 15 +- packages/core/src/lib/core.ts | 30 ++- .../src/lib/mapping-configurations/extend.ts | 19 +- .../core/src/lib/mappings/apply-metadata.ts | 19 +- .../core/src/lib/mappings/compile-mapping.ts | 4 +- .../lib/mappings/create-initial-mapping.ts | 63 +++-- packages/core/src/lib/mappings/create-map.ts | 3 +- packages/core/src/lib/mappings/map.ts | 229 ++++++++++++------ .../snake-case-naming-convention.ts | 10 +- packages/core/src/lib/types.ts | 14 +- .../lib/utils/assert-unmapped-properties.ts | 47 +++- .../core/src/lib/utils/get-path-recursive.ts | 15 +- packages/core/src/lib/utils/get-path.ts | 11 +- packages/core/src/lib/utils/get.ts | 9 + packages/core/src/lib/utils/path-key.ts | 12 + .../specs/assert-unmapped-properties.spec.ts | 136 +++++++++++ .../utils/specs/get-path-recursive.spec.ts | 37 +++ packages/core/src/lib/utils/specs/get.spec.ts | 17 ++ packages/core/src/lib/utils/store-metadata.ts | 11 +- .../src/classes/automap-inheritance.spec.ts | 35 +++ .../src/pojos/map-from-resolver-paths.spec.ts | 58 +++++ .../pojos/map-initialize-value-branch.spec.ts | 102 ++++++++ .../src/pojos/wide-mapping-size-gate.spec.ts | 73 ++++++ 32 files changed, 1436 insertions(+), 203 deletions(-) create mode 100644 packages/benchmark-core/.gitignore create mode 100644 packages/benchmark-core/src/analyze-cpuprofile.ts create mode 100644 packages/benchmark-core/src/fixtures.ts create mode 100644 packages/benchmark-core/src/profile-formember.ts create mode 100644 packages/benchmark-core/src/startup-bench.ts create mode 100644 packages/benchmark-core/src/verify.ts create mode 100644 packages/core/src/lib/utils/path-key.ts create mode 100644 packages/core/src/lib/utils/specs/assert-unmapped-properties.spec.ts create mode 100644 packages/core/src/lib/utils/specs/get-path-recursive.spec.ts create mode 100644 packages/integration-test/src/classes/automap-inheritance.spec.ts create mode 100644 packages/integration-test/src/pojos/map-from-resolver-paths.spec.ts create mode 100644 packages/integration-test/src/pojos/map-initialize-value-branch.spec.ts create mode 100644 packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts diff --git a/packages/benchmark-core/.gitignore b/packages/benchmark-core/.gitignore new file mode 100644 index 000000000..0427870a0 --- /dev/null +++ b/packages/benchmark-core/.gitignore @@ -0,0 +1,2 @@ +profiles/ +*.cpuprofile diff --git a/packages/benchmark-core/package.json b/packages/benchmark-core/package.json index eba2de86a..cd1035dad 100644 --- a/packages/benchmark-core/package.json +++ b/packages/benchmark-core/package.json @@ -5,7 +5,10 @@ "type": "module", "description": "Benchmark harness for @automapper/core hot path (map / mapArray)", "scripts": { - "bench": "tsx src/bench.ts" + "bench": "node --expose-gc --import tsx src/bench.ts", + "bench:startup": "node --expose-gc --import tsx src/startup-bench.ts", + "bench:profile": "node --cpu-prof --cpu-prof-dir ./profiles --import tsx src/profile-formember.ts", + "bench:profile:analyze": "tsx src/analyze-cpuprofile.ts" }, "dependencies": { "@automapper/core": "workspace:*", diff --git a/packages/benchmark-core/src/analyze-cpuprofile.ts b/packages/benchmark-core/src/analyze-cpuprofile.ts new file mode 100644 index 000000000..554362482 --- /dev/null +++ b/packages/benchmark-core/src/analyze-cpuprofile.ts @@ -0,0 +1,86 @@ +import { readdirSync, readFileSync, statSync } from 'node:fs'; +import { join } from 'node:path'; + +// Aggregate self-time from the newest V8 .cpuprofile in ./profiles by function +// (functionName @ url:line), so the dominant cost of the forMember/mapFrom path +// is attributable instead of guessed. Usage: pnpm tsx src/analyze-cpuprofile.ts +// +// Reads from the fixed ./profiles dir (where `bench:profile` writes via +// --cpu-prof-dir). The directory is a constant — no CLI/external input feeds the +// path, so there is no path-injection surface. +const dir = './profiles'; +const files = readdirSync(dir) + .filter((f) => f.endsWith('.cpuprofile')) + .map((f) => ({ f, t: statSync(join(dir, f)).mtimeMs })) + .sort((a, b) => b.t - a.t); + +if (!files.length) { + console.error(`No .cpuprofile found in ${dir}`); + process.exit(1); +} + +const path = join(dir, files[0].f); +const prof = JSON.parse(readFileSync(path, 'utf8')) as { + nodes: Array<{ + id: number; + hitCount?: number; + callFrame: { functionName: string; url: string; lineNumber: number }; + }>; + samples: number[]; + timeDeltas: number[]; +}; + +const byId = new Map(); +for (const n of prof.nodes) byId.set(n.id, n); + +// accurate self time: sum the inter-sample delta charged to each sampled node +const selfUs = new Map(); +for (let i = 0; i < prof.samples.length; i++) { + const id = prof.samples[i]; + const dt = prof.timeDeltas[i] ?? 0; + selfUs.set(id, (selfUs.get(id) ?? 0) + dt); +} + +const isAutomapper = (url: string) => + url.includes('/packages/core/') || + url.includes('/packages/classes/') || + url.includes('@automapper'); + +const agg = new Map(); +let total = 0; +for (const [id, us] of selfUs) { + const node = byId.get(id); + if (!node) continue; + const cf = node.callFrame; + const name = cf.functionName || '(anonymous)'; + const file = cf.url + ? cf.url.replace(/^.*\/packages\//, 'packages/').replace(/^file:\/\//, '') + : '(native)'; + const key = `${name} ${file}:${cf.lineNumber + 1}`; + const cur = agg.get(key) ?? { us: 0, automapper: isAutomapper(cf.url) }; + cur.us += us; + agg.set(key, cur); + total += us; +} + +const rows = [...agg.entries()].sort((a, b) => b[1].us - a[1].us).slice(0, 30); +console.log(`\nCPU profile: ${path}`); +console.log(`Total sampled self-time: ${(total / 1000).toFixed(1)} ms\n`); +console.log(' self% self(ms) fn @ file:line'); +console.log(' ------ -------- --------------'); +let amTotal = 0; +for (const [key, { us, automapper }] of rows) { + const pct = (100 * us) / total; + if (automapper) amTotal += us; + console.log( + ` ${pct.toFixed(1).padStart(5)}% ${(us / 1000) + .toFixed(1) + .padStart(7)} ${automapper ? '*' : ' '} ${key}` + ); +} +console.log( + `\n (* = @automapper frame). @automapper self-time in top 30 ≈ ${( + (100 * amTotal) / + total + ).toFixed(1)}% of total.\n` +); diff --git a/packages/benchmark-core/src/bench.ts b/packages/benchmark-core/src/bench.ts index 8e6c6b13e..ade46e8df 100644 --- a/packages/benchmark-core/src/bench.ts +++ b/packages/benchmark-core/src/bench.ts @@ -1,22 +1,24 @@ import 'reflect-metadata'; -import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; +import { createMap, createMapper } from '@automapper/core'; import { AutoMap, classes } from '@automapper/classes'; import { pojos, PojosMetadataMap } from '@automapper/pojos'; import { bench, group, run } from 'mitata'; +import { + CamelUserDto, + makeSnakeUser, + makeUser, + registerUserMaps, + SnakeUser, + User, + UserDto, + UserView, +} from './fixtures'; // =========================================================================== -// Shared fixtures (plain source objects — map() reads by property name) +// Fixtures (plain source objects — map() reads by property name). The User / +// Snake model + mappings are shared via ./fixtures; Address/Profile below are +// bench-only (nested-mapping scenarios). // =========================================================================== -const makeUser = (i: number) => ({ - firstName: `First${i}`, - lastName: `Last${i}`, - email: `user${i}@example.com`, - age: 20 + (i % 50), - active: i % 2 === 0, - role: i % 3 === 0 ? 'admin' : 'user', - score: i * 1.5, - createdAt: 'Fri Jun 19 2026', -}); const makeProfile = (i: number) => ({ id: `id-${i}`, username: `user${i}`, @@ -25,10 +27,20 @@ const makeProfile = (i: number) => ({ }); const user = makeUser(1); -const users100 = Array.from({ length: 100 }, (_, i) => makeUser(i)); const users1000 = Array.from({ length: 1000 }, (_, i) => makeUser(i)); const profile = makeProfile(1); const profiles1000 = Array.from({ length: 1000 }, (_, i) => makeProfile(i)); +const snakeUsers1000 = Array.from({ length: 1000 }, (_, i) => makeSnakeUser(i)); + +// Rotating source pools (>=64 distinct objects). mitata reuses the same fixture +// each iteration, which lets V8 constant-fold a resolver over one fixed object +// and overstate the win; rotating through a pool keeps the measured cost +// representative of production polymorphism. +const POOL = 64; +const userPool = Array.from({ length: POOL }, (_, i) => makeUser(i)); +const snakePool = Array.from({ length: POOL }, (_, i) => makeSnakeUser(i)); +let userIdx = 0; +let snakeIdx = 0; // =========================================================================== // pojos strategy @@ -83,7 +95,8 @@ createMap(pojosMapper, 'Profile', 'ProfileDto'); // =========================================================================== // classes strategy (explicit @AutoMap types — esbuild/tsx has no -// emitDecoratorMetadata, so design:type is provided explicitly) +// emitDecoratorMetadata, so design:type is provided explicitly). Address / +// Profile are bench-only nested fixtures; the User* set comes from ./fixtures. // =========================================================================== class Address { @AutoMap(() => String) street!: string; @@ -95,26 +108,6 @@ class AddressDto { @AutoMap(() => String) city!: string; @AutoMap(() => String) zip!: string; } -class User { - @AutoMap(() => String) firstName!: string; - @AutoMap(() => String) lastName!: string; - @AutoMap(() => String) email!: string; - @AutoMap(() => Number) age!: number; - @AutoMap(() => Boolean) active!: boolean; - @AutoMap(() => String) role!: string; - @AutoMap(() => Number) score!: number; - @AutoMap(() => String) createdAt!: string; -} -class UserDto { - @AutoMap(() => String) firstName!: string; - @AutoMap(() => String) lastName!: string; - @AutoMap(() => String) email!: string; - @AutoMap(() => Number) age!: number; - @AutoMap(() => Boolean) active!: boolean; - @AutoMap(() => String) role!: string; - @AutoMap(() => Number) score!: number; - @AutoMap(() => String) createdAt!: string; -} class Profile { @AutoMap(() => String) id!: string; @AutoMap(() => String) username!: string; @@ -130,12 +123,19 @@ class ProfileDto { const classesMapper = createMapper({ strategyInitializer: classes() }); createMap(classesMapper, Address, AddressDto); -createMap(classesMapper, User, UserDto); createMap(classesMapper, Profile, ProfileDto); +// User -> UserDto, User -> UserView (forMember+mapFrom), SnakeUser -> CamelUserDto +registerUserMaps(classesMapper); // =========================================================================== -// Benchmarks (mitata uses the returned value as a sink to defeat DCE) +// Benchmarks (mitata uses the returned value as a sink to defeat DCE). +// Run under `--expose-gc` (see package.json `bench` script) so mitata reports +// the heap/gc columns; allocation is the dominant variable cost and the metric +// most likely to regress. `.gc('inner')` is set on the resolver/naming groups +// to surface a clean per-iteration heap delta. // =========================================================================== + +// --- Identity auto-map baseline (regression guard; latency-focused) --- group('pojos / flat (8 primitive members)', () => { bench('map x1', () => pojosMapper.map(user, 'User', 'UserDto')); bench('mapArray x1000', () => @@ -161,4 +161,28 @@ group('classes / nested (object member + array)', () => { ); }); +// --- forMember + mapFrom (2 auto + 6 mapFrom) --- +group('classes / forMember+mapFrom (2 auto + 6 mapFrom)', () => { + bench('map x1 (rotating pool)', () => + classesMapper.map(userPool[userIdx++ & (POOL - 1)], User, UserView) + ).gc('inner'); + bench('mapArray x1000', () => + classesMapper.mapArray(users1000, User, UserView) + ).gc('inner'); +}); + +// --- snake_case -> camelCase naming convention --- +group('classes / naming snake->camel (6 members)', () => { + bench('map x1 (rotating pool)', () => + classesMapper.map( + snakePool[snakeIdx++ & (POOL - 1)], + SnakeUser, + CamelUserDto + ) + ).gc('inner'); + bench('mapArray x1000', () => + classesMapper.mapArray(snakeUsers1000, SnakeUser, CamelUserDto) + ).gc('inner'); +}); + await run(); diff --git a/packages/benchmark-core/src/fixtures.ts b/packages/benchmark-core/src/fixtures.ts new file mode 100644 index 000000000..0def6bd5a --- /dev/null +++ b/packages/benchmark-core/src/fixtures.ts @@ -0,0 +1,134 @@ +import 'reflect-metadata'; +import { + CamelCaseNamingConvention, + createMap, + forMember, + mapFrom, + type Mapper, + namingConventions, + SnakeCaseNamingConvention, +} from '@automapper/core'; +import { AutoMap } from '@automapper/classes'; + +// Shared classes-strategy fixtures used by bench.ts, verify.ts, and +// profile-formember.ts so the model/factory/mapping setup lives in one place. + +export const makeUser = (i: number) => ({ + firstName: `First${i}`, + lastName: `Last${i}`, + email: `user${i}@example.com`, + age: 20 + (i % 50), + active: i % 2 === 0, + role: i % 3 === 0 ? 'admin' : 'user', + score: i * 1.5, + createdAt: 'Fri Jun 19 2026', +}); + +// snake_case source — exercises the source->dest naming-convention rename path +export const makeSnakeUser = (i: number) => ({ + first_name: `First${i}`, + last_name: `Last${i}`, + email_address: `user${i}@example.com`, + user_age: 20 + (i % 50), + is_active: i % 2 === 0, + user_role: i % 3 === 0 ? 'admin' : 'user', +}); + +// Explicit @AutoMap types — esbuild/tsx has no emitDecoratorMetadata, so the +// design:type is provided explicitly. +export class User { + @AutoMap(() => String) firstName!: string; + @AutoMap(() => String) lastName!: string; + @AutoMap(() => String) email!: string; + @AutoMap(() => Number) age!: number; + @AutoMap(() => Boolean) active!: boolean; + @AutoMap(() => String) role!: string; + @AutoMap(() => Number) score!: number; + @AutoMap(() => String) createdAt!: string; +} +export class UserDto { + @AutoMap(() => String) firstName!: string; + @AutoMap(() => String) lastName!: string; + @AutoMap(() => String) email!: string; + @AutoMap(() => Number) age!: number; + @AutoMap(() => Boolean) active!: boolean; + @AutoMap(() => String) role!: string; + @AutoMap(() => Number) score!: number; + @AutoMap(() => String) createdAt!: string; +} +// 2 auto-mapped (same-name) + 6 mapFrom-derived members — a common real-world +// configuration the identity groups don't exercise. +export class UserView { + @AutoMap(() => String) firstName!: string; // auto (same name) + @AutoMap(() => String) lastName!: string; // auto (same name) + @AutoMap(() => String) fullName!: string; // mapFrom + @AutoMap(() => String) emailLower!: string; // mapFrom + @AutoMap(() => String) ageGroup!: string; // mapFrom + @AutoMap(() => Boolean) isActive!: boolean; // mapFrom + @AutoMap(() => String) roleLabel!: string; // mapFrom + @AutoMap(() => Number) scoreRounded!: number; // mapFrom +} +export class SnakeUser { + @AutoMap(() => String) first_name!: string; + @AutoMap(() => String) last_name!: string; + @AutoMap(() => String) email_address!: string; + @AutoMap(() => Number) user_age!: number; + @AutoMap(() => Boolean) is_active!: boolean; + @AutoMap(() => String) user_role!: string; +} +export class CamelUserDto { + @AutoMap(() => String) firstName!: string; + @AutoMap(() => String) lastName!: string; + @AutoMap(() => String) emailAddress!: string; + @AutoMap(() => Number) userAge!: number; + @AutoMap(() => Boolean) isActive!: boolean; + @AutoMap(() => String) userRole!: string; +} + +/** + * Register the three classes-strategy mappings on a classes() mapper: + * - User -> UserDto (identity / auto-map) + * - User -> UserView (2 auto + 6 forMember(mapFrom)) + * - SnakeUser -> CamelUserDto (snake_case -> camelCase naming convention) + */ +export function registerUserMaps(mapper: Mapper): void { + createMap(mapper, User, UserDto); + createMap( + mapper, + User, + UserView, + forMember( + (d) => d.fullName, + mapFrom((s) => `${s.firstName} ${s.lastName}`) + ), + forMember( + (d) => d.emailLower, + mapFrom((s) => s.email.toLowerCase()) + ), + forMember( + (d) => d.ageGroup, + mapFrom((s) => (s.age < 30 ? 'young' : 'adult')) + ), + forMember( + (d) => d.isActive, + mapFrom((s) => s.active) + ), + forMember( + (d) => d.roleLabel, + mapFrom((s) => s.role.toUpperCase()) + ), + forMember( + (d) => d.scoreRounded, + mapFrom((s) => Math.round(s.score)) + ) + ); + createMap( + mapper, + SnakeUser, + CamelUserDto, + namingConventions({ + source: new SnakeCaseNamingConvention(), + destination: new CamelCaseNamingConvention(), + }) + ); +} diff --git a/packages/benchmark-core/src/profile-formember.ts b/packages/benchmark-core/src/profile-formember.ts new file mode 100644 index 000000000..340fa99e2 --- /dev/null +++ b/packages/benchmark-core/src/profile-formember.ts @@ -0,0 +1,47 @@ +import 'reflect-metadata'; +import { createMapper } from '@automapper/core'; +import { classes } from '@automapper/classes'; +import { makeUser, registerUserMaps, User, UserView } from './fixtures'; + +// =========================================================================== +// Focused CPU-profile driver for the common path: classes strategy, +// synchronous map(), forMember(mapFrom). Run under: +// node --cpu-prof --cpu-prof-dir ./profiles --import tsx src/profile-formember.ts +// then analyze the emitted .cpuprofile with `pnpm tsx src/analyze-cpuprofile.ts`. +// Unlike mitata, this runs a single straight hot loop so self-time attributes +// cleanly to map()/set()/mapMember()/step-closures rather than the harness. +// =========================================================================== + +const mapper = createMapper({ strategyInitializer: classes() }); +registerUserMaps(mapper); // registers User -> UserView (among others) + +const POOL = 64; +const pool = Array.from({ length: POOL }, (_, i) => makeUser(i)); +const arr = Array.from({ length: 1000 }, (_, i) => makeUser(i)); + +// Warmup so TurboFan tiers up before the profiled steady state. +for (let i = 0; i < 200_000; i++) mapper.map(pool[i & (POOL - 1)], User, UserView); + +const ITERS = 4_000_000; +let sink = 0; +const t0 = process.hrtime.bigint(); +for (let i = 0; i < ITERS; i++) { + const v = mapper.map(pool[i & (POOL - 1)], User, UserView) as { + fullName: string; + }; + sink += v.fullName.length; +} +// a few large mapArray passes too (per-element compounding) +for (let i = 0; i < 2000; i++) { + const out = mapper.mapArray(arr, User, UserView); + sink += out.length; +} +const t1 = process.hrtime.bigint(); + +console.log( + `profiled ${ITERS.toLocaleString()} single maps + 2000 mapArray(1000) in ${( + Number(t1 - t0) / 1e6 + ).toFixed(0)} ms (sink=${sink}); ~${(Number(t1 - t0) / ITERS).toFixed( + 1 + )} ns/map. .cpuprofile written to ./profiles on exit.` +); diff --git a/packages/benchmark-core/src/startup-bench.ts b/packages/benchmark-core/src/startup-bench.ts new file mode 100644 index 000000000..0ac97f5a9 --- /dev/null +++ b/packages/benchmark-core/src/startup-bench.ts @@ -0,0 +1,149 @@ +import 'reflect-metadata'; +import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; +import { AutoMap, classes } from '@automapper/classes'; + +// =========================================================================== +// 408-createMap startup + retained-memory bench. +// +// A large app may call createMap hundreds of times at boot (classes strategy, many @AutoMap +// decorators), and every compiled plan is retained for the process lifetime of +// a long-running NestJS service. The steady-state `bench.ts` cannot see this: +// it measures map() throughput post-tiering, not the one-shot compile cost or +// the resident-memory footprint of the retained plans. +// +// This harness builds a tail-skewed class-size distribution representative of a +// large app (most classes small, a few very wide), runs all createMaps once +// (the realistic boot path — no warmup/tiering), and reports: +// - wall time of createMap + buildMapPlan via process.hrtime.bigint() +// - retained heapUsed after global.gc() x3 (requires --expose-gc) +// It is the instrument for the startup/memory optimizations. +// Run: `node --expose-gc --import tsx src/startup-bench.ts`. +// =========================================================================== + +// --- tail-skewed @AutoMap class-size distribution, total ~408 plans ---------- +function buildSizeDistribution(): number[] { + const sizes: number[] = []; + sizes.push(197, 188); // the long tail (a couple of god-DTOs) + for (let i = 0; i < 4; i++) sizes.push(100); + for (let i = 0; i < 10; i++) sizes.push(60); + for (let i = 0; i < 44; i++) sizes.push(21); // mid-size tier + // remainder are small classes (5..10 props): deterministic spread + while (sizes.length < 408) sizes.push(5 + (sizes.length % 6)); + return sizes; +} + +// Build a class with `numProps` @AutoMap string properties, applied imperatively +// (identical to the `@AutoMap(() => String)` field decorator). The decorator's +// O(P^2) metadata spread (automap.ts) is intentionally exercised. +function makeMetadataClass(numProps: number): new () => Record { + const C = class {} as new () => Record; + for (let i = 0; i < numProps; i++) { + AutoMap(() => String)(C.prototype as object, 'p' + i); + } + return C; +} + +interface TrialResult { + plans: number; + totalProps: number; + wallMs: number; + retainedMB: number; +} + +const retained: unknown[] = []; // hold references so plans aren't collected pre-measure + +function gcTimes(n: number): void { + const gc = (globalThis as { gc?: () => void }).gc; + if (!gc) return; + for (let i = 0; i < n; i++) gc(); +} + +function runTrial(sizes: number[]): TrialResult { + const mapper = createMapper({ strategyInitializer: classes() }); + // Pre-create the class pairs (decorator cost) BEFORE the timed region so the + // measurement isolates createMap + buildMapPlan, not decoration. + const pairs = sizes.map((n) => ({ + Source: makeMetadataClass(n), + Dest: makeMetadataClass(n), + n, + })); + const totalProps = sizes.reduce((a, b) => a + b, 0); + + gcTimes(3); + const heapBefore = process.memoryUsage().heapUsed; + + const t0 = process.hrtime.bigint(); + for (const { Source, Dest } of pairs) { + // 2 forMember(mapFrom) per plan exercises the config path (getMetadataAtMember, + // getNestedMappingPair, processSourcePath) exercised by forMember/mapFrom. + createMap( + mapper, + Source, + Dest, + forMember( + (d: Record) => d['p0'], + mapFrom((s: Record) => s['p0']) + ), + forMember( + (d: Record) => d['p1'], + mapFrom((s: Record) => s['p1']) + ) + ); + } + const t1 = process.hrtime.bigint(); + + gcTimes(3); + const heapAfter = process.memoryUsage().heapUsed; + + retained.push(mapper, pairs); + + return { + plans: sizes.length, + totalProps, + wallMs: Number(t1 - t0) / 1e6, + retainedMB: (heapAfter - heapBefore) / (1024 * 1024), + }; +} + +const sizes = buildSizeDistribution(); +const TRIALS = 3; + +if (!(globalThis as { gc?: () => void }).gc) { + console.warn( + '[startup-bench] global.gc is unavailable — run with `node --expose-gc --import tsx src/startup-bench.ts` for accurate retained-memory numbers.' + ); +} + +console.log( + `\n408-createMap startup bench — ${sizes.length} plans, ${sizes.reduce( + (a, b) => a + b, + 0 + )} total props (max ${Math.max(...sizes)}), classes strategy, 2 forMember(mapFrom) each\n` +); +console.log('trial | plans | totalProps | wall (ms) | retained (MB)'); +console.log('------+---------+------------+-------------+--------------'); +const results: TrialResult[] = []; +for (let t = 0; t < TRIALS; t++) { + const r = runTrial(sizes); + results.push(r); + console.log( + `${String(t + 1).padStart(5)} | ${String(r.plans).padStart( + 7 + )} | ${String(r.totalProps).padStart(10)} | ${r.wallMs + .toFixed(2) + .padStart(11)} | ${r.retainedMB.toFixed(2).padStart(12)}` + ); +} + +const avg = (xs: number[]) => xs.reduce((a, b) => a + b, 0) / xs.length; +console.log('------+---------+------------+-------------+--------------'); +console.log( + ` avg | | | ${avg(results.map((r) => r.wallMs)) + .toFixed(2) + .padStart(11)} | ${avg(results.map((r) => r.retainedMB)) + .toFixed(2) + .padStart(12)}` +); +console.log( + '\nNote: retained MB is heapUsed delta across the createMap loop after gc x3 — the resident cost of the compiled plans + stored metadata. It is the before/after instrument for the dropped plan array and O(P^2) startup fixes.\n' +); diff --git a/packages/benchmark-core/src/verify.ts b/packages/benchmark-core/src/verify.ts new file mode 100644 index 000000000..40e782f18 --- /dev/null +++ b/packages/benchmark-core/src/verify.ts @@ -0,0 +1,124 @@ +import 'reflect-metadata'; +import { createMap, createMapper } from '@automapper/core'; +import { classes } from '@automapper/classes'; +import { pojos, PojosMetadataMap } from '@automapper/pojos'; +import { + CamelUserDto, + makeSnakeUser, + makeUser, + registerUserMaps, + SnakeUser, + User, + UserDto, + UserView, +} from './fixtures'; + +// Independent validation of the bench: (1) assert every scenario maps CORRECTLY +// (so mitata isn't timing a silently no-op'd / wrong map), (2) re-time with a +// hand-rolled hrtime loop (no mitata) to corroborate the magnitude. Runs against +// whatever @automapper/* source is currently in the tree (this branch, or main +// when its src is overlaid), so the SAME assertions gate both sides. + +let failures = 0; +const eq = (a: unknown, b: unknown, msg: string) => { + if (JSON.stringify(a) !== JSON.stringify(b)) { + failures++; + console.error( + ` FAIL: ${msg} — got ${JSON.stringify(a)}, want ${JSON.stringify(b)}` + ); + } +}; + +// pojos identity mapper (verify the pojos path too) +PojosMetadataMap.create('User', { + firstName: String, + lastName: String, + email: String, + age: Number, + active: Boolean, + role: String, + score: Number, + createdAt: String, +}); +PojosMetadataMap.create('UserDto', { + firstName: String, + lastName: String, + email: String, + age: Number, + active: Boolean, + role: String, + score: Number, + createdAt: String, +}); +const pojosMapper = createMapper({ strategyInitializer: pojos() }); +createMap(pojosMapper, 'User', 'UserDto'); + +const m = createMapper({ strategyInitializer: classes() }); +registerUserMaps(m); // User->UserDto, User->UserView, SnakeUser->CamelUserDto + +// ---- (1) correctness ---- +console.log('correctness:'); +const u = makeUser(7); +const KEYS = [ + 'firstName', + 'lastName', + 'email', + 'age', + 'active', + 'role', + 'score', + 'createdAt', +] as const; + +const pd = pojosMapper.map(u, 'User', 'UserDto') as Record; +for (const k of KEYS) eq(pd[k], (u as never)[k], `pojos UserDto.${k}`); + +const cd = m.map(u, User, UserDto) as unknown as Record; +for (const k of KEYS) eq(cd[k], (u as never)[k], `classes UserDto.${k}`); + +const v = m.map(u, User, UserView) as unknown as Record; +eq(v.firstName, u.firstName, 'UserView.firstName (auto)'); +eq(v.lastName, u.lastName, 'UserView.lastName (auto)'); +eq(v.fullName, `${u.firstName} ${u.lastName}`, 'UserView.fullName (mapFrom)'); +eq(v.emailLower, u.email.toLowerCase(), 'UserView.emailLower (mapFrom)'); +eq(v.ageGroup, u.age < 30 ? 'young' : 'adult', 'UserView.ageGroup (mapFrom)'); +eq(v.isActive, u.active, 'UserView.isActive (mapFrom)'); +eq(v.roleLabel, u.role.toUpperCase(), 'UserView.roleLabel (mapFrom)'); +eq(v.scoreRounded, Math.round(u.score), 'UserView.scoreRounded (mapFrom)'); + +const s = makeSnakeUser(7); +const nd = m.map(s, SnakeUser, CamelUserDto) as unknown as Record< + string, + unknown +>; +eq(nd.firstName, s.first_name, 'CamelUserDto.firstName (naming)'); +eq(nd.lastName, s.last_name, 'CamelUserDto.lastName (naming)'); +eq(nd.emailAddress, s.email_address, 'CamelUserDto.emailAddress (naming)'); +eq(nd.userAge, s.user_age, 'CamelUserDto.userAge (naming)'); +eq(nd.isActive, s.is_active, 'CamelUserDto.isActive (naming)'); +eq(nd.userRole, s.user_role, 'CamelUserDto.userRole (naming)'); + +console.log(failures ? ` ${failures} FAILURE(S)` : ' all correctness checks passed'); + +// ---- (2) independent hrtime timing (no mitata) ---- +const POOL = 64; +const userPool = Array.from({ length: POOL }, (_, i) => makeUser(i)); +const snakePool = Array.from({ length: POOL }, (_, i) => makeSnakeUser(i)); +function time(label: string, fn: (i: number) => number, iters = 2_000_000) { + for (let i = 0; i < 200_000; i++) fn(i); // warmup -> TurboFan + let sink = 0; + const t0 = process.hrtime.bigint(); + for (let i = 0; i < iters; i++) sink += fn(i); + const t1 = process.hrtime.bigint(); + console.log( + ` ${label.padEnd(22)} ${(Number(t1 - t0) / iters) + .toFixed(1) + .padStart(8)} ns/op (sink ${sink & 255})` + ); +} +console.log('hrtime ns/op (independent of mitata):'); +time('classes flat', (i) => (m.map(userPool[i & (POOL - 1)], User, UserDto) as { age: number }).age); +time('forMember+mapFrom', (i) => (m.map(userPool[i & (POOL - 1)], User, UserView) as { fullName: string }).fullName.length); +time('naming snake->camel', (i) => (m.map(snakePool[i & (POOL - 1)], SnakeUser, CamelUserDto) as { userAge: number }).userAge); + +process.exit(failures ? 1 : 0); diff --git a/packages/classes/src/lib/automap.ts b/packages/classes/src/lib/automap.ts index b33015423..3ce9b33f0 100644 --- a/packages/classes/src/lib/automap.ts +++ b/packages/classes/src/lib/automap.ts @@ -30,12 +30,6 @@ export function AutoMap( ): PropertyDecorator { const options = getAutoMapOptions(typeFnOrOptions); return (target, propertyKey) => { - const existingMetadataList = - Reflect.getMetadata( - AUTOMAP_PROPERTIES_METADATA_KEY, - target.constructor - ) || []; - if (!options.type) { const designTypeMeta = Reflect.getMetadata( 'design:type', @@ -79,11 +73,26 @@ Manually provide the "type" metadata to prevent unexpected behavior. designParamsType && !(designParamsType as []).length; } - Reflect.defineMetadata( + // Push onto the class's OWN metadata list — O(1) per decorator instead of + // spreading the whole accumulated array each time (was O(P^2) per class). + // The own list is seeded once from inherited metadata via slice(), so a + // subclass keeps its parent's entries WITHOUT mutating the parent's array. + const ctor = target.constructor; + let metadataList = Reflect.getOwnMetadata( AUTOMAP_PROPERTIES_METADATA_KEY, - [...existingMetadataList, [propertyKey, options]], - target.constructor + ctor ); + if (!metadataList) { + metadataList = ( + Reflect.getMetadata(AUTOMAP_PROPERTIES_METADATA_KEY, ctor) || [] + ).slice(); + Reflect.defineMetadata( + AUTOMAP_PROPERTIES_METADATA_KEY, + metadataList, + ctor + ); + } + metadataList.push([propertyKey, options]); }; } diff --git a/packages/classes/src/lib/get-metadata-list.ts b/packages/classes/src/lib/get-metadata-list.ts index 97f3c09eb..cf8c4cb94 100644 --- a/packages/classes/src/lib/get-metadata-list.ts +++ b/packages/classes/src/lib/get-metadata-list.ts @@ -33,14 +33,15 @@ export function getMetadataList(model: MetadataIdentifier): [ return [[], []]; } + // `model` is a class (function); @AutoMap stores metadata on the class via + // `target.constructor`, and Reflect.getMetadata walks the class's prototype + // chain (so subclass inheritance is already covered). The old + // `model.constructor.prototype` read was `Function.prototype` — never a + // metadata target — so it always contributed []. `.concat()` keeps the + // defensive copy (never hand out the stored array). let metadataList: MetadataList = ( - model.constructor?.prototype - ? Reflect.getMetadata( - AUTOMAP_PROPERTIES_METADATA_KEY, - model.constructor.prototype - ) || [] - : [] - ).concat(Reflect.getMetadata(AUTOMAP_PROPERTIES_METADATA_KEY, model) || []); + Reflect.getMetadata(AUTOMAP_PROPERTIES_METADATA_KEY, model) || [] + ).concat(); const metadataFactoryFn = model[AUTOMAPPER_METADATA_FACTORY_KEY]; if (metadataFactoryFn) { diff --git a/packages/core/src/lib/core.ts b/packages/core/src/lib/core.ts index 0f0e60bf4..ba079e4c9 100644 --- a/packages/core/src/lib/core.ts +++ b/packages/core/src/lib/core.ts @@ -266,6 +266,14 @@ export function createMapper({ mappingCallbacks?.[MappingCallbacksClassId.afterMapArray]; const runArrayMapping = () => { + // options is read-only in map()/mapReturn — share one object for + // every element instead of allocating `{ extraArgs }` per element. + const elementOptions = { + extraArgs: extraArgs as MapOptions< + TSource, + TDestination + >['extraArgs'], + }; for (let i = 0, length = sourceArray.length; i < length; i++) { let sourceObject = sourceArray[i]; sourceObject = strategy.preMap(sourceObject, mapping); @@ -273,12 +281,7 @@ export function createMapper({ const destination = mapReturn( mapping, sourceObject, - { - extraArgs: extraArgs as MapOptions< - TSource, - TDestination - >['extraArgs'], - }, + elementOptions, true ); @@ -470,6 +473,14 @@ export function createMapper({ mappingCallbacks?.[MappingCallbacksClassId.afterMapArray]; const runArrayMapping = () => { + // options is read-only in map()/mapMutate — share one object for + // every element instead of allocating `{ extraArgs }` per element. + const elementOptions = { + extraArgs: extraArgs as MapOptions< + TSource, + TDestination + >['extraArgs'], + }; for (let i = 0, length = sourceArray.length; i < length; i++) { let sourceObject = sourceArray[i]; @@ -483,12 +494,7 @@ export function createMapper({ mapping, sourceObject, destination, - { - extraArgs: extraArgs as MapOptions< - TSource, - TDestination - >['extraArgs'], - }, + elementOptions, true ); diff --git a/packages/core/src/lib/mapping-configurations/extend.ts b/packages/core/src/lib/mapping-configurations/extend.ts index 5a9d44f24..5610c8af2 100644 --- a/packages/core/src/lib/mapping-configurations/extend.ts +++ b/packages/core/src/lib/mapping-configurations/extend.ts @@ -7,7 +7,7 @@ import type { } from '../types'; import { MappingClassId } from '../types'; import { getMapping } from '../utils/get-mapping'; -import { isSamePath } from '../utils/is-same-path'; +import { pathKey } from '../utils/path-key'; export function extend< TSource extends Dictionary, @@ -50,18 +50,25 @@ export function extend< } const propsToExtend = mappingToExtend[MappingClassId.properties]; + const customProperties = mapping[MappingClassId.customProperties]; + // Don't overwrite a destination already configured by a forMember. + // Index present keys in a Set (O(1) lookups instead of an O(custom) + // `.find` per parent prop) and add on push so dedup within this batch is + // preserved. Compile-time only, so the Set is cheap at any size. + const present = new Set( + customProperties.map(([pKey]) => pathKey(pKey)) + ); for (let i = 0, length = propsToExtend.length; i < length; i++) { const [ propToExtendKey, propToExtendMappingProp, propToExtendNestedMapping, ] = propsToExtend[i]; - const existProp = mapping[MappingClassId.customProperties].find( - ([pKey]) => isSamePath(pKey, propToExtendKey) - ); - if (existProp) continue; - mapping[MappingClassId.customProperties].push([ + const key = pathKey(propToExtendKey); + if (present.has(key)) continue; + present.add(key); + customProperties.push([ propToExtendKey, propToExtendMappingProp as MappingProperty< TSource, diff --git a/packages/core/src/lib/mappings/apply-metadata.ts b/packages/core/src/lib/mappings/apply-metadata.ts index ce6fd89a7..833c8391d 100644 --- a/packages/core/src/lib/mappings/apply-metadata.ts +++ b/packages/core/src/lib/mappings/apply-metadata.ts @@ -14,7 +14,6 @@ import { isDateConstructor } from '../utils/is-date-constructor'; import { isEmpty } from '../utils/is-empty'; import { isPrimitiveConstructor } from '../utils/is-primitive-constructor'; import { getRecursiveValue, setRecursiveValue } from '../utils/recursion'; -import { setMutate } from '../utils/set'; export function defaultApplyMetadata( strategy: MappingStrategy @@ -34,8 +33,10 @@ export function defaultApplyMetadata( // get the metadata of the model const metadata = metadataMap.get(model); - // instantiate a model - const instance = {}; + // instantiate a model. Metadata property keys are always a single + // segment here (storeMetadata stores `[propertyKey]`), so members are + // assigned directly — no setMutate path-walk or throwaway temp object. + const instance: Record = {}; // if metadata is empty, return the instance early if (isEmpty(metadata) || !metadata) { @@ -65,20 +66,20 @@ export function defaultApplyMetadata( // if the metadata is an Array, then assign an empty array if (isArray) { - setMutate(instance as Record, key, []); + instance[key[0]] = []; continue; } // if is String, Number, Boolean // null meta means this has any type or an arbitrary object, treat as primitives if (isPrimitiveConstructor(metaResult) || metaResult === null) { - setMutate(instance as Record, key, undefined); + instance[key[0]] = undefined; continue; } // if is Date, assign a new Date value if valueAtKey is defined, otherwise, undefined if (isDateConstructor(metaResult)) { - setMutate(instance as Record, key, new Date()); + instance[key[0]] = new Date(); continue; } @@ -89,7 +90,7 @@ export function defaultApplyMetadata( // if no depth, just instantiate with new keyword without recursive if (depth === 0) { - setMutate(instance as Record, key, {}); + instance[key[0]] = {}; continue; } @@ -99,7 +100,7 @@ export function defaultApplyMetadata( if (root || !selfReference) { setRecursiveValue(recursiveCountMap, model, key, 0); } - setMutate(instance as Record, key, {}); + instance[key[0]] = {}; continue; } @@ -116,7 +117,7 @@ export function defaultApplyMetadata( false, metaResult === model ); - setMutate(instance as Record, key, childMetadata); + instance[key[0]] = childMetadata; } // after all, resetAllCount on the current model diff --git a/packages/core/src/lib/mappings/compile-mapping.ts b/packages/core/src/lib/mappings/compile-mapping.ts index 85da2ef64..8beeaf181 100644 --- a/packages/core/src/lib/mappings/compile-mapping.ts +++ b/packages/core/src/lib/mappings/compile-mapping.ts @@ -1,5 +1,5 @@ import type { - CompiledMapping, + CompiledMappingDescriptors, CompiledMappingProperty, Dictionary, Mapping, @@ -16,7 +16,7 @@ export function compileMapping< TDestination extends Dictionary >( propsToMap: Mapping[MappingClassId.properties] -): Omit, 'steps'> { +): CompiledMappingDescriptors { const props: CompiledMappingProperty[] = []; const configuredKeys: string[] = []; diff --git a/packages/core/src/lib/mappings/create-initial-mapping.ts b/packages/core/src/lib/mappings/create-initial-mapping.ts index 8e1bdee3f..daa55c46c 100644 --- a/packages/core/src/lib/mappings/create-initial-mapping.ts +++ b/packages/core/src/lib/mappings/create-initial-mapping.ts @@ -28,6 +28,7 @@ import { import { getFlatteningPaths, getPath } from '../utils/get-path'; import { getPathRecursive } from '../utils/get-path-recursive'; import { isPrimitiveArrayEqual } from '../utils/is-primitive-array-equal'; +import { pathKey } from '../utils/path-key'; export function createInitialMapping< TSource extends Dictionary, @@ -93,6 +94,15 @@ export function createInitialMapping< const mappingProperties = mapping[MappingClassId.properties]; const customMappingProperties = mapping[MappingClassId.customProperties]; const hasCustomMappingProperties = customMappingProperties.length > 0; + // Configured destination paths as a Set, built once instead of an O(custom) + // .some scan per destination path. + const customPropertyKeys = hasCustomMappingProperties + ? new Set( + customMappingProperties.map((property) => + pathKey(property[MappingPropertiesClassId.path]) + ) + ) + : null; const namingConventions = mapping[MappingClassId.namingConventions]; const { processSourcePath, getMetadataAtMember, getNestedMappingPair } = @@ -101,17 +111,9 @@ export function createInitialMapping< for (let i = 0, length = destinationPaths.length; i < length; i++) { const destinationPath = destinationPaths[i]; - // is a forMember (custom mapping configuration) already exists - // for this destination path, skip it - if ( - hasCustomMappingProperties && - customMappingProperties.some((property) => - isPrimitiveArrayEqual( - property[MappingPropertiesClassId.path], - destinationPath - ) - ) - ) { + // a forMember (custom mapping configuration) already exists for this + // destination path — skip it + if (customPropertyKeys && customPropertyKeys.has(pathKey(destinationPath))) { continue; } @@ -226,18 +228,41 @@ export function createMappingUtil< const destinationMetadata = metadataMap.get(destinationIdentifier) || []; const sourceMetadata = metadataMap.get(sourceIdentifier) || []; + // For wide classes, index metadata by null-byte-joined property path so + // getMetadataAtMember is O(1) rather than an O(P) .find — it runs twice per + // destination path, so the scan is O(P^2) over the class. Below the gate the + // .find is cheaper than building the Map; first-match-wins is preserved. + const METADATA_INDEX_GATE = 30; + const buildIndex = (meta: Metadata[]) => { + if (meta.length <= METADATA_INDEX_GATE) return null; + const index = new Map(); + for (let i = 0, len = meta.length; i < len; i++) { + const key = pathKey(meta[i][MetadataClassId.propertyKeys]); + if (!index.has(key)) index.set(key, meta[i]); + } + return index; + }; + const sourceIndex = buildIndex(sourceMetadata); + const destinationIndex = buildIndex(destinationMetadata); + return { getMetadataAtMember: ( memberPath: string[], type: 'source' | 'destination' - ) => - (type === 'source' ? sourceMetadata : destinationMetadata).find( - (m) => - isPrimitiveArrayEqual( - m[MetadataClassId.propertyKeys], - memberPath - ) - ), + ) => { + const index = type === 'source' ? sourceIndex : destinationIndex; + if (index) { + return index.get(pathKey(memberPath)); + } + return ( + type === 'source' ? sourceMetadata : destinationMetadata + ).find((m) => + isPrimitiveArrayEqual( + m[MetadataClassId.propertyKeys], + memberPath + ) + ); + }, processSourcePath: ( sourceObject: TSource, namingConventions: Mapping[MappingClassId.namingConventions], diff --git a/packages/core/src/lib/mappings/create-map.ts b/packages/core/src/lib/mappings/create-map.ts index 8b6edc4c7..138518f28 100644 --- a/packages/core/src/lib/mappings/create-map.ts +++ b/packages/core/src/lib/mappings/create-map.ts @@ -111,7 +111,8 @@ export function createMap< // properties are finalized — compile the per-property step plan once, now, // so map() never has to re-inspect the positional tuples at runtime. mapping[MappingClassId.compiledPlan] = buildMapPlan( - mapping[MappingClassId.properties] + mapping[MappingClassId.properties], + mapping[MappingClassId.identifierMetadata][1] ); // store the mapping diff --git a/packages/core/src/lib/mappings/map.ts b/packages/core/src/lib/mappings/map.ts index 03ad4f2c3..9bbe9891e 100644 --- a/packages/core/src/lib/mappings/map.ts +++ b/packages/core/src/lib/mappings/map.ts @@ -13,7 +13,10 @@ import type { MetadataIdentifier, } from '../types'; import { MapFnClassId, MappingClassId, TransformationType } from '../types'; -import { assertUnmappedProperties } from '../utils/assert-unmapped-properties'; +import { + assertUnmappedProperties, + computeUnmappedCandidateKeys, +} from '../utils/assert-unmapped-properties'; import { get } from '../utils/get'; import { getMapping } from '../utils/get-mapping'; import { isMappableIdentifier } from '../utils/is-mappable-identifier'; @@ -23,15 +26,30 @@ import { set, setMutate } from '../utils/set'; import { compileMapping } from './compile-mapping'; import { mapMember } from './map-member'; +// A genuine File (and any File-like value) reports `[object File]`, i.e. its +// [Symbol.toStringTag] is 'File'. Reading the symbol directly avoids the +// per-call `Object.prototype.toString.call(x).slice(8, -1)` string allocation on +// the hot MapInitialize path, and is null-safe for the array-element check. NOT +// constructor.name, which false-positives on user classes named "File". +const FILE_TAG = Symbol.toStringTag; +function isFileTagged(value: unknown): boolean { + return ( + value != null && + (value as Record)[FILE_TAG] === 'File' + ); +} + +// Direct per-member writer (no per-member closure). set() returns the same +// object reference for a non-empty path, so the old `destination = set(...)` +// reassignment was a no-op and is dropped. function setMemberReturnFn = any>( destinationMemberPath: string[], - destination: TDestination | undefined + destination: TDestination | undefined, + value: unknown ) { - return (value: unknown) => { - if (destination) { - destination = set(destination, destinationMemberPath, value); - } - }; + if (destination) { + set(destination, destinationMemberPath, value); + } } export function mapReturn< @@ -53,7 +71,11 @@ export function mapReturn< } function setMemberMutateFn(destinationObj: Record) { - return (destinationMember: string[]) => (value: unknown) => { + return ( + destinationMember: string[], + _destination: unknown, + value: unknown + ) => { if (value !== undefined) { setMutate(destinationObj, destinationMember, value); } @@ -94,8 +116,9 @@ interface MapParameter< options: MapOptions; setMemberFn: ( destinationMemberPath: string[], - destination?: TDestination - ) => (value: unknown) => void; + destination: TDestination | undefined, + value: unknown + ) => void; getMemberFn?: ( destinationMemberPath: string[] | undefined ) => Record; @@ -285,6 +308,8 @@ interface MapStepContext< destination: TDestination; extraArguments: Record | undefined; extraArgs: MapOptions['extraArgs']; + // reusable options object for nested map() recursion (shared, read-only) + nestedOptions: MapOptions; mapper: Mapper; errorHandler: ErrorHandler; destinationIdentifier: MetadataIdentifier; @@ -309,7 +334,6 @@ function assignResolved< destinationMemberPath: string[], ctx: MapStepContext ): void { - const setValue = ctx.setMemberFn(destinationMemberPath, ctx.destination); if (isThenable(value)) { if (asyncMapContext === null) { throw new Error( @@ -319,7 +343,13 @@ function assignResolved< asyncMapContext.pending.push( Promise.resolve(value) - .then(setValue) + .then((resolved) => + ctx.setMemberFn( + destinationMemberPath, + ctx.destination, + resolved + ) + ) .catch((originalError) => { throw makeMemberError( destinationMemberPath, @@ -331,7 +361,7 @@ function assignResolved< ); return; } - setValue(value); + ctx.setMemberFn(destinationMemberPath, ctx.destination, value); } // Assign a precomputed auto-map value (its production already happened). This is @@ -350,14 +380,16 @@ function assignMember< ctx: MapStepContext ): void { try { - const setValue = ctx.setMemberFn( - destinationMemberPath, - ctx.destination - ); if (asyncMapContext !== null && isThenable(value)) { asyncMapContext.pending.push( Promise.resolve(value) - .then(setValue) + .then((resolved) => + ctx.setMemberFn( + destinationMemberPath, + ctx.destination, + resolved + ) + ) .catch((originalError) => { throw makeMemberError( destinationMemberPath, @@ -369,7 +401,7 @@ function assignMember< ); return; } - setValue(value); + ctx.setMemberFn(destinationMemberPath, ctx.destination, value); } catch (originalError) { throw makeMemberError( destinationMemberPath, @@ -422,8 +454,40 @@ function compileStep< sourceMemberIdentifier, } = prop; - // Everything that isn't MapInitialize dispatches through mapMember(); no - // identifier/value-shape inspection is needed here. + // MapFrom is the most common member transform. Call the selector directly + // and assign, skipping both the per-member `() => mapMember(...)` thunk and + // the mapMember() type switch — mapMember's MapFrom arm is exactly + // `value = mapFn(sourceObject)` (no implicit member mapping), so this is + // equivalent. One try/catch wraps production + assignment in a single + // MapMemberError, matching setMemberValue. + if (transformationType === TransformationType.MapFrom) { + const mapFromFn = transformationMapFn[MapFnClassId.fn] as ( + source: TSource + ) => unknown; + return (ctx) => { + if (preCond && !preCond(ctx.sourceObject)) { + assignMember(preCondDefault, destinationMemberPath, ctx); + return; + } + try { + assignResolved( + mapFromFn(ctx.sourceObject), + destinationMemberPath, + ctx + ); + } catch (originalError) { + throw makeMemberError( + destinationMemberPath, + ctx.destinationIdentifier, + ctx.errorHandler, + originalError + ); + } + }; + } + + // Everything else that isn't MapInitialize dispatches through mapMember(); + // no identifier/value-shape inspection is needed here. if (transformationType !== TransformationType.MapInitialize) { return (ctx) => { if (preCond && !preCond(ctx.sourceObject)) { @@ -472,9 +536,21 @@ function compileStep< const mapInitializedValue = mapInitializeFn(ctx.sourceObject); - // a same identifier that isn't a primitive/Date AND has no mapping of - // its own — assigned as-is. getMapping is only consulted when the - // (invariant) candidate held, so primitives never hit the registry. + // Scalar fast-path: null/undefined and primitives are assigned as-is and + // can never be a Date/File/Array or carry a nested mapping of their own, + // so they skip the identifier registry probe and the Date/File tag checks + // entirely. This is the bulk of @AutoMap members (same-name primitives). + if ( + mapInitializedValue == null || + typeof mapInitializedValue !== 'object' + ) { + assignMember(mapInitializedValue, destinationMemberPath, ctx); + return; + } + + // From here mapInitializedValue is a non-null object. A same identifier + // that isn't a Date/File AND has no mapping of its own is assigned as-is; + // getMapping is only consulted when the (invariant) candidate held. const hasSameIdentifier = sameIdentifierCandidate && !getMapping( @@ -485,10 +561,8 @@ function compileStep< ); if ( - mapInitializedValue == null || mapInitializedValue instanceof Date || - Object.prototype.toString.call(mapInitializedValue).slice(8, -1) === - 'File' || + isFileTagged(mapInitializedValue) || hasSameIdentifier || isTypedConverted ) { @@ -498,11 +572,12 @@ function compileStep< if (Array.isArray(mapInitializedValue)) { const [first] = mapInitializedValue; - // primitive/Date/File element array — shallow copy + // primitive/Date/File element array — shallow copy. isFileTagged is + // null-safe, so a null first element falls through to isEmpty below. if ( typeof first !== 'object' || first instanceof Date || - Object.prototype.toString.call(first).slice(8, -1) === 'File' + isFileTagged(first) ) { assignMember( mapInitializedValue.slice(), @@ -532,7 +607,7 @@ function compileStep< destinationMemberIdentifier as MetadataIdentifier ), each, - { extraArgs: ctx.extraArgs } + ctx.nestedOptions ) ), destinationMemberPath, @@ -541,44 +616,41 @@ function compileStep< return; } - if (typeof mapInitializedValue === 'object') { - const nestedMapping = getMapping( - ctx.mapper, - sourceMemberIdentifier as MetadataIdentifier, - destinationMemberIdentifier as MetadataIdentifier - ); + // non-null, non-array object: map it through its nested mapping. (The + // scalar fast-path above already handled primitives, so this is the only + // remaining case — no `typeof === 'object'` guard needed.) + const nestedMapping = getMapping( + ctx.mapper, + sourceMemberIdentifier as MetadataIdentifier, + destinationMemberIdentifier as MetadataIdentifier + ); - // nested mutate — recurse directly (unwrapped, as before) - if (ctx.getMemberFn) { - const memberValue = ctx.getMemberFn(destinationMemberPath); - if (memberValue !== undefined) { - map({ - sourceObject: mapInitializedValue as TSource, - mapping: nestedMapping, - options: { extraArgs: ctx.extraArgs }, - setMemberFn: setMemberMutateFn(memberValue), - getMemberFn: getMemberMutateFn(memberValue), - }); - } - return; + // nested mutate — recurse directly (unwrapped, as before) + if (ctx.getMemberFn) { + const memberValue = ctx.getMemberFn(destinationMemberPath); + if (memberValue !== undefined) { + map({ + sourceObject: mapInitializedValue as TSource, + mapping: nestedMapping, + options: ctx.nestedOptions, + setMemberFn: setMemberMutateFn(memberValue), + getMemberFn: getMemberMutateFn(memberValue), + }); } - - setMemberValue( - () => - map({ - mapping: nestedMapping, - sourceObject: mapInitializedValue as TSource, - options: { extraArgs: ctx.extraArgs }, - setMemberFn: setMemberReturnFn, - }), - destinationMemberPath, - ctx - ); return; } - // primitive - assignMember(mapInitializedValue, destinationMemberPath, ctx); + setMemberValue( + () => + map({ + mapping: nestedMapping, + sourceObject: mapInitializedValue as TSource, + options: ctx.nestedOptions, + setMemberFn: setMemberReturnFn, + }), + destinationMemberPath, + ctx + ); }; } @@ -588,7 +660,8 @@ export function buildMapPlan< TSource extends Dictionary, TDestination extends Dictionary >( - propsToMap: Mapping[MappingClassId.properties] + propsToMap: Mapping[MappingClassId.properties], + destinationMetadata: TDestination ): CompiledMapping { const { props, configuredKeys } = compileMapping( propsToMap @@ -597,7 +670,16 @@ export function buildMapPlan< for (let i = 0, length = props.length; i < length; i++) { steps[i] = compileStep(props[i]); } - return { props, configuredKeys, steps }; + // Precompute the unmapped-candidate residual (writable destination keys this + // mapping doesn't configure) once, here, so assertUnmappedProperties never + // rebuilds a per-call Set nor rescans the full writable-key list on the hot + // path (it runs on every map() / every mapArray element). + const unmappedCandidateKeys = computeUnmappedCandidateKeys( + destinationMetadata as object, + configuredKeys + ); + // props + configuredKeys are build-time only — not retained on the plan. + return { steps, unmappedCandidateKeys }; } export function map< @@ -642,15 +724,21 @@ export function map< // get extraArguments const extraArguments = extraArgs?.(mapping, destination); + // One options object reused by every nested map() (object members, + // object-array elements, nested mutate) instead of allocating + // `{ extraArgs }` per nested call. options is read-only in map(), so a + // shared instance is safe. + const nestedOptions: MapOptions = { extraArgs }; + // Compiled plan (specialized step closures + configured keys). Built eagerly // at createMap and hung on the mapping; the lazy fallback only fires for a // mapping constructed outside the normal createMap path. let compiledPlan = mapping[MappingClassId.compiledPlan]; if (compiledPlan === undefined) { - compiledPlan = buildMapPlan(propsToMap); + compiledPlan = buildMapPlan(propsToMap, destinationWithMetadata); mapping[MappingClassId.compiledPlan] = compiledPlan; } - const { steps, configuredKeys } = compiledPlan; + const { steps, unmappedCandidateKeys } = compiledPlan; // Build the per-call context once, then run each compiled step. All the // per-member branching/destructuring was resolved at compile time. @@ -659,6 +747,7 @@ export function map< destination, extraArguments, extraArgs, + nestedOptions, mapper, errorHandler, destinationIdentifier, @@ -686,8 +775,7 @@ export function map< assertUnmappedProperties( destination, - destinationWithMetadata, - configuredKeys, + unmappedCandidateKeys, sourceIdentifier, destinationIdentifier, errorHandler @@ -719,8 +807,7 @@ export function map< // this assertion runs inside the gated async work as well. assertUnmappedProperties( destination, - destinationWithMetadata, - configuredKeys, + unmappedCandidateKeys, sourceIdentifier, destinationIdentifier, errorHandler diff --git a/packages/core/src/lib/naming-conventions/snake-case-naming-convention.ts b/packages/core/src/lib/naming-conventions/snake-case-naming-convention.ts index 637a0f4f9..d704b2ed6 100644 --- a/packages/core/src/lib/naming-conventions/snake-case-naming-convention.ts +++ b/packages/core/src/lib/naming-conventions/snake-case-naming-convention.ts @@ -16,8 +16,12 @@ export class SnakeCaseNamingConvention implements NamingConvention { return sourcePropNameParts[0].toLowerCase() || ''; } - return sourcePropNameParts - .map((p) => p.toLowerCase()) - .join(this.separatorCharacter); + // indexed build instead of map().join() — one pass, no intermediate + // array (compile-time; byte-identical output). + let result = sourcePropNameParts[0].toLowerCase(); + for (let i = 1; i < len; i++) { + result += this.separatorCharacter + sourcePropNameParts[i].toLowerCase(); + } + return result; } } diff --git a/packages/core/src/lib/types.ts b/packages/core/src/lib/types.ts index 67576d3a2..2e497b1ef 100644 --- a/packages/core/src/lib/types.ts +++ b/packages/core/src/lib/types.ts @@ -564,10 +564,22 @@ export type CompiledMapStep = (context: any) => void; export interface CompiledMapping< TSource extends Dictionary = any, TDestination extends Dictionary = any +> { + steps: CompiledMapStep[]; + // writable destination keys this mapping does not configure, precomputed at + // createMap so assertUnmappedProperties does no per-call Set/scan work. + unmappedCandidateKeys: string[]; +} + +// Build-time intermediate produced by compileMapping(): `props` + `configuredKeys` +// are consumed by buildMapPlan() to make `steps` + `unmappedCandidateKeys` and are +// NOT retained on the compiled plan (nothing reads them at runtime). +export interface CompiledMappingDescriptors< + TSource extends Dictionary = any, + TDestination extends Dictionary = any > { props: CompiledMappingProperty[]; configuredKeys: string[]; - steps: CompiledMapStep[]; } export const enum MappingClassId { diff --git a/packages/core/src/lib/utils/assert-unmapped-properties.ts b/packages/core/src/lib/utils/assert-unmapped-properties.ts index 1224b3c33..017d72613 100644 --- a/packages/core/src/lib/utils/assert-unmapped-properties.ts +++ b/packages/core/src/lib/utils/assert-unmapped-properties.ts @@ -5,9 +5,9 @@ import type { MetadataIdentifier, } from '../types'; -// The writable keys of a destinationMetadata are fixed per mapping, but -// assertUnmappedProperties runs on every map() (per element in mapArray). -// Cache the Object.keys + getOwnPropertyDescriptor work per metadata object. +// The writable keys of a destinationMetadata are fixed per mapping. Cache the +// Object.keys + getOwnPropertyDescriptor work per metadata object (shared across +// mappings that target the same destination). const writableKeysCache = new WeakMap(); function getWritableKeys(destinationMetadata: object): string[] { @@ -23,27 +23,54 @@ function getWritableKeys(destinationMetadata: object): string[] { return keys; } +// Compile-time half: the writable destination keys this mapping does NOT +// configure. Computed once per mapping at createMap (buildMapPlan) and hung on +// the compiled plan, so map() never rebuilds a `new Set(configuredKeys)` nor +// re-scans the full writable-key list on every call / every mapArray element. +// Per-mapping, NOT cached on the metadata alone: two mappings can share a +// destination-metadata object yet configure different keys. +export function computeUnmappedCandidateKeys( + destinationMetadata: object, + configuredKeys: string[] +): string[] { + const writableKeys = getWritableKeys(destinationMetadata); + const configured = new Set(configuredKeys); + + const candidates: string[] = []; + for (let i = 0, len = writableKeys.length; i < len; i++) { + const key = writableKeys[i]; + if (!configured.has(key)) { + candidates.push(key); + } + } + return candidates; +} + /** + * Runtime half: of the precomputed unmapped-candidate keys, report those the + * mapping left unpopulated (absent from the destination AND undefined). Runs on + * every map() (per element in mapArray); the candidate list is precomputed at + * createMap so this is only a per-key presence check. + * * Depends on implementation of strategy.createMapping */ export function assertUnmappedProperties< TDestination extends Dictionary >( destinationObject: TDestination, - destinationMetadata: TDestination, - configuredKeys: string[], + unmappedCandidateKeys: string[], sourceIdentifier: MetadataIdentifier, destinationIdentifier: MetadataIdentifier, errorHandler: ErrorHandler ) { - const writableKeys = getWritableKeys(destinationMetadata as object); - const configured = new Set(configuredKeys); + if (unmappedCandidateKeys.length === 0) { + return; + } const unmappedKeys: string[] = []; - for (let i = 0, len = writableKeys.length; i < len; i++) { - const key = writableKeys[i]; + for (let i = 0, len = unmappedCandidateKeys.length; i < len; i++) { + const key = unmappedCandidateKeys[i]; if ( - !configured.has(key) && !(key in destinationObject) && destinationObject[key as keyof typeof destinationObject] === undefined diff --git a/packages/core/src/lib/utils/get-path-recursive.ts b/packages/core/src/lib/utils/get-path-recursive.ts index a7fa9ac29..ed840cfc6 100644 --- a/packages/core/src/lib/utils/get-path-recursive.ts +++ b/packages/core/src/lib/utils/get-path-recursive.ts @@ -1,6 +1,6 @@ import { uniquePaths } from './unique-path'; -const EXCLUDE_KEYS = [ +const EXCLUDE_KEYS = new Set([ 'constructor', '__defineGetter__', '__defineSetter__', @@ -13,7 +13,7 @@ const EXCLUDE_KEYS = [ 'valueOf', '__proto__', 'toLocaleString', -]; +]); export function getPathRecursive( node: Record, @@ -24,12 +24,11 @@ export function getPathRecursive( let hasChildPaths = false; - const keys = Array.from( - new Set( - [...Object.getOwnPropertyNames(node)].filter( - (key) => !EXCLUDE_KEYS.includes(key) - ) - ) + // Object.getOwnPropertyNames already returns unique keys, so the previous + // Array.from(new Set(...)) dedup removed nothing. Cross-node dedup (the only + // place a path can repeat) is still done by uniquePaths(result) below. + const keys = Object.getOwnPropertyNames(node).filter( + (key) => !EXCLUDE_KEYS.has(key) ); for (let i = 0, len = keys.length; i < len; i++) { diff --git a/packages/core/src/lib/utils/get-path.ts b/packages/core/src/lib/utils/get-path.ts index 3a3842eeb..7cf3124cb 100644 --- a/packages/core/src/lib/utils/get-path.ts +++ b/packages/core/src/lib/utils/get-path.ts @@ -24,16 +24,19 @@ export function getFlatteningPaths( namingConventions: [NamingConvention, NamingConvention] ): string[] { const [sourceNamingConvention] = namingConventions; + + // single-segment path that already exists on source: no flattening needed — + // return before doing the regex split work. + if (srcPath.length === 1 && hasProperty(src, srcPath[0])) { + return srcPath; + } + const splitSourcePaths: string[] = ([] as string[]).concat( ...srcPath.map((s) => s.split(sourceNamingConvention.splittingExpression).filter(Boolean) ) ); - if (srcPath.length === 1 && hasProperty(src, srcPath[0])) { - return srcPath; - } - const [first, ...paths] = splitSourcePaths.slice( 0, splitSourcePaths.length - 1 diff --git a/packages/core/src/lib/utils/get.ts b/packages/core/src/lib/utils/get.ts index ac30b38b2..8081381e6 100644 --- a/packages/core/src/lib/utils/get.ts +++ b/packages/core/src/lib/utils/get.ts @@ -3,6 +3,15 @@ export function get(object: T, path: (string | symbol)[] = []): unknown { return; } + // flat-member fast path: the dominant case is a single-segment path (a + // top-level source/destination member). Skip the loop + the trailing + // index===length bookkeeping entirely. + if (path.length === 1) { + return object == null + ? undefined + : (object as Record)[path[0] as string]; + } + let index: number; const length = path.length; diff --git a/packages/core/src/lib/utils/path-key.ts b/packages/core/src/lib/utils/path-key.ts new file mode 100644 index 000000000..d20f39532 --- /dev/null +++ b/packages/core/src/lib/utils/path-key.ts @@ -0,0 +1,12 @@ +/** + * Serialize a member path (e.g. `['address', 'street']`) into a single string + * usable as a `Set`/`Map` key. The `\0` separator is collision-proof for string + * property segments, so `pathKey(a) === pathKey(b)` is equivalent to comparing + * the arrays element-by-element (see `isSamePath` / `isPrimitiveArrayEqual`). + * + * Used by the compile-time path (createMap) to index/dedupe paths in O(1) + * instead of repeated linear array-equality scans. + */ +export function pathKey(path: readonly string[]): string { + return path.join('\0'); +} diff --git a/packages/core/src/lib/utils/specs/assert-unmapped-properties.spec.ts b/packages/core/src/lib/utils/specs/assert-unmapped-properties.spec.ts new file mode 100644 index 000000000..c5738292e --- /dev/null +++ b/packages/core/src/lib/utils/specs/assert-unmapped-properties.spec.ts @@ -0,0 +1,136 @@ +import { + assertUnmappedProperties, + computeUnmappedCandidateKeys, +} from '../assert-unmapped-properties'; +import type { ErrorHandler } from '../../types'; + +// A destination-metadata object as the strategies build it: enumerable data +// properties are writable members; a non-writable value and an accessor must be +// ignored (they are not assignable destination members). +function makeMetadata(): Record { + const meta: Record = {}; + Object.defineProperties(meta, { + firstName: { value: undefined, writable: true, enumerable: true }, + lastName: { value: undefined, writable: true, enumerable: true }, + fullName: { value: undefined, writable: true, enumerable: true }, + age: { value: undefined, writable: true, enumerable: true }, + id: { value: 1, writable: false, enumerable: true }, // non-writable + computed: { get: () => 1, enumerable: true }, // accessor (getter-only) + }); + return meta; +} + +const srcId = Symbol.for('UnmappedSrc'); +const destId = Symbol.for('UnmappedDest'); + +function recordingHandler(): ErrorHandler & { messages: unknown[] } { + const messages: unknown[] = []; + return { messages, handle: (e: unknown) => messages.push(e) }; +} + +describe('computeUnmappedCandidateKeys', () => { + it('returns writable metadata keys that are not configured, in metadata order', () => { + const meta = makeMetadata(); + expect( + computeUnmappedCandidateKeys(meta, ['firstName', 'fullName']) + ).toEqual(['lastName', 'age']); + }); + + it('excludes non-writable and accessor (getter-only) metadata keys', () => { + const meta = makeMetadata(); + const result = computeUnmappedCandidateKeys(meta, []); + expect(result).toEqual(['firstName', 'lastName', 'fullName', 'age']); + expect(result).not.toContain('id'); + expect(result).not.toContain('computed'); + }); + + it('ignores configured keys that are not present in the metadata', () => { + const meta = makeMetadata(); + expect( + computeUnmappedCandidateKeys(meta, [ + 'notThere', + 'firstName', + 'lastName', + 'fullName', + 'age', + ]) + ).toEqual([]); + }); + + it('recomputes per call: same metadata object, different configured sets => different residuals (not cached per metadata)', () => { + const meta = makeMetadata(); + expect(computeUnmappedCandidateKeys(meta, ['firstName'])).toEqual([ + 'lastName', + 'fullName', + 'age', + ]); + // SAME metadata object — a residual cached on the metadata alone would be + // unsound, since another mapping to the same destination has its own + // configured keys. + expect( + computeUnmappedCandidateKeys(meta, [ + 'firstName', + 'lastName', + 'fullName', + 'age', + ]) + ).toEqual([]); + }); +}); + +describe('assertUnmappedProperties (precomputed candidates)', () => { + it('reports candidate keys that are absent and undefined on the destination', () => { + const h = recordingHandler(); + assertUnmappedProperties({}, ['lastName', 'age'], srcId, destId, h); + expect(h.messages).toHaveLength(1); + expect(String(h.messages[0])).toContain('lastName'); + expect(String(h.messages[0])).toContain('age'); + }); + + it('does not report a candidate that was assigned a value', () => { + const h = recordingHandler(); + assertUnmappedProperties( + { lastName: 'x' }, + ['lastName', 'age'], + srcId, + destId, + h + ); + expect(h.messages).toHaveLength(1); + const msg = String(h.messages[0]); + expect(msg).toContain('age'); + expect(msg).not.toContain('lastName'); + }); + + it('does not report a candidate present on the destination even if its value is undefined', () => { + const h = recordingHandler(); + // key present (own) though undefined -> `!(key in dest)` is false -> skip + assertUnmappedProperties({ age: undefined }, ['age'], srcId, destId, h); + expect(h.messages).toHaveLength(0); + }); + + it('does not report a candidate inherited via the prototype chain', () => { + const h = recordingHandler(); + const dest = Object.create({ age: 1 }); // `'age' in dest` === true (inherited) + assertUnmappedProperties(dest, ['age'], srcId, destId, h); + expect(h.messages).toHaveLength(0); + }); + + it('does not invoke the error handler when there are no candidate keys', () => { + const h = recordingHandler(); + assertUnmappedProperties({}, [], srcId, destId, h); + expect(h.messages).toHaveLength(0); + }); + + it('does not invoke the error handler when all candidates are populated', () => { + const h = recordingHandler(); + assertUnmappedProperties( + { lastName: 'x', age: 3 }, + ['lastName', 'age'], + srcId, + destId, + h + ); + expect(h.messages).toHaveLength(0); + }); +}); diff --git a/packages/core/src/lib/utils/specs/get-path-recursive.spec.ts b/packages/core/src/lib/utils/specs/get-path-recursive.spec.ts new file mode 100644 index 000000000..7625056fd --- /dev/null +++ b/packages/core/src/lib/utils/specs/get-path-recursive.spec.ts @@ -0,0 +1,37 @@ +import { getPathRecursive } from '../get-path-recursive'; + +describe('getPathRecursive', () => { + // Diamond shape: a nested object shared under two keys (a, b), an array of + // differing-shape objects, and a scalar. Pins byte-identical, order-identical + // output so this cleanup (drop the redundant own-name Set dedup; module + // Set for EXCLUDE_KEYS) is provably behavior-preserving — cross-node dedup is + // done by uniquePaths(), which this cleanup leaves untouched. + it('produces stable, deduped paths for a diamond shape', () => { + const shared = { id: 1 }; + const node: Record = { + a: shared, + b: shared, + items: [{ name: 'x' }, { value: 2 }], + scalar: 5, + }; + + expect(getPathRecursive(node)).toEqual([ + ['a'], + ['a', 'id'], + ['b'], + ['b', 'id'], + ['items'], + ['items', 'name'], + ['items', 'value'], + ['scalar'], + ]); + }); + + it('skips function members and prototype/built-in keys', () => { + const node: Record = { + keep: 1, + fn: () => 0, + }; + expect(getPathRecursive(node)).toEqual([['keep']]); + }); +}); diff --git a/packages/core/src/lib/utils/specs/get.spec.ts b/packages/core/src/lib/utils/specs/get.spec.ts index f0cdd9212..78a07f8ba 100644 --- a/packages/core/src/lib/utils/specs/get.spec.ts +++ b/packages/core/src/lib/utils/specs/get.spec.ts @@ -35,4 +35,21 @@ describe('get', () => { const result = get(obj); expect(result).toEqual(undefined); }); + + // single-segment path (the flat-member fast path) + it('should return a single-segment leaf value', () => { + expect(get({ foo: 'bar' }, ['foo'])).toEqual('bar'); + }); + + it('should return null for a single-segment null value', () => { + expect(get({ foo: null }, ['foo'])).toEqual(null); + }); + + it('should return undefined for a single-segment unknown key', () => { + expect(get({ foo: 'bar' }, ['baz'])).toEqual(undefined); + }); + + it('should return undefined for a single-segment path on a null object', () => { + expect(get(null, ['foo'])).toEqual(undefined); + }); }); diff --git a/packages/core/src/lib/utils/store-metadata.ts b/packages/core/src/lib/utils/store-metadata.ts index 776c39d56..9968592af 100644 --- a/packages/core/src/lib/utils/store-metadata.ts +++ b/packages/core/src/lib/utils/store-metadata.ts @@ -11,14 +11,16 @@ export function storeMetadata( if (!isDefined(metadataList)) return; const metadataMap = getMetadataMap(mapper); if (metadataMap.has(model)) return; + + // Build the stored list once (push in place) instead of spreading the whole + // accumulated array per property — that was O(P^2) per createMap. The + // `has(model)` guard above guarantees there is no existing entry to seed. + const list: NonNullable> = []; for (const [ propertyKey, { isGetterOnly, type, depth, isArray }, ] of metadataList) { - metadataMap.set(model, [ - ...(metadataMap.get(model) || []), - [[propertyKey], type, isArray, isGetterOnly], - ]); + list.push([[propertyKey], type, isArray, isGetterOnly]); if (depth != null) { setRecursiveValue( @@ -29,4 +31,5 @@ export function storeMetadata( ); } } + metadataMap.set(model, list); } diff --git a/packages/integration-test/src/classes/automap-inheritance.spec.ts b/packages/integration-test/src/classes/automap-inheritance.spec.ts new file mode 100644 index 000000000..e681e0c40 --- /dev/null +++ b/packages/integration-test/src/classes/automap-inheritance.spec.ts @@ -0,0 +1,35 @@ +import { AutoMap, getMetadataList } from '@automapper/classes'; + +// Guards inheritance: the @AutoMap decorator now pushes onto the class's OWN metadata +// list (O(1)) and seeds a subclass from inherited metadata via slice(). This +// must NOT mutate the parent's metadata, and a subclass must keep parent members. +describe('@AutoMap inheritance (own-list push + sliced seed)', () => { + class Parent { + @AutoMap(() => String) a!: string; + @AutoMap(() => String) b!: string; + } + class Child extends Parent { + @AutoMap(() => String) c!: string; + } + class ChildNoDecl extends Parent {} + + const keys = (model: object) => + getMetadataList(model as never)[0].map(([key]) => key); + + it('parent exposes only its own members', () => { + expect(keys(Parent)).toEqual(['a', 'b']); + }); + + it('subclass keeps parent members and appends its own', () => { + expect(keys(Child)).toEqual(['a', 'b', 'c']); + }); + + it('subclass with no own decorators inherits parent members', () => { + expect(keys(ChildNoDecl)).toEqual(['a', 'b']); + }); + + it('decorating the subclass did not mutate the parent', () => { + // re-read parent after Child/ChildNoDecl were defined+decorated + expect(keys(Parent)).toEqual(['a', 'b']); + }); +}); diff --git a/packages/integration-test/src/pojos/map-from-resolver-paths.spec.ts b/packages/integration-test/src/pojos/map-from-resolver-paths.spec.ts new file mode 100644 index 000000000..58708932f --- /dev/null +++ b/packages/integration-test/src/pojos/map-from-resolver-paths.spec.ts @@ -0,0 +1,58 @@ +import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; +import { pojos, PojosMetadataMap } from '@automapper/pojos'; + +// Characterizes the mapFrom member path across return/mutate/error so the +// the per-member-writer + inlined-mapFrom refactor stays +// behavior-preserving. +describe('mapFrom resolver paths (return / mutate / error)', () => { + afterEach(() => { + PojosMetadataMap.reset(); + }); + + function setup(resolver: (s: { a: string }) => unknown) { + const mapper = createMapper({ strategyInitializer: pojos() }); + PojosMetadataMap.create('Src', { a: String, b: String }); + PojosMetadataMap.create('Dst', { a: String, b: String }); + createMap( + mapper, + 'Src', + 'Dst', + forMember( + (d: { b: unknown }) => d.b, + mapFrom(resolver as never) + ) + ); + return mapper; + } + + it('writes the mapFrom-computed value on the return path', () => { + const mapper = setup((s) => s.a.toUpperCase()); + const dto = mapper.map({ a: 'x' }, 'Src', 'Dst') as { + a: string; + b: string; + }; + expect(dto).toEqual({ a: 'x', b: 'X' }); + }); + + it('wraps a throwing resolver (original error surfaced once)', () => { + const mapper = setup(() => { + throw new Error('boom'); + }); + expect(() => mapper.map({ a: 'x' }, 'Src', 'Dst')).toThrow(/boom/); + }); + + it('applies mapFrom onto an existing object on the mutate path', () => { + const mapper = setup((s) => s.a.toUpperCase()); + const dest = { a: 'old', b: 'old' }; + mapper.mutate({ a: 'x' }, dest, 'Src', 'Dst'); + expect(dest).toEqual({ a: 'x', b: 'X' }); + }); + + it('mutate skips an undefined resolver result (preserves the existing value)', () => { + const mapper = setup(() => undefined); + const dest = { a: 'old', b: 'keepme' }; + mapper.mutate({ a: 'x' }, dest, 'Src', 'Dst'); + expect(dest.b).toBe('keepme'); // undefined is NOT written on mutate + expect(dest.a).toBe('x'); + }); +}); diff --git a/packages/integration-test/src/pojos/map-initialize-value-branch.spec.ts b/packages/integration-test/src/pojos/map-initialize-value-branch.spec.ts new file mode 100644 index 000000000..422bedae5 --- /dev/null +++ b/packages/integration-test/src/pojos/map-initialize-value-branch.spec.ts @@ -0,0 +1,102 @@ +import { createMap, createMapper, type Mapper } from '@automapper/core'; +import { pojos, PojosMetadataMap } from '@automapper/pojos'; + +// Characterization of the MapInitialize value branch in compileStep (map.ts): +// primitives, Date instances, and File values are assigned AS-IS (never deep +// mapped / cloned), and File is detected by its `[object File]` tag. These pin +// the behavior refactored here (scalar fast-path ordering + Symbol.toStringTag +// File detection) so the refactor is provably behavior-preserving. +describe('MapInitialize value branch (Date / File / array)', () => { + let mapper: Mapper; + + beforeEach(() => { + mapper = createMapper({ strategyInitializer: pojos() }); + }); + + afterEach(() => { + mapper.dispose(); + PojosMetadataMap.reset(); + }); + + it('assigns a Date member as-is (same value, still a Date — not cloned/mapped)', () => { + PojosMetadataMap.create('HasDate', { when: Date }); + PojosMetadataMap.create('HasDateDto', { when: Date }); + createMap(mapper, 'HasDate', 'HasDateDto'); + + const when = new Date('2020-01-02T03:04:05.000Z'); + const dto = mapper.map({ when }, 'HasDate', 'HasDateDto') as { + when: Date; + }; + + expect(dto.when).toBeInstanceOf(Date); + expect(dto.when.getTime()).toBe(when.getTime()); + }); + + it('assigns a File value as-is via its tag, even when src/dest member identifiers differ', () => { + // Different nested identifiers => sameIdentifier is false, so without the + // File detection this would fall into the object branch and throw + // (no SrcDoc -> DstDoc mapping registered). + PojosMetadataMap.create('HasDoc', { doc: 'SrcDoc' }); + PojosMetadataMap.create('HasDocDto', { doc: 'DstDoc' }); + createMap(mapper, 'HasDoc', 'HasDocDto'); + + // Object.prototype.toString.call(fileLike) === '[object File]' + const fileLike = { [Symbol.toStringTag]: 'File', name: 'a.txt' }; + const dto = mapper.map({ doc: fileLike }, 'HasDoc', 'HasDocDto') as { + doc: unknown; + }; + + expect(dto.doc).toBe(fileLike); + }); + + it('does NOT treat a plain object whose class is named "File" as a File (tag, not constructor.name)', () => { + // Discriminates Symbol.toStringTag (correct) from constructor.name (wrong): + // this object has constructor.name === 'File' but no '[object File]' tag, + // so it must go through the normal object (nested-map) branch. + class File { + value = 1; + } + PojosMetadataMap.create('HasObj', { obj: 'SrcObj' }); + PojosMetadataMap.create('HasObjDto', { obj: 'DstObj' }); + PojosMetadataMap.create('SrcObj', { value: Number }); + PojosMetadataMap.create('DstObj', { value: Number }); + createMap(mapper, 'SrcObj', 'DstObj'); + createMap(mapper, 'HasObj', 'HasObjDto'); + + const dto = mapper.map({ obj: new File() }, 'HasObj', 'HasObjDto') as { + obj: { value: number }; + }; + + expect(dto.obj).not.toBeInstanceOf(File); + expect(dto.obj.value).toBe(1); + }); + + it('shallow-copies an array of File values (new array, elements by reference)', () => { + PojosMetadataMap.create('HasDocs', { docs: ['SrcDoc'] }); + PojosMetadataMap.create('HasDocsDto', { docs: ['DstDoc'] }); + createMap(mapper, 'HasDocs', 'HasDocsDto'); + + const fileLike = { [Symbol.toStringTag]: 'File', name: 'a.txt' }; + const input = [fileLike]; + const dto = mapper.map({ docs: input }, 'HasDocs', 'HasDocsDto') as { + docs: unknown[]; + }; + + expect(dto.docs).not.toBe(input); + expect(dto.docs[0]).toBe(fileLike); + }); + + it('assigns a primitive scalar member as-is', () => { + PojosMetadataMap.create('HasNum', { n: Number, s: String }); + PojosMetadataMap.create('HasNumDto', { n: Number, s: String }); + createMap(mapper, 'HasNum', 'HasNumDto'); + + const dto = mapper.map({ n: 42, s: 'hi' }, 'HasNum', 'HasNumDto') as { + n: number; + s: string; + }; + + expect(dto.n).toBe(42); + expect(dto.s).toBe('hi'); + }); +}); diff --git a/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts b/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts new file mode 100644 index 000000000..9b3d55592 --- /dev/null +++ b/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts @@ -0,0 +1,73 @@ +import { createMap, createMapper, extend, forMember, mapFrom } from '@automapper/core'; +import { pojos, PojosMetadataMap, type PojosMetadata } from '@automapper/pojos'; + +// Exercises the size-gated cold-path branches (metadata index, extend +// Set) which only trigger above ~30 properties — wider than any class in the rest +// of the suite, so without this they'd be uncovered. Asserts the gated paths +// produce the same results as the small-class .find paths. +const WIDTH = 40; // > the 30 gate + +function wideMeta(): PojosMetadata { + const meta: PojosMetadata = {}; + for (let i = 0; i < WIDTH; i++) meta['p' + i] = String; + return meta; +} + +function wideSource(): Record { + const src: Record = {}; + for (let i = 0; i < WIDTH; i++) src['p' + i] = 'v' + i; + return src; +} + +describe('wide mapping (size-gated cold paths)', () => { + afterEach(() => { + PojosMetadataMap.reset(); + }); + + it('maps every member of a >30-property class (metadata index gate)', () => { + const mapper = createMapper({ strategyInitializer: pojos() }); + PojosMetadataMap.create('WideSrc', wideMeta()); + PojosMetadataMap.create('WideDst', wideMeta()); + createMap(mapper, 'WideSrc', 'WideDst'); + + const dto = mapper.map(wideSource(), 'WideSrc', 'WideDst') as Record< + string, + string + >; + + for (let i = 0; i < WIDTH; i++) { + expect(dto['p' + i]).toBe('v' + i); + } + }); + + it('extend copies a >30-property base, preserving an existing custom member (extend Set gate)', () => { + const mapper = createMapper({ strategyInitializer: pojos() }); + PojosMetadataMap.create('BaseSrc', wideMeta()); + PojosMetadataMap.create('BaseDst', wideMeta()); + PojosMetadataMap.create('ChildSrc', wideMeta()); + PojosMetadataMap.create('ChildDst', wideMeta()); + + createMap(mapper, 'BaseSrc', 'BaseDst'); + createMap( + mapper, + 'ChildSrc', + 'ChildDst', + // a pre-existing custom member must NOT be overwritten by extend + forMember( + (d: Record) => d['p0'], + mapFrom(() => 'CUSTOM') + ), + extend('BaseSrc', 'BaseDst') + ); + + const dto = mapper.map(wideSource(), 'ChildSrc', 'ChildDst') as Record< + string, + string + >; + + expect(dto['p0']).toBe('CUSTOM'); // dedup: existing custom wins + for (let i = 1; i < WIDTH; i++) { + expect(dto['p' + i]).toBe('v' + i); + } + }); +}); From a17295d40fd3fc365b76e95a8dcf9e4f461efeb3 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Mon, 22 Jun 2026 22:27:19 -0400 Subject: [PATCH 41/73] feat!: remove @automapper/zod package - drop the @automapper/zod strategy entirely for 9.0: niche audience and it coupled to zod's private internals (_zod.def), a recurring maintenance tax that already broke on the zod 3->4 jump - never published to npm, so there is no consumer migration path to provide; schema-first users should reshape with zod .transform() or map between plain validated models directly - purge references: tsconfig paths, nx release projects, root devDep, vitest alias, commitizen scope, build/check/peer-dep scripts; regenerate lockfile BREAKING CHANGE: @automapper/zod is removed in 9.0. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- .cz-config.js | 1 - nx.json | 3 +- package.json | 3 +- packages/zod/.eslintrc.json | 18 ---- packages/zod/README.md | 11 --- packages/zod/package.json | 42 --------- packages/zod/project.json | 39 -------- packages/zod/src/index.ts | 1 - packages/zod/src/lib/zod.spec.ts | 104 ---------------------- packages/zod/src/lib/zod.ts | 138 ----------------------------- packages/zod/tsconfig.json | 22 ----- packages/zod/tsconfig.lib.json | 10 --- packages/zod/tsconfig.spec.json | 17 ---- packages/zod/vitest.config.ts | 3 - pnpm-lock.yaml | 7 -- tools/scripts/build-packages.mjs | 1 - tools/scripts/check-packages.mjs | 2 +- tools/scripts/update-peer-deps.mjs | 1 - tsconfig.base.json | 3 - vitest.shared.ts | 1 - 20 files changed, 3 insertions(+), 424 deletions(-) delete mode 100644 packages/zod/.eslintrc.json delete mode 100644 packages/zod/README.md delete mode 100644 packages/zod/package.json delete mode 100644 packages/zod/project.json delete mode 100644 packages/zod/src/index.ts delete mode 100644 packages/zod/src/lib/zod.spec.ts delete mode 100644 packages/zod/src/lib/zod.ts delete mode 100644 packages/zod/tsconfig.json delete mode 100644 packages/zod/tsconfig.lib.json delete mode 100644 packages/zod/tsconfig.spec.json delete mode 100644 packages/zod/vitest.config.ts diff --git a/.cz-config.js b/.cz-config.js index 4da633892..96f406f0d 100644 --- a/.cz-config.js +++ b/.cz-config.js @@ -20,7 +20,6 @@ module.exports = { description: 'AutoMapper classes strategy', }, { name: 'pojos', description: 'AutoMapper pojos strategy' }, - { name: 'zod', description: 'AutoMapper zod strategy' }, { name: 'nestjs', description: 'AutoMapper nestjs integration))', diff --git a/nx.json b/nx.json index 376b5287c..9b54611b8 100644 --- a/nx.json +++ b/nx.json @@ -41,8 +41,7 @@ "pojos", "nestjs", "mikro", - "sequelize", - "zod" + "sequelize" ], "projectsRelationship": "independent", "releaseTagPattern": "{projectName}@{version}", diff --git a/package.json b/package.json index 9b1c8cbec..f346af2eb 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,7 @@ "tsdown": "^0.22.3", "typescript": "~6.0.0", "unplugin-swc": "1.5.9", - "vitest": "4.1.9", - "zod": "^4.4.3" + "vitest": "4.1.9" }, "config": { "commitizen": { diff --git a/packages/zod/.eslintrc.json b/packages/zod/.eslintrc.json deleted file mode 100644 index 5626944bd..000000000 --- a/packages/zod/.eslintrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": ["../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/packages/zod/README.md b/packages/zod/README.md deleted file mode 100644 index ca5d02e83..000000000 --- a/packages/zod/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# zod - -This library was generated with [Nx](https://nx.dev). - -## Building - -Run `nx build zod` to build the library. - -## Running unit tests - -Run `nx test zod` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/packages/zod/package.json b/packages/zod/package.json deleted file mode 100644 index 9842aa242..000000000 --- a/packages/zod/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "@automapper/zod", - "version": "9.0.0-alpha.0", - "type": "module", - "sideEffects": false, - "exports": { - ".": "./src/index.ts" - }, - "engines": { - "node": ">=20.0.0" - }, - "publishConfig": { - "access": "public", - "provenance": true - }, - "peerDependencies": { - "@automapper/core": "^9.0.0-alpha.0", - "@automapper/pojos": "^9.0.0-alpha.0", - "zod": "^4.0.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/nartc/mapper/tree/main/packages/zod" - }, - "author": { - "name": "Chau Tran", - "email": "nartc7789@gmail.com", - "url": "https://nartc.me" - }, - "description": "AutoMapper TypeScript Zod plugin", - "keywords": [ - "typescript", - "automapper", - "mapper", - "zod", - "nx" - ], - "license": "MIT", - "files": [ - "**/*" - ] -} diff --git a/packages/zod/project.json b/packages/zod/project.json deleted file mode 100644 index 3f2705675..000000000 --- a/packages/zod/project.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "zod", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/zod/src", - "projectType": "library", - "tags": [], - "targets": { - "package": { - "executor": "nx:run-commands", - "outputs": ["{workspaceRoot}/dist/packages/zod"], - "options": { - "command": "node tools/scripts/build-packages.mjs zod" - } - }, - "lint": { - "executor": "@nx/eslint:lint" - }, - "test": { - "executor": "nx:run-commands", - "options": { - "command": "vitest run", - "cwd": "packages/zod" - } - }, - "publish": { - "executor": "nx:run-commands", - "options": { - "command": "npm publish --tag alpha", - "cwd": "dist/packages/zod" - } - }, - "nx-release-publish": { - "executor": "@nx/js:release-publish", - "options": { - "packageRoot": "dist/packages/zod" - } - } - } -} diff --git a/packages/zod/src/index.ts b/packages/zod/src/index.ts deleted file mode 100644 index 5bf15892c..000000000 --- a/packages/zod/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lib/zod'; diff --git a/packages/zod/src/lib/zod.spec.ts b/packages/zod/src/lib/zod.spec.ts deleted file mode 100644 index 7a6b28dba..000000000 --- a/packages/zod/src/lib/zod.spec.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { createMap, createMapper, forMember, mapFrom } from '@automapper/core'; -import { PojosMetadataMap } from '@automapper/pojos'; -import { z } from 'zod'; -import { createMetadataMap, zod } from './zod'; - -describe('zod', () => { - beforeEach(() => { - PojosMetadataMap.reset(); - }); - - it('derives metadata and maps a flat schema', () => { - const User = z.object({ name: z.string(), age: z.number() }); - const UserDto = z.object({ name: z.string(), age: z.number() }); - createMetadataMap('User', User); - createMetadataMap('UserDto', UserDto); - - const mapper = createMapper({ strategyInitializer: zod() }); - createMap, z.infer>( - mapper, - 'User', - 'UserDto' - ); - - expect( - mapper.map({ name: 'Chau', age: 30 }, 'User', 'UserDto') - ).toEqual({ name: 'Chau', age: 30 }); - }); - - it('unwraps optional/nullable/default and maps primitives', () => { - const Source = z.object({ - a: z.string().optional(), - b: z.number().nullable(), - c: z.boolean().default(false), - d: z.date(), - }); - createMetadataMap('S', Source); - createMetadataMap('D', Source); - - const mapper = createMapper({ strategyInitializer: zod() }); - createMap(mapper, 'S', 'D'); - - const now = new Date(); - expect( - mapper.map({ a: 'x', b: 1, c: true, d: now }, 'S', 'D') - ).toEqual({ a: 'x', b: 1, c: true, d: now }); - }); - - it('maps nested object schemas and arrays', () => { - const Source = z.object({ - id: z.number(), - address: z.object({ city: z.string(), zip: z.string() }), - tags: z.array(z.string()), - friends: z.array(z.object({ name: z.string() })), - }); - createMetadataMap('Src', Source); - createMetadataMap('Dst', Source); - - const mapper = createMapper({ strategyInitializer: zod() }); - // nested identifiers are derived as `${parent}.${key}` - createMap(mapper, 'Src.address', 'Dst.address'); - createMap(mapper, 'Src.friends', 'Dst.friends'); - createMap(mapper, 'Src', 'Dst'); - - const source = { - id: 1, - address: { city: 'NY', zip: '10001' }, - tags: ['a', 'b'], - friends: [{ name: 'Sam' }, { name: 'Lee' }], - }; - const result = mapper.map(source, 'Src', 'Dst'); - expect(result).toEqual(source); - // deep copy, not reference - expect(result.address).not.toBe(source.address); - expect(result.friends[0]).not.toBe(source.friends[0]); - }); - - it('works with forMember over derived metadata', () => { - const Source = z.object({ first: z.string(), last: z.string() }); - const Dest = z.object({ - first: z.string(), - last: z.string(), - full: z.string(), - }); - createMetadataMap('P', Source); - createMetadataMap('PDto', Dest); - - const mapper = createMapper({ strategyInitializer: zod() }); - createMap( - mapper, - 'P', - 'PDto', - forMember( - (d: { full: string }) => d.full, - mapFrom((s: { first: string; last: string }) => - `${s.first} ${s.last}` - ) - ) - ); - - expect( - mapper.map({ first: 'Chau', last: 'Tran' }, 'P', 'PDto') - ).toEqual({ first: 'Chau', last: 'Tran', full: 'Chau Tran' }); - }); -}); diff --git a/packages/zod/src/lib/zod.ts b/packages/zod/src/lib/zod.ts deleted file mode 100644 index 054767de8..000000000 --- a/packages/zod/src/lib/zod.ts +++ /dev/null @@ -1,138 +0,0 @@ -import type { - MappingStrategyInitializer, - MappingStrategyInitializerOptions, -} from '@automapper/core'; -import { PojosMetadataMap, pojos } from '@automapper/pojos'; - -/** - * Mapping strategy for Zod-inferred values. Zod output is structurally a plain - * object, so this is the `pojos` strategy. Pair it with {@link createMetadataMap} - * to derive AutoMapper metadata directly from a Zod schema instead of writing it - * out by hand. - * - * @example - * ```ts - * const User = z.object({ name: z.string(), age: z.number() }); - * const UserDto = z.object({ name: z.string(), age: z.number() }); - * createMetadataMap('User', User); - * createMetadataMap('UserDto', UserDto); - * const mapper = createMapper({ strategyInitializer: zod() }); - * createMap(mapper, 'User', 'UserDto'); - * ``` - */ -export function zod( - options: MappingStrategyInitializerOptions = {} -): MappingStrategyInitializer { - return pojos(options); -} - -// --- Zod 4 introspection --------------------------------------------------- -// Zod 4 exposes a schema's definition at `_zod.def` (with a plain `.def` kept as -// a fallback across 4.x). We only read `type`, `element`, `innerType`, `shape`. -interface ZodDef { - type: string; - element?: ZodSchemaLike; - innerType?: ZodSchemaLike; - shape?: Record; -} - -interface ZodSchemaLike { - _zod?: { def?: ZodDef }; - def?: ZodDef; - shape?: Record; -} - -type DerivedType = - | StringConstructor - | NumberConstructor - | BooleanConstructor - | DateConstructor - | BigIntConstructor - | string // nested object identifier - | [DerivedType]; // array element - -function defOf(schema: ZodSchemaLike): ZodDef | undefined { - return schema?._zod?.def ?? schema?.def; -} - -function shapeOf( - schema: ZodSchemaLike -): Record | undefined { - return schema?.shape ?? defOf(schema)?.shape; -} - -function deriveType( - schema: ZodSchemaLike, - parentIdentifier: string, - key: string -): DerivedType | undefined { - const def = defOf(schema); - if (!def) return undefined; - - switch (def.type) { - case 'string': - case 'enum': - case 'literal': - return String; - case 'number': - return Number; - case 'boolean': - return Boolean; - case 'date': - return Date; - case 'bigint': - return BigInt; - case 'array': { - if (!def.element) return undefined; - const element = deriveType(def.element, parentIdentifier, key); - return element === undefined ? undefined : [element]; - } - case 'object': { - // Register the nested schema under a derived identifier, point at it. - const nestedIdentifier = `${parentIdentifier}.${key}`; - createMetadataMap(nestedIdentifier, schema); - return nestedIdentifier; - } - // Wrapper types just unwrap to their inner schema. - case 'optional': - case 'nullable': - case 'default': - case 'readonly': - case 'catch': - case 'nonoptional': - return def.innerType - ? deriveType(def.innerType, parentIdentifier, key) - : undefined; - default: - // Unsupported types (union, record, etc.) are skipped — configure - // those members explicitly with forMember if needed. - return undefined; - } -} - -/** - * Introspects a Zod object `schema` and registers the equivalent AutoMapper - * metadata under `identifier`, recursing into nested object schemas. After this, - * the schema's inferred type can be used as a map source/destination with the - * {@link zod} strategy. - */ -export function createMetadataMap( - identifier: string, - schema: ZodSchemaLike -): void { - const shape = shapeOf(schema); - if (!shape) return; - - const metadata: Record = {}; - for (const key of Object.keys(shape)) { - const derived = deriveType(shape[key], identifier, key); - if (derived !== undefined) { - metadata[key] = derived; - } - } - - PojosMetadataMap.create( - identifier, - metadata as Parameters[1] - ); -} diff --git a/packages/zod/tsconfig.json b/packages/zod/tsconfig.json deleted file mode 100644 index 303d7b334..000000000 --- a/packages/zod/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "commonjs", - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitOverride": true, - "noPropertyAccessFromIndexSignature": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/packages/zod/tsconfig.lib.json b/packages/zod/tsconfig.lib.json deleted file mode 100644 index bacc931a4..000000000 --- a/packages/zod/tsconfig.lib.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "include": ["src/**/*.ts"], - "exclude": ["vitest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] -} diff --git a/packages/zod/tsconfig.spec.json b/packages/zod/tsconfig.spec.json deleted file mode 100644 index 70521deee..000000000 --- a/packages/zod/tsconfig.spec.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": [ - "vitest/globals", - "node" - ] - }, - "include": [ - "vitest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/packages/zod/vitest.config.ts b/packages/zod/vitest.config.ts deleted file mode 100644 index 87e7ee687..000000000 --- a/packages/zod/vitest.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { vitestConfig } from '../../vitest.shared'; - -export default vitestConfig(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d6d7ed28..b15bff95c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -145,9 +145,6 @@ importers: vitest: specifier: 4.1.9 version: 4.1.9(@types/node@22.20.0)(@vitest/coverage-v8@4.1.9)(vite@8.0.16) - zod: - specifier: ^4.4.3 - version: 4.4.3 packages/benchmark-core: dependencies: @@ -12915,7 +12912,3 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true - - /zod@4.4.3: - resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} - dev: true diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index cb83edde8..d1074fa5a 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -31,7 +31,6 @@ const PACKAGES = [ { dir: 'packages/nestjs', out: 'dist/packages/nestjs' }, { dir: 'packages/mikro', out: 'dist/packages/mikro' }, { dir: 'packages/sequelize', out: 'dist/packages/sequelize' }, - { dir: 'packages/zod', out: 'dist/packages/zod' }, ]; // Always external (compiler/runtime helpers). diff --git a/tools/scripts/check-packages.mjs b/tools/scripts/check-packages.mjs index 5b5e23969..e08e4011c 100644 --- a/tools/scripts/check-packages.mjs +++ b/tools/scripts/check-packages.mjs @@ -7,7 +7,7 @@ import { resolve, dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); -const PKGS = ['core', 'classes', 'pojos', 'nestjs', 'mikro', 'sequelize', 'zod']; +const PKGS = ['core', 'classes', 'pojos', 'nestjs', 'mikro', 'sequelize']; let failed = false; for (const p of PKGS) { diff --git a/tools/scripts/update-peer-deps.mjs b/tools/scripts/update-peer-deps.mjs index c4b26f606..3e56c9204 100644 --- a/tools/scripts/update-peer-deps.mjs +++ b/tools/scripts/update-peer-deps.mjs @@ -8,7 +8,6 @@ const distPackageJson = [ 'classes/mapped-types', 'classes/transformer-plugin', 'core', - 'zod', 'mikro', 'nestjs', 'pojos', diff --git a/tsconfig.base.json b/tsconfig.base.json index 91e8d5a5c..51f627196 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -44,9 +44,6 @@ ], "@automapper/sequelize": [ "packages/sequelize/src/index.ts" - ], - "@automapper/zod": [ - "packages/zod/src/index.ts" ] }, "ignoreDeprecations": "6.0" diff --git a/vitest.shared.ts b/vitest.shared.ts index fd63124d0..b2db9a21a 100644 --- a/vitest.shared.ts +++ b/vitest.shared.ts @@ -20,7 +20,6 @@ const alias = [ { find: '@automapper/mikro', replacement: r('packages/mikro/src/index.ts') }, { find: '@automapper/nestjs', replacement: r('packages/nestjs/src/index.ts') }, { find: '@automapper/sequelize', replacement: r('packages/sequelize/src/index.ts') }, - { find: '@automapper/zod', replacement: r('packages/zod/src/index.ts') }, ]; // Single source of truth for every package's Vitest config. From 37cafca78755b42c23c6869ae3b2be21988a2d56 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Mon, 22 Jun 2026 23:22:54 -0400 Subject: [PATCH 42/73] fix(mikro): drop forbidden @mikro-orm/core/typings subpath import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - @mikro-orm/core v6's exports map only exposes "." and "./package.json"; importing IWrappedEntityInternal from @mikro-orm/core/typings is unresolvable under moduleResolution: bundler (latent — no prior typecheck gate caught it) - replace with a minimal local structural type for the one shape used (__meta.properties) and cast via unknown; runtime behavior unchanged Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- packages/mikro/src/lib/serialize-entity.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/mikro/src/lib/serialize-entity.ts b/packages/mikro/src/lib/serialize-entity.ts index ed7f78bcc..54f7a4e04 100644 --- a/packages/mikro/src/lib/serialize-entity.ts +++ b/packages/mikro/src/lib/serialize-entity.ts @@ -1,7 +1,10 @@ import { isEmpty } from '@automapper/core'; import type { AnyEntity } from '@mikro-orm/core'; import { Reference, Utils, wrap } from '@mikro-orm/core'; -import type { IWrappedEntityInternal } from '@mikro-orm/core/typings'; + +type IWrappedEntityInternal = { + __meta: { properties: Record }; +} & T; const excluded = [ '__gettersDefined', @@ -23,7 +26,10 @@ export function serializeEntity( if (toPojo) return wrap(item).toPOJO(); const result = {} as Record; - const keys = Object.keys((wrap(item) as IWrappedEntityInternal).__meta.properties); + const keys = Object.keys( + (wrap(item) as unknown as IWrappedEntityInternal).__meta + .properties + ); for (const key of keys) { if (typeof key === 'symbol' || excluded.includes(key)) { continue; From 44ab30ced99dcae31d977b1e887d1a3f3c26daf8 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Mon, 22 Jun 2026 23:23:08 -0400 Subject: [PATCH 43/73] build: adopt @nx/js/typescript inferred typecheck via project references MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - register @nx/js/typescript plugin + enable inference; adds a cached `typecheck` target (tsc --build tsconfig.json --emitDeclarationOnly) the repo never had — typechecking was only implicit via tsdown --dts and vitest - make every library tsconfig.lib.json composite with a distinct out-tsc outDir and a src/** include (the **/*.ts + root rootDir swept in vitest.config.ts); declaration:true overrides base's explicit declaration:false (composite needs it) - each project's tsconfig.json references its lib only (specs deferred to a follow-up pass) - add a root tsconfig.json (satisfies @nx/js:typescript-sync gate); nx sync auto-generates the inter-package references from the dep graph - exclude packages/benchmark-core (private harness, not buildable) from inference - classes shim build: pass tsc --ignoreConfig so the new root tsconfig.json is not auto-applied when files are on the command line (TS6 TS5112) resolution now rides on the pnpm workspace symlink + each package's exports (source index.ts), independent of tsconfig paths; references give composite build ordering. typecheck 9/9, sync:check clean, lint/test/package/contract green. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- nx.json | 8 ++++++- packages/classes/mapped-types/tsconfig.json | 3 --- .../classes/mapped-types/tsconfig.lib.json | 15 +++++++++--- .../classes/transformer-plugin/tsconfig.json | 3 --- .../transformer-plugin/tsconfig.lib.json | 15 +++++++++--- packages/classes/tsconfig.json | 3 --- packages/classes/tsconfig.lib.json | 10 ++++++-- packages/core/tsconfig.json | 3 --- packages/core/tsconfig.lib.json | 5 ++-- packages/integration-test/tsconfig.json | 3 --- packages/integration-test/tsconfig.lib.json | 24 ++++++++++++++++--- packages/mikro/tsconfig.json | 3 --- packages/mikro/tsconfig.lib.json | 15 +++++++++--- packages/nestjs/tsconfig.json | 3 --- packages/nestjs/tsconfig.lib.json | 12 +++++++--- packages/pojos/tsconfig.json | 3 --- packages/pojos/tsconfig.lib.json | 12 +++++++--- packages/sequelize/tsconfig.json | 3 --- packages/sequelize/tsconfig.lib.json | 15 +++++++++--- tools/scripts/build-packages.mjs | 9 ++++++- tsconfig.json | 6 +++++ 21 files changed, 119 insertions(+), 54 deletions(-) create mode 100644 tsconfig.json diff --git a/nx.json b/nx.json index 9b54611b8..9e1b798e1 100644 --- a/nx.json +++ b/nx.json @@ -1,6 +1,12 @@ { "extends": "nx/presets/core.json", "$schema": "./node_modules/nx/schemas/nx-schema.json", + "plugins": [ + { + "plugin": "@nx/js/typescript", + "exclude": ["packages/benchmark-core/*"] + } + ], "namedInputs": { "default": ["{projectRoot}/**/*"], "prod": ["!{projectRoot}/**/*.spec.ts"] @@ -62,7 +68,7 @@ } }, "nxCloudAccessToken": "MjMzYTA3OWMtMjQ1MS00YzFhLWExYTYtODMzMTM5MmQxZmE1fHJlYWQtd3JpdGU=", - "useInferencePlugins": false, + "useInferencePlugins": true, "defaultBase": "main", "analytics": false } diff --git a/packages/classes/mapped-types/tsconfig.json b/packages/classes/mapped-types/tsconfig.json index 586a0ff83..6011c86ab 100644 --- a/packages/classes/mapped-types/tsconfig.json +++ b/packages/classes/mapped-types/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/classes/mapped-types/tsconfig.lib.json b/packages/classes/mapped-types/tsconfig.lib.json index cf95ed0b1..b092e1328 100644 --- a/packages/classes/mapped-types/tsconfig.lib.json +++ b/packages/classes/mapped-types/tsconfig.lib.json @@ -1,10 +1,19 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", + "outDir": "../../../dist/out-tsc/classes-mapped-types/lib", + "composite": true, "declaration": true, "types": [] }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "references": [ + { + "path": "../tsconfig.lib.json" + }, + { + "path": "../../core/tsconfig.lib.json" + } + ] } diff --git a/packages/classes/transformer-plugin/tsconfig.json b/packages/classes/transformer-plugin/tsconfig.json index 586a0ff83..6011c86ab 100644 --- a/packages/classes/transformer-plugin/tsconfig.json +++ b/packages/classes/transformer-plugin/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/classes/transformer-plugin/tsconfig.lib.json b/packages/classes/transformer-plugin/tsconfig.lib.json index c1199aa68..f432ecda7 100644 --- a/packages/classes/transformer-plugin/tsconfig.lib.json +++ b/packages/classes/transformer-plugin/tsconfig.lib.json @@ -1,10 +1,19 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", + "outDir": "../../../dist/out-tsc/classes-transformer-plugin/lib", + "composite": true, "declaration": true, "types": ["node"] }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "references": [ + { + "path": "../tsconfig.lib.json" + }, + { + "path": "../../core/tsconfig.lib.json" + } + ] } diff --git a/packages/classes/tsconfig.json b/packages/classes/tsconfig.json index 888e541c1..476dbc7b4 100644 --- a/packages/classes/tsconfig.json +++ b/packages/classes/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/classes/tsconfig.lib.json b/packages/classes/tsconfig.lib.json index 916952904..77aa887cd 100644 --- a/packages/classes/tsconfig.lib.json +++ b/packages/classes/tsconfig.lib.json @@ -1,16 +1,22 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/classes/lib", + "composite": true, "declaration": true, "types": ["node"] }, - "include": ["**/*.ts"], + "include": ["src/**/*.ts"], "exclude": [ "**/*.spec.ts", "**/*.test.ts", "transformer-plugin/**/*", "shim/**/*", "mapped-types/**/*" + ], + "references": [ + { + "path": "../core/tsconfig.lib.json" + } ] } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 888e541c1..476dbc7b4 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/core/tsconfig.lib.json b/packages/core/tsconfig.lib.json index 2214039d4..c3bd0416e 100644 --- a/packages/core/tsconfig.lib.json +++ b/packages/core/tsconfig.lib.json @@ -1,10 +1,11 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/core/lib", + "composite": true, "declaration": true, "types": [] }, - "include": ["**/*.ts"], + "include": ["src/**/*.ts"], "exclude": ["**/*.spec.ts", "**/*.test.ts"] } diff --git a/packages/integration-test/tsconfig.json b/packages/integration-test/tsconfig.json index 270e59570..69a7b0fae 100644 --- a/packages/integration-test/tsconfig.json +++ b/packages/integration-test/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/integration-test/tsconfig.lib.json b/packages/integration-test/tsconfig.lib.json index e38de734b..4e8d3994c 100644 --- a/packages/integration-test/tsconfig.lib.json +++ b/packages/integration-test/tsconfig.lib.json @@ -1,10 +1,28 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/integration-test/lib", + "composite": true, "declaration": true, "types": [] }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts", "vitest.config.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts", "vitest.config.ts"], + "references": [ + { + "path": "../classes/transformer-plugin/tsconfig.lib.json" + }, + { + "path": "../nestjs/tsconfig.lib.json" + }, + { + "path": "../pojos/tsconfig.lib.json" + }, + { + "path": "../core/tsconfig.lib.json" + }, + { + "path": "../classes/tsconfig.lib.json" + } + ] } diff --git a/packages/mikro/tsconfig.json b/packages/mikro/tsconfig.json index 888e541c1..476dbc7b4 100644 --- a/packages/mikro/tsconfig.json +++ b/packages/mikro/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/mikro/tsconfig.lib.json b/packages/mikro/tsconfig.lib.json index 2214039d4..18efb7f87 100644 --- a/packages/mikro/tsconfig.lib.json +++ b/packages/mikro/tsconfig.lib.json @@ -1,10 +1,19 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/mikro/lib", + "composite": true, "declaration": true, "types": [] }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "references": [ + { + "path": "../core/tsconfig.lib.json" + }, + { + "path": "../classes/tsconfig.lib.json" + } + ] } diff --git a/packages/nestjs/tsconfig.json b/packages/nestjs/tsconfig.json index 888e541c1..476dbc7b4 100644 --- a/packages/nestjs/tsconfig.json +++ b/packages/nestjs/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/nestjs/tsconfig.lib.json b/packages/nestjs/tsconfig.lib.json index 3ada3cd8f..2cc9311d3 100644 --- a/packages/nestjs/tsconfig.lib.json +++ b/packages/nestjs/tsconfig.lib.json @@ -1,7 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/nestjs/lib", + "composite": true, "declaration": true, "types": [], "target": "es2021", @@ -10,6 +11,11 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "references": [ + { + "path": "../core/tsconfig.lib.json" + } + ] } diff --git a/packages/pojos/tsconfig.json b/packages/pojos/tsconfig.json index 888e541c1..476dbc7b4 100644 --- a/packages/pojos/tsconfig.json +++ b/packages/pojos/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/pojos/tsconfig.lib.json b/packages/pojos/tsconfig.lib.json index 2214039d4..b4dc09847 100644 --- a/packages/pojos/tsconfig.lib.json +++ b/packages/pojos/tsconfig.lib.json @@ -1,10 +1,16 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/pojos/lib", + "composite": true, "declaration": true, "types": [] }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "references": [ + { + "path": "../core/tsconfig.lib.json" + } + ] } diff --git a/packages/sequelize/tsconfig.json b/packages/sequelize/tsconfig.json index 888e541c1..476dbc7b4 100644 --- a/packages/sequelize/tsconfig.json +++ b/packages/sequelize/tsconfig.json @@ -14,9 +14,6 @@ "references": [ { "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/packages/sequelize/tsconfig.lib.json b/packages/sequelize/tsconfig.lib.json index 2214039d4..c8043bb01 100644 --- a/packages/sequelize/tsconfig.lib.json +++ b/packages/sequelize/tsconfig.lib.json @@ -1,10 +1,19 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/sequelize/lib", + "composite": true, "declaration": true, "types": [] }, - "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts"] + "include": ["src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "references": [ + { + "path": "../core/tsconfig.lib.json" + }, + { + "path": "../classes/tsconfig.lib.json" + } + ] } diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index d1074fa5a..3c49964e9 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -113,10 +113,17 @@ for (const pkg of targets) { } // frontend shim (classes): bare tsc, matches the 8.x published shim/index.js + // `--ignoreConfig` skips the workspace root tsconfig.json (TS5112) since + // files are passed on the command line. if (pkg.shim) { execFileSync( resolve(ROOT, 'node_modules/.bin/tsc'), - [resolve(ROOT, pkg.shim), '--outDir', resolve(outAbs, 'shim')], + [ + resolve(ROOT, pkg.shim), + '--outDir', + resolve(outAbs, 'shim'), + '--ignoreConfig', + ], { cwd: ROOT, stdio: 'inherit' } ); } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..b5f93f36e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.base.json", + "compileOnSave": false, + "files": [], + "references": [] +} From 233851d7ad46709df75e9d931fe5ddf05f3c6d40 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:28:35 -0400 Subject: [PATCH 44/73] build: resolve @automapper/* via pnpm workspace; drop tsconfig paths + vitest aliases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - make nestjs/mikro/sequelize/integration-test pnpm workspace members and declare their @automapper/* as workspace:* devDependencies, so pnpm symlinks them (the peers stay the published contract; devDeps are dev-only, not shipped) - add source `exports` ("." -> ./src/index.ts) to nestjs/mikro/sequelize (they had none — previously resolved only via tsconfig paths) - classes self-dep (workspace:*) so its nested subpaths (mapped-types, transformer-plugin) resolve @automapper/classes via the self-symlink - drop the `paths` block from tsconfig.base.json and the @automapper/* aliases from vitest.shared.ts entirely — resolution now rides purely on pnpm workspace symlinks + each package's exports, for tsc and vitest alike - build-packages.mjs strips devDependencies from the dist manifest (the workspace:* dev links must not ship and can't resolve in a packed tarball) - docs projects stay OUT of the workspace (isolated installs) to keep docusaurus's deps from fanning out — they don't consume @automapper at build typecheck 9/9, test 9/9, package 6/6 (dist clean), check:packages + lint green, nx sync:check in-sync — all verified uncached with zero paths/aliases. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- packages/classes/package.json | 3 + packages/integration-test/package.json | 8 +- packages/mikro/package.json | 7 + packages/nestjs/package.json | 6 + packages/sequelize/package.json | 7 + pnpm-lock.yaml | 218 ++++++++----------------- pnpm-workspace.yaml | 14 +- tools/scripts/build-packages.mjs | 4 + tsconfig.base.json | 29 ---- vitest.shared.ts | 24 +-- 10 files changed, 111 insertions(+), 209 deletions(-) diff --git a/packages/classes/package.json b/packages/classes/package.json index 784ccd50d..b0b5f6f1a 100644 --- a/packages/classes/package.json +++ b/packages/classes/package.json @@ -11,6 +11,9 @@ "./mapped-types": "./mapped-types/src/index.ts", "./transformer-plugin": "./transformer-plugin/src/index.ts" }, + "devDependencies": { + "@automapper/classes": "workspace:*" + }, "sideEffects": false, "engines": { "node": ">=20.0.0" diff --git a/packages/integration-test/package.json b/packages/integration-test/package.json index 467bd3145..6e727292d 100644 --- a/packages/integration-test/package.json +++ b/packages/integration-test/package.json @@ -1,5 +1,11 @@ { "name": "@automapper/integration-test", "version": "0.0.1", - "type": "commonjs" + "type": "commonjs", + "devDependencies": { + "@automapper/classes": "workspace:*", + "@automapper/core": "workspace:*", + "@automapper/nestjs": "workspace:*", + "@automapper/pojos": "workspace:*" + } } diff --git a/packages/mikro/package.json b/packages/mikro/package.json index 0c2116f39..bbc5414bf 100644 --- a/packages/mikro/package.json +++ b/packages/mikro/package.json @@ -2,11 +2,18 @@ "name": "@automapper/mikro", "version": "9.0.0-alpha.0", "type": "module", + "exports": { + ".": "./src/index.ts" + }, "peerDependencies": { "@automapper/classes": "^9.0.0-alpha.0", "@mikro-orm/core": "^6.0.0", "reflect-metadata": "^0.2.0" }, + "devDependencies": { + "@automapper/classes": "workspace:*", + "@automapper/core": "workspace:*" + }, "sideEffects": false, "engines": { "node": ">=20.0.0" diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index e4a5f0a52..d1d35e2ce 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -2,11 +2,17 @@ "name": "@automapper/nestjs", "version": "9.0.0-alpha.0", "type": "module", + "exports": { + ".": "./src/index.ts" + }, "peerDependencies": { "@automapper/core": "^9.0.0-alpha.0", "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0" }, + "devDependencies": { + "@automapper/core": "workspace:*" + }, "sideEffects": false, "engines": { "node": ">=20.0.0" diff --git a/packages/sequelize/package.json b/packages/sequelize/package.json index 9298a7f4d..d15ab2f0a 100644 --- a/packages/sequelize/package.json +++ b/packages/sequelize/package.json @@ -2,11 +2,18 @@ "name": "@automapper/sequelize", "version": "9.0.0-alpha.0", "type": "module", + "exports": { + ".": "./src/index.ts" + }, "peerDependencies": { "@automapper/classes": "^9.0.0-alpha.0", "sequelize": "^6.0.0", "reflect-metadata": "^0.2.0" }, + "devDependencies": { + "@automapper/classes": "workspace:*", + "@automapper/core": "workspace:*" + }, "sideEffects": false, "engines": { "node": ">=20.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b15bff95c..8545303ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -176,15 +176,79 @@ importers: reflect-metadata: specifier: 0.2.2 version: 0.2.2 + devDependencies: + '@automapper/classes': + specifier: workspace:* + version: 'link:' packages/core: {} + packages/integration-test: + devDependencies: + '@automapper/classes': + specifier: workspace:* + version: link:../classes + '@automapper/core': + specifier: workspace:* + version: link:../core + '@automapper/nestjs': + specifier: workspace:* + version: link:../nestjs + '@automapper/pojos': + specifier: workspace:* + version: link:../pojos + + packages/mikro: + dependencies: + '@mikro-orm/core': + specifier: ^6.0.0 + version: 6.6.15 + reflect-metadata: + specifier: 0.2.2 + version: 0.2.2 + devDependencies: + '@automapper/classes': + specifier: workspace:* + version: link:../classes + '@automapper/core': + specifier: workspace:* + version: link:../core + + packages/nestjs: + dependencies: + '@nestjs/common': + specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 + version: 11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': + specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 + version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1) + devDependencies: + '@automapper/core': + specifier: workspace:* + version: link:../core + packages/pojos: dependencies: '@automapper/core': specifier: ^9.0.0-alpha.0 version: link:../core + packages/sequelize: + dependencies: + reflect-metadata: + specifier: 0.2.2 + version: 0.2.2 + sequelize: + specifier: ^6.0.0 + version: 6.29.2 + devDependencies: + '@automapper/classes': + specifier: workspace:* + version: link:../classes + '@automapper/core': + specifier: workspace:* + version: link:../core + packages: /@angular-devkit/core@19.2.24: @@ -1561,7 +1625,6 @@ packages: /@borewit/text-codec@0.2.2: resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} - dev: true /@commitlint/config-validator@21.0.1: resolution: {integrity: sha512-Zd2UFdndeMMaW2O96HK0tdfT4gOImUvidMpAd/pws2zZ4m1nrAZ/9b/v2JYuE8fs86GpXv9F7LNaIuCIWhY+pA==} @@ -2300,7 +2363,6 @@ packages: /@lukeed/csprng@1.1.0: resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} engines: {node: '>=8'} - dev: true /@mikro-orm/core@6.6.15: resolution: {integrity: sha512-DQEtF1Bh+2v1DVuxi6bRn93c6vGh1CUJdUITBqtS86EUjDXDc1L08A3kuSUZ4BP/xYhT/yQE2cp3lMJYcu+8og==} @@ -2313,7 +2375,6 @@ packages: globby: 11.1.0 mikro-orm: 6.6.15 reflect-metadata: 0.2.2 - dev: true /@napi-rs/nice-android-arm-eabi@1.1.1: resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} @@ -2549,7 +2610,6 @@ packages: uid: 2.0.2 transitivePeerDependencies: - supports-color - dev: true /@nestjs/core@11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1): resolution: {integrity: sha512-K6DX7hcqmZdeXkv7tsPakKBRCgqL19a4mtbX4FluY0hWtFdtPKp6lbe+lb8gWPfvLdbOWr/CPScn7BSjBX+Ecg==} @@ -2578,7 +2638,6 @@ packages: rxjs: 7.8.1 tslib: 2.8.1 uid: 2.0.2 - dev: true /@nestjs/platform-express@11.1.27(@nestjs/common@11.1.27)(@nestjs/core@11.1.27): resolution: {integrity: sha512-0ZFhz6H6EdGh4xQVbUNwjoAwBuz73P7FvUAl67h9CTdMqQlJDaQYJApBv8pKfVZ1fGjMCbl0m9DcC6pXaZPWSQ==} @@ -2595,7 +2654,6 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - supports-color - dev: true /@nestjs/schematics@11.1.0(prettier@2.8.4)(typescript@6.0.3): resolution: {integrity: sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==} @@ -2647,12 +2705,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -2660,7 +2716,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - dev: true /@nx/devkit@22.7.5(nx@22.7.5): resolution: {integrity: sha512-/63ziS7kdHXYTLLhwWBu9hFwoFFT8xf+PkcQjsNdPqc5JmkYkSew0cE/vp5ORgBpGLWWnFPJgmfqjbJoO2C7jA==} @@ -3773,11 +3828,9 @@ packages: token-types: 6.1.2 transitivePeerDependencies: - supports-color - dev: true /@tokenizer/token@0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: true /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} @@ -3858,7 +3911,6 @@ packages: resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} dependencies: '@types/ms': 2.1.0 - dev: true /@types/deep-eql@4.0.2: resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -3908,13 +3960,11 @@ packages: /@types/ms@2.1.0: resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - dev: true /@types/node@22.20.0: resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==} dependencies: undici-types: 6.21.0 - dev: true /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3945,7 +3995,6 @@ packages: /@types/validator@13.15.10: resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} - dev: true /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -4607,7 +4656,6 @@ packages: dependencies: mime-types: 3.0.2 negotiator: 1.0.0 - dev: true /acorn-jsx@5.3.2(acorn@8.17.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -4794,7 +4842,6 @@ packages: /append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} - dev: true /arch@3.0.0: resolution: {integrity: sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==} @@ -4833,7 +4880,6 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true /array.prototype.map@1.0.8: resolution: {integrity: sha512-YocPM7bYYu2hXGxWpb5vwZ8cMeudNHYtYBcUDY4Z1GWa53qcnQMWSl25jeBHNzitjl9HW2AWW4ro/S/nftUaOQ==} @@ -5422,7 +5468,6 @@ packages: type-is: 2.1.0 transitivePeerDependencies: - supports-color - dev: true /boxen@7.1.1: resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} @@ -5463,7 +5508,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.1.1 - dev: true /browserslist@4.28.2: resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} @@ -5485,7 +5529,6 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -5506,12 +5549,10 @@ packages: engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 - dev: true /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: true /cac@7.0.0: resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} @@ -5547,7 +5588,6 @@ packages: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - dev: true /call-bind@1.0.9: resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} @@ -5565,7 +5605,6 @@ packages: dependencies: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -5840,7 +5879,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 typedarray: 0.0.6 - dev: true /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -5874,17 +5912,14 @@ packages: /content-disposition@1.1.0: resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} engines: {node: '>=18'} - dev: true /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: true /content-type@2.0.0: resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} engines: {node: '>=18'} - dev: true /conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} @@ -6069,12 +6104,10 @@ packages: /cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - dev: true /cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - dev: true /cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -6096,7 +6129,6 @@ packages: dependencies: object-assign: 4.1.1 vary: 1.1.2 - dev: true /corser@2.0.1: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} @@ -6251,7 +6283,6 @@ packages: /dataloader@2.2.3: resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} - dev: true /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} @@ -6279,7 +6310,6 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -6389,7 +6419,6 @@ packages: /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: true /deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -6449,7 +6478,6 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: true /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -6491,7 +6519,7 @@ packages: resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} engines: {node: '>=12'} dependencies: - dotenv: 16.4.7 + dotenv: 16.6.1 dev: true /dotenv@16.4.7: @@ -6507,12 +6535,10 @@ packages: /dotenv@17.3.1: resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} engines: {node: '>=12'} - dev: true /dottie@2.0.7: resolution: {integrity: sha512-7lAK2A0b3zZr3UC5aE69CPdCFR4RHW1o2Dr74TqFykxkUCBXSRJum/yPc7g8zRHJqWKomPLHwFLLoUnn8PXXRg==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dev: true /dts-resolver@3.0.0: resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} @@ -6531,7 +6557,6 @@ packages: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - dev: true /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -6543,7 +6568,6 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true /ejs@5.0.1: resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} @@ -6576,7 +6600,6 @@ packages: /encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - dev: true /end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} @@ -6681,12 +6704,10 @@ packages: /es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} - dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - dev: true /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -6711,7 +6732,6 @@ packages: engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - dev: true /es-object-atoms@1.1.2: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} @@ -6793,7 +6813,6 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -6916,7 +6935,6 @@ packages: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - dev: true /esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} @@ -6960,7 +6978,6 @@ packages: /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - dev: true /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -7067,7 +7084,6 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true /ext-list@2.2.2: resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} @@ -7121,7 +7137,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 - dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -7133,7 +7148,6 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true /fast-uri@3.1.2: resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} @@ -7143,7 +7157,6 @@ packages: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} dependencies: reusify: 1.1.0 - dev: true /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -7226,7 +7239,6 @@ packages: uint8array-extras: 1.5.0 transitivePeerDependencies: - supports-color - dev: true /file-uri-to-path@2.0.0: resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} @@ -7250,7 +7262,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /finalhandler@2.1.1: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} @@ -7264,7 +7275,6 @@ packages: statuses: 2.0.2 transitivePeerDependencies: - supports-color - dev: true /find-config@1.0.0: resolution: {integrity: sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==} @@ -7413,12 +7423,10 @@ packages: /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - dev: true /fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} - dev: true /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -7431,7 +7439,6 @@ packages: graceful-fs: 4.2.11 jsonfile: 6.2.1 universalify: 2.0.1 - dev: true /fs-extra@11.3.5: resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} @@ -7483,7 +7490,6 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.2.0: resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} @@ -7533,7 +7539,6 @@ packages: has-symbols: 1.1.0 hasown: 2.0.2 math-intrinsics: 1.1.0 - dev: true /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -7557,7 +7562,6 @@ packages: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - dev: true /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} @@ -7653,7 +7657,6 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -7753,7 +7756,6 @@ packages: ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - dev: true /globby@13.1.3: resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} @@ -7769,7 +7771,6 @@ packages: /gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - dev: true /got@12.6.0: resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} @@ -7811,7 +7812,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -7870,7 +7870,6 @@ packages: /has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - dev: true /has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} @@ -7889,7 +7888,6 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /hasown@2.0.4: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} @@ -7949,7 +7947,6 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.2 toidentifier: 1.0.1 - dev: true /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} @@ -8043,7 +8040,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} @@ -8054,12 +8050,10 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - dev: true /ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} @@ -8097,7 +8091,6 @@ packages: /inflection@1.13.4: resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} engines: {'0': node >= 0.4.0} - dev: true /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} @@ -8109,7 +8102,6 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} @@ -8249,7 +8241,6 @@ packages: /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - dev: true /is-arguments@1.2.0: resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} @@ -8350,7 +8341,6 @@ packages: /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true /is-finalizationregistry@1.1.1: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} @@ -8390,7 +8380,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-installed-globally@0.4.0: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} @@ -8436,7 +8425,6 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -8467,7 +8455,6 @@ packages: /is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - dev: true /is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} @@ -8671,7 +8658,6 @@ packages: /iterare@1.2.1: resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} engines: {node: '>=6'} - dev: true /iterate-iterator@1.0.2: resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} @@ -9163,7 +9149,6 @@ packages: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: true /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -9347,7 +9332,6 @@ packages: /load-esm@1.0.3: resolution: {integrity: sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==} engines: {node: '>=13.2.0'} - dev: true /load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} @@ -9421,7 +9405,6 @@ packages: /lodash@4.18.1: resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - dev: true /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} @@ -9521,17 +9504,14 @@ packages: /math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - dev: true /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - dev: true /media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} - dev: true /meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} @@ -9560,7 +9540,6 @@ packages: /merge-descriptors@2.0.0: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} - dev: true /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -9569,7 +9548,6 @@ packages: /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /merge@2.1.1: resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} @@ -9586,36 +9564,30 @@ packages: dependencies: braces: 3.0.3 picomatch: 2.3.2 - dev: true /mikro-orm@6.6.15: resolution: {integrity: sha512-7goCGJG3o6Wy7y77tF2Cxgukc69uZw9P2pwPXSdqZ+DeQ9YJkKRa1uCccQ2/yfTaZrQ4WuaIfT95DI1H3VHhZQ==} engines: {node: '>= 18.12.0'} - dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: true /mime-db@1.54.0: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} - dev: true /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: true /mime-types@3.0.2: resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} engines: {node: '>=18'} dependencies: mime-db: 1.54.0 - dev: true /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} @@ -9721,11 +9693,9 @@ packages: resolution: {integrity: sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==} dependencies: moment: 2.30.1 - dev: true /moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -9733,7 +9703,6 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /multer@2.1.1: resolution: {integrity: sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==} @@ -9743,7 +9712,6 @@ packages: busboy: 1.6.0 concat-stream: 2.0.0 type-is: 1.6.18 - dev: true /mute-stream@0.0.7: resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} @@ -9772,7 +9740,6 @@ packages: /negotiator@1.0.0: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} - dev: true /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -10011,12 +9978,10 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true /object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -10045,13 +10010,11 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - dev: true /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: true /onetime@2.0.1: resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} @@ -10325,7 +10288,6 @@ packages: /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: true /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} @@ -10366,7 +10328,6 @@ packages: /path-to-regexp@8.4.2: resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} - dev: true /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -10378,7 +10339,6 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - dev: true /pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -10396,7 +10356,6 @@ packages: /pg-connection-string@2.14.0: resolution: {integrity: sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==} - dev: true /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -10405,7 +10364,6 @@ packages: /picomatch@2.3.2: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} - dev: true /picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} @@ -10523,7 +10481,6 @@ packages: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true /proxy-agent@5.0.0: resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} @@ -10580,7 +10537,6 @@ packages: engines: {node: '>=0.6'} dependencies: side-channel: 1.1.1 - dev: true /quansync@1.0.0: resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} @@ -10588,7 +10544,6 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -10603,7 +10558,6 @@ packages: /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - dev: true /raw-body@2.5.3: resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} @@ -10623,7 +10577,6 @@ packages: http-errors: 2.0.1 iconv-lite: 0.7.2 unpipe: 1.0.0 - dev: true /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -10707,7 +10660,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} @@ -10930,7 +10882,6 @@ packages: /retry-as-promised@7.1.1: resolution: {integrity: sha512-hMD7odLOt3LkTjcif8aRZqi/hybjpLNgSk5oF5FCowfCjok6LukpN2bDX7R5wDmbgBQFn7YoBxSagmtXHaJYJw==} - dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} @@ -10940,7 +10891,6 @@ packages: /reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -11052,7 +11002,6 @@ packages: path-to-regexp: 8.4.2 transitivePeerDependencies: - supports-color - dev: true /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} @@ -11063,13 +11012,11 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.5.3 - dev: true /safe-array-concat@1.1.4: resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} @@ -11088,7 +11035,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} @@ -11109,7 +11055,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} @@ -11169,7 +11114,6 @@ packages: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true - dev: true /send@1.2.1: resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} @@ -11188,12 +11132,10 @@ packages: statuses: 2.0.2 transitivePeerDependencies: - supports-color - dev: true /sequelize-pool@7.1.0: resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} engines: {node: '>= 10.0.0'} - dev: true /sequelize@6.29.2: resolution: {integrity: sha512-CxtPKhs8R/vDgxvxqDlDsIYyexuOfLOHnud34/YnEwu206wTOCC8+FG/1vwvAqobtaj7Mqa+onn28eqatv+nGg==} @@ -11246,7 +11188,6 @@ packages: wkx: 0.5.0 transitivePeerDependencies: - supports-color - dev: true /serve-static@2.2.1: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} @@ -11258,7 +11199,6 @@ packages: send: 1.2.1 transitivePeerDependencies: - supports-color - dev: true /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -11297,7 +11237,6 @@ packages: /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -11331,7 +11270,6 @@ packages: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - dev: true /side-channel-map@1.0.1: resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} @@ -11341,7 +11279,6 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.3.0 object-inspect: 1.13.4 - dev: true /side-channel-weakmap@1.0.2: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} @@ -11352,7 +11289,6 @@ packages: get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-map: 1.0.1 - dev: true /side-channel@1.1.1: resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} @@ -11363,7 +11299,6 @@ packages: side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - dev: true /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -11381,7 +11316,6 @@ packages: /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} @@ -11517,7 +11451,6 @@ packages: /statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - dev: true /std-env@4.1.0: resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} @@ -11534,7 +11467,6 @@ packages: /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - dev: true /streamx@2.28.0: resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} @@ -11628,7 +11560,6 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true /strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} @@ -11707,7 +11638,6 @@ packages: engines: {node: '>=18'} dependencies: '@tokenizer/token': 0.3.0 - dev: true /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} @@ -11908,12 +11838,10 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - dev: true /token-types@6.1.2: resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} @@ -11922,11 +11850,9 @@ packages: '@borewit/text-codec': 0.2.2 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: true /toposort-class@1.0.1: resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} - dev: true /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -12134,7 +12060,6 @@ packages: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: true /type-is@2.1.0: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} @@ -12143,7 +12068,6 @@ packages: content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 - dev: true /typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} @@ -12198,7 +12122,6 @@ packages: /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true /typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} @@ -12225,12 +12148,10 @@ packages: engines: {node: '>=8'} dependencies: '@lukeed/csprng': 1.1.0 - dev: true /uint8array-extras@1.5.0: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} - dev: true /unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} @@ -12258,7 +12179,6 @@ packages: /undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - dev: true /unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} @@ -12309,12 +12229,10 @@ packages: /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - dev: true /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - dev: true /unplugin-swc@1.5.9(@swc/core@1.15.41): resolution: {integrity: sha512-RKwK3yf0M+MN17xZfF14bdKqfx0zMXYdtOdxLiE6jHAoidupKq3jGdJYANyIM1X/VmABhh1WpdO+/f4+Ol89+g==} @@ -12424,13 +12342,11 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true - dev: true /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -12455,12 +12371,10 @@ packages: /validator@13.15.35: resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==} engines: {node: '>= 0.10'} - dev: true /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - dev: true /vite@8.0.16(@types/node@22.20.0): resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} @@ -12734,7 +12648,6 @@ packages: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: '@types/node': 22.20.0 - dev: true /word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} @@ -12774,7 +12687,6 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4215786e4..07457f35b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,10 +1,14 @@ -# Scoped to the packages the benchmark consumes via workspace:* (+ the benchmark -# itself). The other libs and the test/docs projects resolve @automapper/* via -# tsconfig paths for build/test, so they don't need to be workspace members — -# keeping this list small avoids pulling docusaurus's ancient deps (which created -# a fan-out of conflicting @nestjs / rxjs / reflect-metadata versions). +# All library + test packages are workspace members so @automapper/* resolves via +# pnpm symlinks + each package's `exports` (source) — no tsconfig `paths` needed. +# The docs projects (documentation/documentations/docs) are deliberately EXCLUDED: +# they keep their own isolated installs so docusaurus's ancient deps don't fan out +# conflicting @nestjs / rxjs / reflect-metadata versions into the workspace. packages: - 'packages/core' - 'packages/classes' - 'packages/pojos' + - 'packages/nestjs' + - 'packages/mikro' + - 'packages/sequelize' + - 'packages/integration-test' - 'packages/benchmark-core' diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index 3c49964e9..7266df221 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -131,6 +131,10 @@ for (const pkg of targets) { // dist package.json: preserve metadata, set ESM entry points + exports map. // No `main` — there is no CommonJS entry; `module`/`types` point at the ESM build. delete manifest.main; + // Drop devDependencies (the workspace:* @automapper/* dev links used only for + // in-repo resolution) — they must not ship, and `workspace:` can't resolve in + // a packed tarball. + delete manifest.devDependencies; manifest.module = './index.mjs'; manifest.types = './index.d.mts'; manifest.exports = exportsMap; diff --git a/tsconfig.base.json b/tsconfig.base.json index 51f627196..a68c07574 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -17,35 +17,6 @@ "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", - "paths": { - "@automapper/classes": [ - "packages/classes/src/index.ts" - ], - "@automapper/classes/mapped-types": [ - "packages/classes/mapped-types/src/index.ts" - ], - "@automapper/classes/transformer-plugin": [ - "packages/classes/transformer-plugin/src/index.ts" - ], - "@automapper/core": [ - "packages/core/src/index.ts" - ], - "@automapper/integration-test": [ - "packages/integration-test/src/index.ts" - ], - "@automapper/mikro": [ - "packages/mikro/src/index.ts" - ], - "@automapper/nestjs": [ - "packages/nestjs/src/index.ts" - ], - "@automapper/pojos": [ - "packages/pojos/src/index.ts" - ], - "@automapper/sequelize": [ - "packages/sequelize/src/index.ts" - ] - }, "ignoreDeprecations": "6.0" }, "exclude": [ diff --git a/vitest.shared.ts b/vitest.shared.ts index b2db9a21a..e433a1949 100644 --- a/vitest.shared.ts +++ b/vitest.shared.ts @@ -1,26 +1,9 @@ -import { dirname, resolve } from 'node:path'; -import { fileURLToPath } from 'node:url'; import swc from 'unplugin-swc'; import { defineConfig, type UserConfig } from 'vitest/config'; -// Repo root, resolved from this file's location (NOT process.cwd(), which is the -// per-package dir when nx runs `vitest run` inside packages/). -const root = dirname(fileURLToPath(import.meta.url)); -const r = (p: string) => resolve(root, p); - -// @automapper/* -> source entry points, mirroring the tsconfig.base.json paths -// that ts-jest used. Order matters: more-specific subpaths must precede the bare -// package alias, since Rollup matches `find` as a path-boundary prefix. -const alias = [ - { find: '@automapper/classes/mapped-types', replacement: r('packages/classes/mapped-types/src/index.ts') }, - { find: '@automapper/classes/transformer-plugin', replacement: r('packages/classes/transformer-plugin/src/index.ts') }, - { find: '@automapper/classes', replacement: r('packages/classes/src/index.ts') }, - { find: '@automapper/core', replacement: r('packages/core/src/index.ts') }, - { find: '@automapper/pojos', replacement: r('packages/pojos/src/index.ts') }, - { find: '@automapper/mikro', replacement: r('packages/mikro/src/index.ts') }, - { find: '@automapper/nestjs', replacement: r('packages/nestjs/src/index.ts') }, - { find: '@automapper/sequelize', replacement: r('packages/sequelize/src/index.ts') }, -]; +// @automapper/* resolve via the pnpm workspace symlinks + each package's +// `exports` (source index.ts) — no explicit aliases needed, mirroring the tsc +// project-references setup (the tsconfig.base.json `paths` were dropped too). // Single source of truth for every package's Vitest config. // @@ -33,7 +16,6 @@ const alias = [ // identifier, so swc must not mangle class names. export function vitestConfig(testOverrides: UserConfig['test'] = {}) { return defineConfig({ - resolve: { alias }, plugins: [ swc.vite({ jsc: { From c40403880217a32489854b1a5958dc35c506fdd0 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:52:28 -0400 Subject: [PATCH 45/73] fix(integration-test): correct spec type errors surfaced by spec typecheck MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - wide-mapping-size-gate: imported non-existent type PojosMetadata; the real export is PojoMetadata, and the metadata map is Record - issue 358: replace jest-style `done` callbacks (Vitest types the test arg as TestContext, not callable) with returned Promises that resolve in the rxjs next handler and reject on error — same assertions, no hang-to-timeout Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- .../src/classes/issues/358/358.spec.ts | 62 ++++++++++++------- .../src/pojos/wide-mapping-size-gate.spec.ts | 6 +- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/packages/integration-test/src/classes/issues/358/358.spec.ts b/packages/integration-test/src/classes/issues/358/358.spec.ts index f7bda98e6..fd7adb8e7 100644 --- a/packages/integration-test/src/classes/issues/358/358.spec.ts +++ b/packages/integration-test/src/classes/issues/358/358.spec.ts @@ -22,36 +22,50 @@ describe('Issue 358', () => { mapper.dispose(); }); - it('should map array async', (done) => { + it('should map array async', () => { addProfile(mapper, accountProfile); - getAccounts() - .pipe( - switchMap((accounts) => - mapper.mapArrayAsync(accounts, AccountEntity, AccountDTO) - ), - take(1) - ) - .subscribe((dtos) => { - expect(dtos).toHaveLength(1); - done(); - }); + return new Promise((resolve, reject) => { + getAccounts() + .pipe( + switchMap((accounts) => + mapper.mapArrayAsync( + accounts, + AccountEntity, + AccountDTO + ) + ), + take(1) + ) + .subscribe({ + next: (dtos) => { + expect(dtos).toHaveLength(1); + resolve(); + }, + error: reject, + }); + }); }); - it('should map async', (done) => { + it('should map async', () => { addProfile(mapper, accountProfile); - getAccount() - .pipe( - switchMap((account) => - mapper.mapAsync(account, AccountEntity, AccountDTO) - ), - take(1) - ) - .subscribe((dto) => { - expect(dto).toBeTruthy(); - done(); - }); + return new Promise((resolve, reject) => { + getAccount() + .pipe( + switchMap((account) => + mapper.mapAsync(account, AccountEntity, AccountDTO) + ), + take(1) + ) + .subscribe({ + next: (dto) => { + expect(dto).toBeTruthy(); + resolve(); + }, + error: reject, + }); + }); }); }); diff --git a/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts b/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts index 9b3d55592..e87e51b45 100644 --- a/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts +++ b/packages/integration-test/src/pojos/wide-mapping-size-gate.spec.ts @@ -1,5 +1,5 @@ import { createMap, createMapper, extend, forMember, mapFrom } from '@automapper/core'; -import { pojos, PojosMetadataMap, type PojosMetadata } from '@automapper/pojos'; +import { pojos, PojosMetadataMap, type PojoMetadata } from '@automapper/pojos'; // Exercises the size-gated cold-path branches (metadata index, extend // Set) which only trigger above ~30 properties — wider than any class in the rest @@ -7,8 +7,8 @@ import { pojos, PojosMetadataMap, type PojosMetadata } from '@automapper/pojos'; // produce the same results as the small-class .find paths. const WIDTH = 40; // > the 30 gate -function wideMeta(): PojosMetadata { - const meta: PojosMetadata = {}; +function wideMeta(): Record { + const meta: Record = {}; for (let i = 0; i < WIDTH; i++) meta['p' + i] = String; return meta; } From 91a64e1c310bc6c0f9664fa764c2a2c7bafec16a Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:52:28 -0400 Subject: [PATCH 46/73] build: typecheck spec/test files via composite spec configs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - make tsconfig.spec.json composite (declaration:true, unique out-tsc//spec outDir) for the 5 projects that have specs (core, classes, classes/mapped-types, classes/transformer-plugin, integration-test) and re-add the spec reference to each tsconfig.json, so `nx typecheck` now covers test files too - wire each spec config's project references to the libs its specs import (integration-test spec -> core/classes/transformer-plugin/nestjs/pojos libs) - scope classes spec include to src + shim and exclude the nested subpackages; drop integration-test's vitest.config.ts from the spec include (runtime-only) - pojos/nestjs/mikro/sequelize untouched (zero spec files — would hit TS18003) typecheck 9/9 (incl specs), test/lint/package/sync:check green. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- packages/classes/mapped-types/tsconfig.json | 3 +++ .../classes/mapped-types/tsconfig.spec.json | 15 ++++++++++- .../classes/transformer-plugin/tsconfig.json | 3 +++ .../transformer-plugin/tsconfig.spec.json | 9 ++++++- packages/classes/tsconfig.json | 3 +++ packages/classes/tsconfig.spec.json | 20 +++++++++++--- packages/core/tsconfig.json | 3 +++ packages/core/tsconfig.spec.json | 9 ++++++- packages/integration-test/tsconfig.json | 3 +++ packages/integration-test/tsconfig.spec.json | 27 ++++++++++++++++--- 10 files changed, 85 insertions(+), 10 deletions(-) diff --git a/packages/classes/mapped-types/tsconfig.json b/packages/classes/mapped-types/tsconfig.json index 6011c86ab..586a0ff83 100644 --- a/packages/classes/mapped-types/tsconfig.json +++ b/packages/classes/mapped-types/tsconfig.json @@ -14,6 +14,9 @@ "references": [ { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/classes/mapped-types/tsconfig.spec.json b/packages/classes/mapped-types/tsconfig.spec.json index 9d7964098..a32776794 100644 --- a/packages/classes/mapped-types/tsconfig.spec.json +++ b/packages/classes/mapped-types/tsconfig.spec.json @@ -1,8 +1,10 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", + "outDir": "../../../dist/out-tsc/classes-mapped-types/spec", "module": "commonjs", + "composite": true, + "declaration": true, "types": [ "vitest/globals", "node" @@ -12,5 +14,16 @@ "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "../tsconfig.lib.json" + }, + { + "path": "../../core/tsconfig.lib.json" + } ] } diff --git a/packages/classes/transformer-plugin/tsconfig.json b/packages/classes/transformer-plugin/tsconfig.json index 6011c86ab..586a0ff83 100644 --- a/packages/classes/transformer-plugin/tsconfig.json +++ b/packages/classes/transformer-plugin/tsconfig.json @@ -14,6 +14,9 @@ "references": [ { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/classes/transformer-plugin/tsconfig.spec.json b/packages/classes/transformer-plugin/tsconfig.spec.json index 9d7964098..2cde91d91 100644 --- a/packages/classes/transformer-plugin/tsconfig.spec.json +++ b/packages/classes/transformer-plugin/tsconfig.spec.json @@ -1,8 +1,10 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", + "outDir": "../../../dist/out-tsc/classes-transformer-plugin/spec", "module": "commonjs", + "composite": true, + "declaration": true, "types": [ "vitest/globals", "node" @@ -12,5 +14,10 @@ "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } ] } diff --git a/packages/classes/tsconfig.json b/packages/classes/tsconfig.json index 476dbc7b4..888e541c1 100644 --- a/packages/classes/tsconfig.json +++ b/packages/classes/tsconfig.json @@ -14,6 +14,9 @@ "references": [ { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/classes/tsconfig.spec.json b/packages/classes/tsconfig.spec.json index 4370f7f36..fe0850d31 100644 --- a/packages/classes/tsconfig.spec.json +++ b/packages/classes/tsconfig.spec.json @@ -1,16 +1,28 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/classes/spec", "module": "commonjs", + "composite": true, + "declaration": true, "types": [ "vitest/globals", "node" ] }, "include": [ - "**/*.test.ts", - "**/*.spec.ts", - "**/*.d.ts" + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts", + "shim/**/*.ts" + ], + "exclude": [ + "transformer-plugin/**/*", + "mapped-types/**/*" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } ] } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 476dbc7b4..888e541c1 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -14,6 +14,9 @@ "references": [ { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/core/tsconfig.spec.json b/packages/core/tsconfig.spec.json index 2aa4370c5..7605bc918 100644 --- a/packages/core/tsconfig.spec.json +++ b/packages/core/tsconfig.spec.json @@ -1,8 +1,10 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/core/spec", "module": "commonjs", + "composite": true, + "declaration": true, "types": [ "vitest/globals", "node", @@ -13,5 +15,10 @@ "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } ] } diff --git a/packages/integration-test/tsconfig.json b/packages/integration-test/tsconfig.json index 69a7b0fae..270e59570 100644 --- a/packages/integration-test/tsconfig.json +++ b/packages/integration-test/tsconfig.json @@ -14,6 +14,9 @@ "references": [ { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/integration-test/tsconfig.spec.json b/packages/integration-test/tsconfig.spec.json index e35d67a3f..b9cde9034 100644 --- a/packages/integration-test/tsconfig.spec.json +++ b/packages/integration-test/tsconfig.spec.json @@ -1,8 +1,10 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "../../dist/out-tsc/integration-test/spec", "module": "commonjs", + "composite": true, + "declaration": true, "types": [ "vitest/globals", "node", @@ -12,7 +14,26 @@ "include": [ "**/*.test.ts", "**/*.spec.ts", - "**/*.d.ts", - "vitest.config.ts" + "**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "../core/tsconfig.lib.json" + }, + { + "path": "../classes/tsconfig.lib.json" + }, + { + "path": "../classes/transformer-plugin/tsconfig.lib.json" + }, + { + "path": "../nestjs/tsconfig.lib.json" + }, + { + "path": "../pojos/tsconfig.lib.json" + } ] } From 71be873d233618b106c65cb7fcaf799fbf62d76f Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:55:56 -0400 Subject: [PATCH 47/73] ci: gate typecheck + sync:check in CI - add `typecheck` (nx run-many --target=typecheck) and `sync:check` (nx sync:check) pnpm scripts - run them in the verify job: sync:check right after install (fail fast on tsconfig project-reference drift), typecheck after lint, before package - the repo had no standalone type-only gate before; now every PR typechecks all 9 projects incl. specs Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- .github/workflows/ci.yml | 5 ++++- package.json | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8963f2a4..687018a47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ concurrency: jobs: verify: - name: lint · build · test (node ${{ matrix.node }}) + name: sync · lint · typecheck · build · test (node ${{ matrix.node }}) runs-on: ubuntu-latest strategy: fail-fast: false @@ -24,7 +24,10 @@ jobs: node-version: ${{ matrix.node }} - run: corepack enable - run: pnpm install --frozen-lockfile + # fail fast if tsconfig project references drift from the graph + - run: pnpm run sync:check - run: pnpm run lint + - run: pnpm run typecheck - run: pnpm run package - run: pnpm run test diff --git a/package.json b/package.json index f346af2eb..4fe868a4b 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "release:beta": "dotenv release-it -- major --preRelease=beta", "test": "nx run-many --all --target=test --parallel", "lint": "nx run-many --target=lint --parallel", + "typecheck": "nx run-many --target=typecheck --parallel", + "sync:check": "nx sync:check", "package": "nx run-many --target=package", "check:packages": "node tools/scripts/check-packages.mjs", "publish": "nx run-many --target=publish --all --parallel" From fe61c61a38d832b6b972c13b383577ecf0ef625a Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:55:56 -0400 Subject: [PATCH 48/73] chore(nestjs): narrow peer range to nestjs 10 || 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - @automapper/nestjs only consumes stable @nestjs/common DI/module/pipe primitives (Module, Inject, Optional, mixin, PipeTransform, DynamicModule, Provider, Type, ModuleMetadata, ArgumentMetadata) — none affected by nestjs 11 breaking changes (express 5, fastify 5, cache-manager, logger), so 10 and 11 both work; no hard 11 cutover - drop the untested ancient ^7/^8/^9 majors from the peer range (only 10/11 are realistically supported/tested for 9.0); the express v4->v5 concern is the nestjs app's, not this integration's Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- packages/nestjs/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index d1d35e2ce..a5f789d3f 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -7,8 +7,8 @@ }, "peerDependencies": { "@automapper/core": "^9.0.0-alpha.0", - "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", - "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0" + "@nestjs/common": "^10.0.0 || ^11.0.0", + "@nestjs/core": "^10.0.0 || ^11.0.0" }, "devDependencies": { "@automapper/core": "workspace:*" From 54daf7226e6aa475f7fadd825cefdeba8e502bc6 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:13:42 -0400 Subject: [PATCH 49/73] build: add default condition + package.json export to dist manifests - condFor now emits a `default` condition mirroring `import` (catch-all for non-standard resolvers that don't honor the `import` condition); order is types -> import -> default, still ESM-only (no `require`) - export `./package.json` so tooling can resolve '/package.json' - publint + attw stay green (attw reports ./package.json as JSON); package 6/6 Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- tools/scripts/build-packages.mjs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/scripts/build-packages.mjs b/tools/scripts/build-packages.mjs index 7266df221..c8f976bb5 100644 --- a/tools/scripts/build-packages.mjs +++ b/tools/scripts/build-packages.mjs @@ -78,10 +78,14 @@ function tsdown({ entry, outDir, external, tsconfig }) { }); } -// ESM-only conditions: no `require` branch (CommonJS is intentionally dropped in 9.0). +// ESM-only conditions: no `require` branch (CommonJS is intentionally dropped in +// 9.0). `default` mirrors `import` as a catch-all for non-standard resolvers that +// don't honor the `import` condition. Order matters: types, then import, then the +// default fallback last. const condFor = (prefix) => ({ types: `${prefix}index.d.mts`, import: `${prefix}index.mjs`, + default: `${prefix}index.mjs`, }); for (const pkg of targets) { @@ -112,6 +116,9 @@ for (const pkg of targets) { exportsMap[sp.key] = condFor(`./${sp.sub}/`); } + // expose package.json (some tooling resolves '/package.json') + exportsMap['./package.json'] = './package.json'; + // frontend shim (classes): bare tsc, matches the 8.x published shim/index.js // `--ignoreConfig` skips the workspace root tsconfig.json (TS5112) since // files are passed on the command line. From 849295f3844a27ab970399b986d175771398261a Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:26:06 -0400 Subject: [PATCH 50/73] build: sync pnpm-lock.yaml after nestjs peer narrow - fe61c61 narrowed the @nestjs peer range but left pnpm-lock.yaml recording the old specifier; `pnpm install --frozen-lockfile` (CI default) failed with ERR_PNPM_OUTDATED_LOCKFILE. regenerate the lockfile so frozen install passes. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- pnpm-lock.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8545303ce..99b57e29f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -217,10 +217,10 @@ importers: packages/nestjs: dependencies: '@nestjs/common': - specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 + specifier: ^10.0.0 || ^11.0.0 version: 11.1.27(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': - specifier: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 + specifier: ^10.0.0 || ^11.0.0 version: 11.1.27(@nestjs/common@11.1.27)(@nestjs/platform-express@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.1) devDependencies: '@automapper/core': From 95d8f2d47a8d66baaddadd2c2573e5fb99561f74 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:26:32 -0400 Subject: [PATCH 51/73] ci: add nestjs 10 compatibility job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - certify the lower bound of @automapper/nestjs's ^10||^11 peer range: a job that downgrades @nestjs/{common,core,testing,platform-express} to v10 and runs the DI integration specs (Test.createTestingModule, mapper module, map pipe/ interceptor, @InjectMapper) - validated locally first (isolated worktree): nestjs 10.4.22 resolves cleanly, all 143 integration tests pass — nestjs 10 now proven, not just inferred - nestjs 11 stays covered by the main verify job (installed version) Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- .github/workflows/ci.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 687018a47..414a7cf4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,3 +43,20 @@ jobs: - run: pnpm install --frozen-lockfile - run: pnpm run package - run: pnpm run check:packages + + # The main verify job runs against nestjs 11 (the installed version). This job + # certifies the lower bound of @automapper/nestjs's `^10 || ^11` peer range by + # downgrading the @nestjs runtime to v10 and running the DI integration specs. + nestjs-compat: + name: nestjs 10 compat + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '22' + - run: corepack enable + - run: pnpm install --frozen-lockfile + # downgrade only the @nestjs runtime; rxjs/reflect-metadata span both majors + - run: pnpm add -w @nestjs/common@^10 @nestjs/core@^10 @nestjs/testing@^10 @nestjs/platform-express@^10 + - run: pnpm exec nx run integration-test:test From 33c11b8080376cd890c63e4b313441e933388790 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 15:42:48 -0400 Subject: [PATCH 52/73] docs: add redesign spec --- .../specs/2026-06-23-docs-redesign-design.md | 238 ++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-23-docs-redesign-design.md diff --git a/docs/superpowers/specs/2026-06-23-docs-redesign-design.md b/docs/superpowers/specs/2026-06-23-docs-redesign-design.md new file mode 100644 index 000000000..49950fc86 --- /dev/null +++ b/docs/superpowers/specs/2026-06-23-docs-redesign-design.md @@ -0,0 +1,238 @@ +# AutoMapper TypeScript Docs Redesign + +## Context + +The docs were migrated from Docusaurus to Astro and Starlight in `packages/docs`. +The first migration preserved content and generated API docs, but the site still +needs a deliberate design and content pass. + +Current issues to address: + +- The copied logo asset still reads as a Docusaurus-era asset, not an + AutoMapper TypeScript identity. +- The homepage hero uses a generic programming background image. +- Code examples should follow Starlight and Expressive Code authoring patterns. +- The docs should be rewritten, not only converted, so the new site starts with + a clearer information architecture and voice. + +## Approved Direction + +Use a practical, docs-led product homepage and a full content rewrite. + +The homepage direction is light-first, professional, and focused on helping +developers reach the right docs path quickly. The main positioning is: + +> Map by convention. Configure the exceptions. + +The rewrite should use a teacherly but compact voice: explain the reason for a +concept, then show focused TypeScript examples without long essays. + +## Homepage + +The homepage should feel like the front door to a strong documentation site, not +a marketing splash page. + +Hero requirements: + +- Use a new custom AutoMapper TypeScript logo. +- Use a typed mapper glyph direction for the mark, based around a compact + generic-type visual such as ``. +- Use the headline "Map by convention. Configure the exceptions." +- Explain that AutoMapper TypeScript moves data between domain, DTO, and + persistence shapes without repetitive property assignment. +- Provide a primary CTA for new users, such as "Start mapping". +- Provide a secondary CTA for migration users, such as "Migrate to v9". +- Replace the stock hero image with a custom source-to-target mapping diagram. +- Use real mapping terms in the diagram, such as `User`, `UserDto`, + `createMap()`, `profile.bio`, and `fullName`. + +Below the hero, route users into three clear paths: + +- New to AutoMapper: concept, install, and first map. +- Migrating to v9: Node 20, ESM, package exports, removed packages, and peer + updates. +- Using a framework or strategy: NestJS, classes, POJOs, MikroORM, and + Sequelize. + +Include a compact explanation of why the library exists: + +- Convention-based property mapping. +- Explicit member configuration when conventions are not enough. +- Profiles for organizing mappings. +- Strategies for different model styles. + +Avoid: + +- Generic stock programming imagery. +- Docusaurus visual identity. +- A large marketing-only landing page that hides the docs entry points. + +## Documentation Information Architecture + +Organize the docs around learning paths first, then reference. + +Proposed sidebar: + +1. Start Here + - Overview + - Install + - First map + - Mental model + +2. Learn AutoMapper + - Create a mapper + - Define mappings + - Map objects and arrays + - Profiles + - Nested mapping + - Flattening + - Naming conventions + - Before/after hooks + - Mapping arguments + +3. Configure Members + - `forMember()` + - `mapFrom()` + - `ignore()` + - `condition()` + - `fromValue()` + - `mapWith()` + - `convertUsing()` + - null/undefined substitution + - deferred mapping + +4. Strategies & Integrations + - Classes + - POJOs + - NestJS + - MikroORM + - Sequelize + - mapped types + - transformer plugin + +5. Migration + - v8 to v9 + - v7 to v8 as legacy migration reference + - package and runtime changes + +6. Reference + - Concepts glossary + - Recipes + - Generated API docs + +Generated API docs should remain available but should not carry the learning +experience. + +## Content Rewrite Rules + +Treat the migrated docs as source material, not final prose. + +Each conceptual page should: + +- Start with the problem the page solves. +- State the recommended path. +- Show a small, consistent TypeScript example. +- Explain the important details after the example. +- Link to related concepts or reference pages. + +Use consistent example names across the docs: + +- `User` +- `UserDto` +- `Profile` +- `Address` +- `Bio` + +Preserve current v9 branch facts: + +- Node.js 20 or newer. +- ESM-only packages. +- Package exports and subpath imports. +- NestJS 10 and 11 peer support. +- `@automapper/zod` removal. +- Current strategy package behavior. + +Use Starlight components where they improve scanning: + +- `Tabs` +- `Steps` +- `Aside` +- `LinkCard` +- `CardGrid` + +## Code Examples + +Follow Starlight's Expressive Code syntax for code snippets. + +Use: + +- language identifiers such as `ts`, `bash`, and `diff lang="ts"`; +- titles such as `title="mapping-profile.ts"`; +- line highlights such as `{3-6}`; +- text highlights such as `"createMap"`; +- inserted and deleted markers for migration snippets; +- terminal-style frames for shell commands. + +Avoid custom code block rendering unless the homepage needs a decorative code +panel. Documentation content should rely on Expressive Code. + +## Theme And Visual System + +The design should feel light-first while preserving Starlight's theme selector. +Do not disable light/dark/auto switching. + +Use TypeScript blue as the primary color: + +- Primary: `#3178c6` +- Darker accent: `#123b63` +- Light accent: `#dbeafe` + +Dark mode should be supported by Starlight variables and Expressive Code themes, +but it should not feel like the only intended experience. + +The final visual system should include: + +- custom AutoMapper logo SVG; +- favicon derived from the new logo; +- homepage mapping diagram; +- consistent card and CTA styling; +- readable code highlighting in both light and dark themes. + +## Implementation Scope + +Pass 1: site shell and homepage. + +- Replace Docusaurus-era logo assets. +- Add the custom typed mapper mark. +- Replace the external hero image with a custom mapping diagram. +- Confirm Starlight theme switching works. +- Configure Expressive Code explicitly for readable light and dark TypeScript + examples. +- Make the homepage responsive and stable on mobile and desktop. + +Pass 2: content rewrite. + +- Rewrite the docs tree into the approved IA. +- Convert examples to consistent TypeScript examples. +- Replace old snippets with Expressive Code syntax. +- Preserve v9 migration facts. +- Keep generated API docs isolated under Reference. +- Keep `starlight-blog` for release notes, but make it secondary. + +## Verification + +Run: + +```bash +pnpm --dir packages/docs check +``` + +```bash +pnpm --dir packages/docs build +``` + +The build should pass, generated pages should remain valid, and the +`starlight-links-validator` plugin should not report broken internal links. + +For homepage and visual changes, inspect the running site or screenshots across +desktop and mobile viewport sizes. From a5e669a66a0744d8746fb3488cadc49f7ff4c353 Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 15:47:32 -0400 Subject: [PATCH 53/73] chore: ignore superpowers artifacts --- .../2026-06-21-github-triage-followups.md | 107 -------- .../specs/2026-06-23-docs-redesign-design.md | 238 ------------------ 2 files changed, 345 deletions(-) delete mode 100644 docs/superpowers/plans/2026-06-21-github-triage-followups.md delete mode 100644 docs/superpowers/specs/2026-06-23-docs-redesign-design.md diff --git a/docs/superpowers/plans/2026-06-21-github-triage-followups.md b/docs/superpowers/plans/2026-06-21-github-triage-followups.md deleted file mode 100644 index e88000ba9..000000000 --- a/docs/superpowers/plans/2026-06-21-github-triage-followups.md +++ /dev/null @@ -1,107 +0,0 @@ -# GitHub Triage Followups - -Created from valid PR work that should not be lost after closing stale or superseded PRs during the `chore/9.0-migrate` triage. - -Also includes recent issues reopened after correcting the initial triage pass, where closing under the 9.0 umbrella was too aggressive. - -## Followup items - -### Async mapping parity - -Source PRs/issues: #537, #622 - -- Audit async mapping behavior against the closed PRs. -- Ensure async member resolvers, `beforeMap`, and `afterMap` are awaited consistently. -- Check whether any PR behavior is still missing from the `chore/9.0-migrate` true async mapping implementation. -- Add focused regression coverage for any remaining async parity gaps. - -Status: partially addressed in this sweep with async `beforeMap` sequencing coverage/fix; broader #622 parity items remain design-sized. - -### Similar-prefix flattening - -Source issues/PRs: #624, #573, #601 - -- Revisit flattening behavior when source member names share similar prefixes. -- Add regression coverage for nested properties whose names overlap by prefix. -- Confirm branch behavior does not accidentally bind to the wrong flattened source path. - -Status: addressed in this sweep with `getFlatteningPaths` unit coverage and #624 integration coverage. - -### Mapping-level array callbacks - -Source PR: #618 - -- Evaluate whether `beforeMapArray` and `afterMapArray` should be first-class mapping-level callbacks. -- Decide API shape and consistency with existing `beforeMap` / `afterMap` semantics. -- If accepted, add implementation and array-specific regression coverage. - -Status: addressed in this sweep with `beforeMapArray` / `afterMapArray`, sync/override/async coverage, and mutate-array slot initialization fix. - -### Windows transformer path rewriting - -Source PR: #619 - -- Audit transformer path rewriting on Windows paths. -- Add path normalization tests for backslash-separated paths. -- Ensure generated or rewritten import paths remain portable across Windows and POSIX. - -Status: addressed in this sweep with focused POSIX/Windows `replaceImportPath` coverage and normalized path rewriting. - -### Private constructor / factory construction support - -Source issue: #625 - -- Investigate type/runtime support for destination classes with private constructors. -- Determine whether `constructUsing` plus a static factory method can support this without weakening constructor typing too broadly. -- Add a type-level regression test for classes that cannot be directly constructed but can be produced by a factory. - -Status: addressed in this sweep by widening model identifiers and adding #625 coverage. - -### Logger output bug - -Source issue: #616 - -- Fix `AutoMapperLogger` methods so default logging actually invokes `console.*`. -- Current implementation still uses `console.*.bind(...)` without calling the bound function. -- Add coverage or a small regression check for default warning/error output. - -Status: addressed in this sweep with unit coverage for all default logger methods. - -### Abstract constructor typing with `constructUsing` - -Source issue: #614 - -- Investigate `ModelIdentifier` / `Constructor` typing for abstract destination classes. -- Ensure `constructUsing` can map to an abstract base type when the callback returns a concrete subclass. -- Add type-level coverage for abstract base destination identifiers. - -Status: addressed in this sweep by widening model identifiers and adding #614 coverage. - -### Union-type `@AutoMap()` metadata behavior - -Source issue: #600 - -- Revisit `@AutoMap()` behavior when `design:type` is `Object` for union types like `string | null`. -- Decide whether inferred `Object` should remain skipped, emit better guidance, or support a safe fallback. -- Add docs or regression coverage for nullable/union primitive properties. - -Status: intentionally deferred. Runtime `design:type === Object` is ambiguous; a blanket change would also affect arbitrary object/interface fields. Keep issue open for explicit API/docs design. - -### Undefined property after mapping with mixed explicit/implicit members - -Source issue: #595 - -- Reproduce the reported case where an explicitly mapped `Date -> string` member causes another matching `id` member to remain `undefined`. -- Determine whether this is a configuration gap, metadata issue, or core mapping bug. -- Add a focused repro before changing behavior. - -Status: regression added in this sweep; current behavior already preserves implicit mapping, so no production fix was needed. - -### UI/card styling contribution - -Source issue: #623 - -- Re-evaluate whether the docs/site UI card styling proposal still applies. -- If accepted, scope it as a separate UI/docs task rather than mixing with 9.0 runtime work. - -Status: deferred. Docs UI work should wait until the docs platform direction is decided. diff --git a/docs/superpowers/specs/2026-06-23-docs-redesign-design.md b/docs/superpowers/specs/2026-06-23-docs-redesign-design.md deleted file mode 100644 index 49950fc86..000000000 --- a/docs/superpowers/specs/2026-06-23-docs-redesign-design.md +++ /dev/null @@ -1,238 +0,0 @@ -# AutoMapper TypeScript Docs Redesign - -## Context - -The docs were migrated from Docusaurus to Astro and Starlight in `packages/docs`. -The first migration preserved content and generated API docs, but the site still -needs a deliberate design and content pass. - -Current issues to address: - -- The copied logo asset still reads as a Docusaurus-era asset, not an - AutoMapper TypeScript identity. -- The homepage hero uses a generic programming background image. -- Code examples should follow Starlight and Expressive Code authoring patterns. -- The docs should be rewritten, not only converted, so the new site starts with - a clearer information architecture and voice. - -## Approved Direction - -Use a practical, docs-led product homepage and a full content rewrite. - -The homepage direction is light-first, professional, and focused on helping -developers reach the right docs path quickly. The main positioning is: - -> Map by convention. Configure the exceptions. - -The rewrite should use a teacherly but compact voice: explain the reason for a -concept, then show focused TypeScript examples without long essays. - -## Homepage - -The homepage should feel like the front door to a strong documentation site, not -a marketing splash page. - -Hero requirements: - -- Use a new custom AutoMapper TypeScript logo. -- Use a typed mapper glyph direction for the mark, based around a compact - generic-type visual such as ``. -- Use the headline "Map by convention. Configure the exceptions." -- Explain that AutoMapper TypeScript moves data between domain, DTO, and - persistence shapes without repetitive property assignment. -- Provide a primary CTA for new users, such as "Start mapping". -- Provide a secondary CTA for migration users, such as "Migrate to v9". -- Replace the stock hero image with a custom source-to-target mapping diagram. -- Use real mapping terms in the diagram, such as `User`, `UserDto`, - `createMap()`, `profile.bio`, and `fullName`. - -Below the hero, route users into three clear paths: - -- New to AutoMapper: concept, install, and first map. -- Migrating to v9: Node 20, ESM, package exports, removed packages, and peer - updates. -- Using a framework or strategy: NestJS, classes, POJOs, MikroORM, and - Sequelize. - -Include a compact explanation of why the library exists: - -- Convention-based property mapping. -- Explicit member configuration when conventions are not enough. -- Profiles for organizing mappings. -- Strategies for different model styles. - -Avoid: - -- Generic stock programming imagery. -- Docusaurus visual identity. -- A large marketing-only landing page that hides the docs entry points. - -## Documentation Information Architecture - -Organize the docs around learning paths first, then reference. - -Proposed sidebar: - -1. Start Here - - Overview - - Install - - First map - - Mental model - -2. Learn AutoMapper - - Create a mapper - - Define mappings - - Map objects and arrays - - Profiles - - Nested mapping - - Flattening - - Naming conventions - - Before/after hooks - - Mapping arguments - -3. Configure Members - - `forMember()` - - `mapFrom()` - - `ignore()` - - `condition()` - - `fromValue()` - - `mapWith()` - - `convertUsing()` - - null/undefined substitution - - deferred mapping - -4. Strategies & Integrations - - Classes - - POJOs - - NestJS - - MikroORM - - Sequelize - - mapped types - - transformer plugin - -5. Migration - - v8 to v9 - - v7 to v8 as legacy migration reference - - package and runtime changes - -6. Reference - - Concepts glossary - - Recipes - - Generated API docs - -Generated API docs should remain available but should not carry the learning -experience. - -## Content Rewrite Rules - -Treat the migrated docs as source material, not final prose. - -Each conceptual page should: - -- Start with the problem the page solves. -- State the recommended path. -- Show a small, consistent TypeScript example. -- Explain the important details after the example. -- Link to related concepts or reference pages. - -Use consistent example names across the docs: - -- `User` -- `UserDto` -- `Profile` -- `Address` -- `Bio` - -Preserve current v9 branch facts: - -- Node.js 20 or newer. -- ESM-only packages. -- Package exports and subpath imports. -- NestJS 10 and 11 peer support. -- `@automapper/zod` removal. -- Current strategy package behavior. - -Use Starlight components where they improve scanning: - -- `Tabs` -- `Steps` -- `Aside` -- `LinkCard` -- `CardGrid` - -## Code Examples - -Follow Starlight's Expressive Code syntax for code snippets. - -Use: - -- language identifiers such as `ts`, `bash`, and `diff lang="ts"`; -- titles such as `title="mapping-profile.ts"`; -- line highlights such as `{3-6}`; -- text highlights such as `"createMap"`; -- inserted and deleted markers for migration snippets; -- terminal-style frames for shell commands. - -Avoid custom code block rendering unless the homepage needs a decorative code -panel. Documentation content should rely on Expressive Code. - -## Theme And Visual System - -The design should feel light-first while preserving Starlight's theme selector. -Do not disable light/dark/auto switching. - -Use TypeScript blue as the primary color: - -- Primary: `#3178c6` -- Darker accent: `#123b63` -- Light accent: `#dbeafe` - -Dark mode should be supported by Starlight variables and Expressive Code themes, -but it should not feel like the only intended experience. - -The final visual system should include: - -- custom AutoMapper logo SVG; -- favicon derived from the new logo; -- homepage mapping diagram; -- consistent card and CTA styling; -- readable code highlighting in both light and dark themes. - -## Implementation Scope - -Pass 1: site shell and homepage. - -- Replace Docusaurus-era logo assets. -- Add the custom typed mapper mark. -- Replace the external hero image with a custom mapping diagram. -- Confirm Starlight theme switching works. -- Configure Expressive Code explicitly for readable light and dark TypeScript - examples. -- Make the homepage responsive and stable on mobile and desktop. - -Pass 2: content rewrite. - -- Rewrite the docs tree into the approved IA. -- Convert examples to consistent TypeScript examples. -- Replace old snippets with Expressive Code syntax. -- Preserve v9 migration facts. -- Keep generated API docs isolated under Reference. -- Keep `starlight-blog` for release notes, but make it secondary. - -## Verification - -Run: - -```bash -pnpm --dir packages/docs check -``` - -```bash -pnpm --dir packages/docs build -``` - -The build should pass, generated pages should remain valid, and the -`starlight-links-validator` plugin should not report broken internal links. - -For homepage and visual changes, inspect the running site or screenshots across -desktop and mobile viewport sizes. From 20220bdd4f8657ebfa4031db83c7f8b94ec7267a Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 15:48:16 -0400 Subject: [PATCH 54/73] chore: ignore agent artifacts --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0db783d46..92471ba8f 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,8 @@ old .nx/workspace-data .claude/worktrees .nx/polygraph -.nx/self-healing \ No newline at end of file +.nx/self-healing + +# local agent planning and visual brainstorming artifacts +.superpowers/ +docs/superpowers/ From 360a6f8ae37760d7cf9e09e613c97351286364ee Mon Sep 17 00:00:00 2001 From: Chau <25516557+nartc@users.noreply.github.com> Date: Tue, 23 Jun 2026 16:12:11 -0400 Subject: [PATCH 55/73] docs: remove unused duplicate documentation package - packages/documentation (singular) is a stale near-duplicate of packages/documentations (plural); the Docusaurus CI workflow only builds/deploys the plural, and nothing references the singular project. The plural even has the docs/api tree the singular lacks. Removing the dead copy ahead of the Astro migration. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01D3QKehd9vh9gn8obMVYo6G --- packages/documentation/.gitignore | 20 - packages/documentation/README.md | 41 - packages/documentation/babel.config.js | 3 - .../blog/2019-05-28-first-blog-post.md | 12 - .../blog/2019-05-29-long-blog-post.md | 44 - .../blog/2021-08-01-mdx-blog-post.mdx | 20 - .../docusaurus-plushie-banner.jpeg | Bin 96122 -> 0 bytes .../blog/2021-08-26-welcome/index.md | 25 - packages/documentation/blog/authors.yml | 17 - .../docs/fundamentals/auto-flattening.mdx | 123 - .../docs/fundamentals/mapper.mdx | 80 - .../docs/fundamentals/mapping.mdx | 49 - .../docs/fundamentals/mutation.mdx | 31 - .../docs/fundamentals/naming-convention.mdx | 51 - .../docs/getting-started/installation.mdx | 62 - .../docs/getting-started/migrate-v8.mdx | 658 -- .../docs/getting-started/overview.mdx | 44 - .../docs/mapping-configuration/after-map.mdx | 74 - .../docs/mapping-configuration/auto-map.mdx | 57 - .../docs/mapping-configuration/before-map.mdx | 46 - .../mapping-configuration/construct-using.mdx | 25 - .../docs/mapping-configuration/extend.mdx | 28 - .../for-member/condition.mdx | 40 - .../for-member/convert-using.mdx | 43 - .../for-member/from-value.mdx | 19 - .../for-member/ignore.mdx | 19 - .../for-member/map-defer.mdx | 32 - .../for-member/map-from.mdx | 53 - .../for-member/map-with-arguments.mdx | 53 - .../for-member/map-with.mdx | 40 - .../for-member/null-substitution.mdx | 31 - .../for-member/overview.mdx | 46 - .../for-member/undefined-substitution.mdx | 30 - .../docs/mapping-configuration/for-self.mdx | 127 - .../naming-conventions.mdx | 36 - .../docs/mapping-configuration/overview.mdx | 89 - .../mapping-configuration/type-converters.mdx | 105 - .../documentation/docs/misc/fake-async.mdx | 32 - .../documentation/docs/misc/mapped-types.mdx | 115 - .../documentation/docs/misc/self-mapping.mdx | 55 - .../docs/misc/transformer-plugin.mdx | 281 - packages/documentation/docs/nestjs.mdx | 200 - .../documentation/docs/strategies/classes.mdx | 116 - .../documentation/docs/strategies/mikro.mdx | 40 - .../documentation/docs/strategies/pojos.mdx | 206 - .../docs/strategies/sequelize.mdx | 47 - .../docs/tutorial/create-mapper.mdx | 165 - .../docs/tutorial/create-mapping.mdx | 89 - .../docs/tutorial/mapping-configurations.mdx | 251 - .../docs/tutorial/mapping-profile.mdx | 113 - .../documentation/docs/tutorial/preface.mdx | 103 - packages/documentation/docusaurus.config.js | 149 - packages/documentation/package.json | 43 - packages/documentation/pnpm-lock.yaml | 8496 ----------------- packages/documentation/project.json | 7 - packages/documentation/sidebars.js | 157 - .../src/components/HomepageFeatures/index.js | 92 - .../HomepageFeatures/styles.module.css | 11 - packages/documentation/src/css/custom.css | 57 - packages/documentation/src/pages/index.js | 39 - .../documentation/src/pages/index.module.css | 23 - .../documentation/src/pages/markdown-page.md | 7 - packages/documentation/static/.nojekyll | 0 packages/documentation/static/for-member.gif | Bin 23492103 -> 0 bytes .../static/img/docusaurus-social-card.jpg | Bin 55746 -> 0 bytes .../documentation/static/img/docusaurus.png | Bin 5142 -> 0 bytes packages/documentation/static/img/favicon.ico | Bin 3626 -> 0 bytes packages/documentation/static/img/logo.png | Bin 78460 -> 0 bytes packages/documentation/static/img/logo.svg | 1 - .../static/img/undraw_docusaurus_mountain.svg | 171 - .../static/img/undraw_docusaurus_react.svg | 170 - .../static/img/undraw_docusaurus_tree.svg | 40 - 72 files changed, 13549 deletions(-) delete mode 100644 packages/documentation/.gitignore delete mode 100644 packages/documentation/README.md delete mode 100644 packages/documentation/babel.config.js delete mode 100644 packages/documentation/blog/2019-05-28-first-blog-post.md delete mode 100644 packages/documentation/blog/2019-05-29-long-blog-post.md delete mode 100644 packages/documentation/blog/2021-08-01-mdx-blog-post.mdx delete mode 100644 packages/documentation/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg delete mode 100644 packages/documentation/blog/2021-08-26-welcome/index.md delete mode 100644 packages/documentation/blog/authors.yml delete mode 100644 packages/documentation/docs/fundamentals/auto-flattening.mdx delete mode 100644 packages/documentation/docs/fundamentals/mapper.mdx delete mode 100644 packages/documentation/docs/fundamentals/mapping.mdx delete mode 100644 packages/documentation/docs/fundamentals/mutation.mdx delete mode 100644 packages/documentation/docs/fundamentals/naming-convention.mdx delete mode 100644 packages/documentation/docs/getting-started/installation.mdx delete mode 100644 packages/documentation/docs/getting-started/migrate-v8.mdx delete mode 100644 packages/documentation/docs/getting-started/overview.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/after-map.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/auto-map.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/before-map.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/construct-using.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/extend.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/condition.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/convert-using.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/from-value.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/ignore.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/map-defer.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/map-from.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/map-with-arguments.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/map-with.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/null-substitution.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/overview.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-member/undefined-substitution.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/for-self.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/naming-conventions.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/overview.mdx delete mode 100644 packages/documentation/docs/mapping-configuration/type-converters.mdx delete mode 100644 packages/documentation/docs/misc/fake-async.mdx delete mode 100644 packages/documentation/docs/misc/mapped-types.mdx delete mode 100644 packages/documentation/docs/misc/self-mapping.mdx delete mode 100644 packages/documentation/docs/misc/transformer-plugin.mdx delete mode 100644 packages/documentation/docs/nestjs.mdx delete mode 100644 packages/documentation/docs/strategies/classes.mdx delete mode 100644 packages/documentation/docs/strategies/mikro.mdx delete mode 100644 packages/documentation/docs/strategies/pojos.mdx delete mode 100644 packages/documentation/docs/strategies/sequelize.mdx delete mode 100644 packages/documentation/docs/tutorial/create-mapper.mdx delete mode 100644 packages/documentation/docs/tutorial/create-mapping.mdx delete mode 100644 packages/documentation/docs/tutorial/mapping-configurations.mdx delete mode 100644 packages/documentation/docs/tutorial/mapping-profile.mdx delete mode 100644 packages/documentation/docs/tutorial/preface.mdx delete mode 100644 packages/documentation/docusaurus.config.js delete mode 100644 packages/documentation/package.json delete mode 100644 packages/documentation/pnpm-lock.yaml delete mode 100644 packages/documentation/project.json delete mode 100644 packages/documentation/sidebars.js delete mode 100644 packages/documentation/src/components/HomepageFeatures/index.js delete mode 100644 packages/documentation/src/components/HomepageFeatures/styles.module.css delete mode 100644 packages/documentation/src/css/custom.css delete mode 100644 packages/documentation/src/pages/index.js delete mode 100644 packages/documentation/src/pages/index.module.css delete mode 100644 packages/documentation/src/pages/markdown-page.md delete mode 100644 packages/documentation/static/.nojekyll delete mode 100644 packages/documentation/static/for-member.gif delete mode 100644 packages/documentation/static/img/docusaurus-social-card.jpg delete mode 100644 packages/documentation/static/img/docusaurus.png delete mode 100644 packages/documentation/static/img/favicon.ico delete mode 100644 packages/documentation/static/img/logo.png delete mode 100644 packages/documentation/static/img/logo.svg delete mode 100644 packages/documentation/static/img/undraw_docusaurus_mountain.svg delete mode 100644 packages/documentation/static/img/undraw_docusaurus_react.svg delete mode 100644 packages/documentation/static/img/undraw_docusaurus_tree.svg diff --git a/packages/documentation/.gitignore b/packages/documentation/.gitignore deleted file mode 100644 index b2d6de306..000000000 --- a/packages/documentation/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/packages/documentation/README.md b/packages/documentation/README.md deleted file mode 100644 index aaba2fa1e..000000000 --- a/packages/documentation/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Website - -This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. - -### Installation - -``` -$ yarn -``` - -### Local Development - -``` -$ yarn start -``` - -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. - -### Build - -``` -$ yarn build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true yarn deploy -``` - -Not using SSH: - -``` -$ GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/packages/documentation/babel.config.js b/packages/documentation/babel.config.js deleted file mode 100644 index e00595dae..000000000 --- a/packages/documentation/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/packages/documentation/blog/2019-05-28-first-blog-post.md b/packages/documentation/blog/2019-05-28-first-blog-post.md deleted file mode 100644 index 02f3f81bd..000000000 --- a/packages/documentation/blog/2019-05-28-first-blog-post.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -slug: first-blog-post -title: First Blog Post -authors: - name: Gao Wei - title: Docusaurus Core Team - url: https://github.com/wgao19 - image_url: https://github.com/wgao19.png -tags: [hola, docusaurus] ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet diff --git a/packages/documentation/blog/2019-05-29-long-blog-post.md b/packages/documentation/blog/2019-05-29-long-blog-post.md deleted file mode 100644 index 26ffb1b1f..000000000 --- a/packages/documentation/blog/2019-05-29-long-blog-post.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -slug: long-blog-post -title: Long Blog Post -authors: endi -tags: [hello, docusaurus] ---- - -This is the summary of a very long blog post, - -Use a `` comment to limit blog post size in the list view. - - - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet diff --git a/packages/documentation/blog/2021-08-01-mdx-blog-post.mdx b/packages/documentation/blog/2021-08-01-mdx-blog-post.mdx deleted file mode 100644 index c04ebe323..000000000 --- a/packages/documentation/blog/2021-08-01-mdx-blog-post.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -slug: mdx-blog-post -title: MDX Blog Post -authors: [slorber] -tags: [docusaurus] ---- - -Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/). - -:::tip - -Use the power of React to create interactive blog posts. - -```js - -``` - - - -::: diff --git a/packages/documentation/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg b/packages/documentation/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg deleted file mode 100644 index 11bda0928456b12f8e53d0ba5709212a4058d449..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96122 zcmb4pbySp3_%AIb($d}CN{6sCNbJIblrCK=AuXwZ)Y2^7EXyvibPLiUv2=*iETNcDDZ-!M(5gfan1QF);-jEfp=>|F`_>!=WO^Jtthn$K}Goqr%0f!u{8e!-9i@ zhmU(NIR8g*@o?}7?okromonkv{J(|wy~6vi^xrZLIX*599wk2Ieb#lAbZ*fz97a4{ zJY7PbSOUsOwNy1OwNzXx4iXOC|2z)keOwmKpd-&ia_{g7{tN#ng-gPNcc1#tlkjM! zO6lT6;ZU0JB&4eA(n2(-bp-FTi8b+f7%9WKh({QCB8bELa9lXp#GSXVPIvbL=ZA)_ zoqe{#7VMtQs`;Ng5O8q3j-8IgrN#}94v)TX4^NlszBRSzdq}A`TxwFd3|y~ciPQw? z%W89mZQrCUNI$g^7Oh9(UFDIP_r7lI7lWz&hZ1*kZ$baGz-#@nL4S(s3tjnk2vk5* zGnL>!jFf8k?c!+McUT=ympT%ld*3}>E?g-5z9LI_yzT>@2o6r3i2v)t?KwGOxzsp5 z--7^Xa4<>>P6hlaW!G1-kpn0Y2dq(kdhFvvV+2FM0)3np}3GKzTt;)#GZ=Z?W z!}GMkBmSB3taZb*d{@PnL&d_l(Ks(Z2Nbb?3HFfuIKl`Y+P!9$uuAsc53|NzT!gCE z{M_rr@ucO9AC$3tNI(^d8!3^&0lCM-kw_(|g&{O!)%`pqf8E|0W;wYyy}6&z6(2B; zRYt1FlHZ2C7vc@FdKzC@n?}jobe2D9^;P-sa5`IfwpE1e6#N|6qQw8o+38045pxM* z_59Aq@8~>dJCtqhns#jEI~z0hACBNUZ;I~qj_$}bPXswGCwZz`c=)~lO#R;=sD(%9 za&bUY81NY4aNY25K5M9{QQ`EOS{V4jzXdWnDdV2b8HKe6T<|X$Q%nTAemPnPhtCab z@I(`E5U22@kW&(;Pynv}zWp62&;CfRX7N~Ze4eAlaDu!0dW=(x2_An*}x3G&V2kUsI=T|3LqH$PFPB?r*Kh zT<(BanS8n8ZL2f{u<*C=c;#&Iv3z05|BtwHPyLVX$JfSZ-nPRGyw_WdBUAS?NhDHJ zmzyA*oPZ~V;9d%;G25NPBOfQ-_D`B?F5{09Gw9nt9ehQ4_7uLZZQvbQt_P+|;LlMZ8=jss zF^Gm7)AuJd!9`>njaJZ$iVyWbd6|Twl_cKuZ2N()vsz1j@E37vPyKyt=e2GqZ^MR~ zXIy^LItyv$VNEn)MYm=|*3p-TDZIgKxoy7MI3JQa*lF%)ARPfF;fs*DQ?da`y7oEU zh_lgIWD}kW>MyGS)zaY65j&?~?T{j(I0L8nXp-HVZ_c&_z>K4Vi_<5qV_D*Pmntfm zcZuH8?M-w;z;3X$(8R`DMJ?#^m#o9ZLE0Ismu8& zDF)Q?Teh3z;(@8v6Q-&8=w`afg3mLQ85XKF=>ht;Mk<9C({@^a!<@Wn&e@#S*tGZT zflx~uFh89d7#69BINhL^;7=1nNyD(`#`N(kcJFxJH1wC-G z;3~)5?Zx+e8gBGJEGIZpXCR@*4E3T{e~F3|np7zaFTW*H$6lk=q&W<9@%|HhT)JsG zi?G)xD*Su@aGq|R2%ww6-{29RSlN?n22{r1v7(>8AqB`_W!ed6MbYgY>Lr~WdJ&67xXmBw;p)KRhD8c| zJPCE$_%TC!QMW^NN%e0n5R2!O>QuB$oNP`QHKU(-$F6g084quR%O&2C0<#jZqHNw4 zg}XntN)!#<#jr(XMe}^|UlLdeBP*t#i${&;_yuBmDs$W2O;1E|sSj=;W^ zSyF|!M=xm-QCXVU7mQ}V(~7UrsKOIK5r4^7F*g0VH)w1<|34dC_`UQC*oTu=+B`9* z4Jh>4me{%44wl;7BDJkvDDWJ6SL?-=_fdbjK&XRp5Vk`9;#>i?%Motv>V(|7;A}}O zU8%V37GK!!mZHZ`7L5Ns*ztfB%;y+ar#4rSN%qi@zDw*8HNT7L@UTW-9V>6VIrIS2`w$ZVxrD_Pvo4;!t)?he`;kX47HQS z-ZH7w(v&VJyMNj9a9hr72G+d({AQb?zG8>o3fA&C9sA)(_LXsqbK3q#_q2In;XuQA z;NKnzM$3uO)*k{JyOnxO7id4ceg~27qWT|x^KLg)9iN9N9QmA0xoo+VRJA$ z_etyG#Z~#aXRpU(?tAXq{@pX43OnVh@LXP_K@+?k9bogc$6N&(^|_I7ezWOoTLFK- zq`ji~=M!@gj*9u2?}O^~rbKuIaGHS#4~<7S&j`ui!Fw}>9T~O9Fj^ zyN};L5Oen^`4*<%c5`ifzl|RH{yv(l$yZoAGe7Vxi@NG$b$bfy@^r|37dNU}^yhDP zg3>=6>ltZV(tkMK&y2yjHjZAHEU1)`Px7LL-ApPAQyMeeb~^%^Tw+x_#AO& zwY9CqLCRqDuj8Hhori(`zOq4#X2@itHGeu;Oe8noy z;iV-)*{@MgVV=ZE;SQoB`g@sly`(oumzOeyw^%x9Ge`JZfNAQ3n*xKER#RJN$@N3` zX|n~{{3NG=HSLm3|GFI)m9jjMj&1 zi`#yIC*L7GD%~$4EPts}*Rd@VTe(M6jJF8MDif>-iGqb9>Q9zYo92egEmZacG>pIx zT3XS%Wn7uU37^#?IO>Y1N%%BY>lt24Jq!#rl0 zE|_4f751``XY#Kqndv+Y0tJc@_=K|OoS7Hcx$j7now-)jIS@SJ7Z`qR{;qwEN!yw( zrtTrDt}LdyQl>pCJEisU{ExS-0(RC(8z?xeh0uYie&4|@NL1Kt!PTFRbK~9VJLd%? zyjj}ixr`csCmc9SDb<>2>GnCHm-i(a=t69-_MDt5ksjAVU7k>i!(BOET#;8#cwKh0 zjS=YVlpYl!E7+!y;RpeY=C=*|<%&Oh2+5qCv^JIR3Of1ue9k7N`?6YW;A+{c(pyeP z^ZpjVK^#7%E}QYRtS*uaK_K$Oyoq3%xOCV3?n&qBv}Qc;N8FQ2O#u{>slaV21l1Fc)AyIlbfdX7AExO{F?eOvERYJb;Ni zckPYRgfT@0Y4PwO%7BY@l#2<^fKapIft)oU2O*-JU&?8;Z7Q467Gqyc1RGqTp3zqn z_F<{stV*oYnEE+<1}A|K7({3kbdJ=r67p>3|7YtA6(Iw>`GxKnm1Ve>A@&z9Vvu8H`OuD7{B zMq(lkGSK&awU^aqf~Hx?^P4cUl^^fU&*kPEt$t4z0-PMDv!U}pIKO<9Sv;GRJ{qnc zM#0V^%Zxa5H(Iv{@2xzz5#$zpTWxaaiu@Y4QU89(yi{9^PHM{|J_i?6y zgf4QjZLTyomqcSjIJKGS3lb zSwmVhHvq>|mo6iNA+%kh;XIm9P0(Wjl%N@e!Uo|`7fqKQ0Yb{?nwhp%!%@R7IgQ(J zLdJbRkfT+8-daWy0_~Aj4@&Z<8;^K*_MKdo=%J+qo&7AP5Y>3CZDQwLk>VrP-iE3l z8mvBgeWl{(67&r>s zolqo}wttX5$056wr+?q;8$fEMMrSIe%AQCqi$0{Qt{6t|=rBnTL`u#0;b>^^q~bHE zp{uMeEEOF+C@Bea`ih=v`oWzl`fF0@xNrw_gl78Y95SqUn_wnsHu&(x4lD7hc2>u& z+c4)a*}b=lY{4v4Y@S1w5Z2f!Jq8LAqHhf&HyFe+xH zbfYn zuHOaD(3Z44uZnBo`1Un7x{2QW9QCOpsNS-qWe%Q$F)qV<&9q&PJhD?RJ@V!6b{5RuzyJ7cBd?%j{&sd zks}NY{pGQJFNu*E%g=q^iNCa_pTISw{g5lr<;sbC9@&D4|{$QCRNde}1aaR*iIJ>SkWWj9GmQq+0=}_`Y_Ek-oPg#tRE%68|XT zB;g{AmDK0gbP&>?-)o<(f8r}>S&x@WpxLhLJ6!VHvd^8m{d!dr7T3pz$ zkn$>3T~Nk?bRK9XEGr-E(p1z!l=>NOIE93eV1Q}%M}o=Jc(kJdFI%%?IHjKWBv=F- zs0kf#$k+|N^0Kmxpqs_13OW!7mM)n&4n{0j?O}zqJVqRfO0L;*JN}9tgHPRp+@oVB zL^!D_@iZhfor|uMCvR_WYBUa3qK1;a0Sidz=3nvFUmND_0QX-%no0}PDmmBm$!Q>E22?Y^dsKW0G}?bkHM8iy?HUZJe3D3p>1 z{o>d|o2RGDul?wm_UifFO%C!~|FkRJ8a~u-1G`aKtr9TmNLt2fx<)$)zT|Y_bZ~;j zZ}|?5bT+5#t2#Z&ZjZ&(>}e~tx(OssxQ3R?$4(c{8| zA{yv+v62$*(TsZHW7*HdBc_*TZp57AA09eH5#R)*7`b!#100}{HOmdQKm_miUqlBW zZD@x|#G<>fCMXis0q5cF%MdAB0y4U4`ufgyXagAF75QILp?OQMg)oJ-I5tcXNTV3c z^LdROg=LH8OWSuduIFYH>yoIy>?K#m=7i9g&A;qZckd=Qq`Af993c<1HC+HF3?3TA z@mXTS>d{;Y^&|CQE)x8(;Ecs0QHElH1xI&d6&Uq}k*an~<;wvD&Gm?=IaRXC4_2t+ z687TAZDvFH`P_rv+O+vii*ILLDq&e;Enb4GCZxSUyr*?BG*S{dy(~hS+d8%Ae9{Q0 zDFTsg9%WffrG!4@g#5<1DSfOuyKOqS6anp;I0|{^ z)V|zlQP!t&b3wI~7AJ(b|n}V$)IB5Fya)0*qVbt^^Xy>&KoM5@G zgv~8hvW8mIQ#^U!=(x z9?eBPZ$ao`DWyTW$iz!Q`hLz+KZ&*med242vVjHA{9$>d~E!>k~8H`e}5Ob?c^7D<+;Pp*!^~!b~jcszphKaneeErmWa|Ii2Oi~ ztGB4PTrExmF%PO~Rlw{5G?R45H%J2)zC4d?gLsc0?I}+&@ z{srJv;THoXHj*l`5Q|Tga(WP!7MOqS|4vLj8TW$CZa(*>1?6`$ z@pb*I!r>YumfjryY$QPZ&5ybh7ImdJ=}jf0R&Il)Rm8;{T#`EZ(8$4xK5)i|(J2>A zM(ECw(3nO!P|NY%80nn9)0)$_wQ6EY)@tA=fiw6Ckl?6%O@ z>iR~gE<@*gj8f=2)9R#xOOTiDw+cG>OO%J1<=dA?ehZH`uc}v z5rU~T1mqht0WB?l44gV3*5~ubC7^VJ?0P zaXK-^Pxha#1TpdkU7p`ESsU|D+8lTCPuba3r1}NxZiE&_I8Tx1G@)B3Ie#b@e%d`@ znIB6?VVd@|FiiIY5+r1dt`0*7CSknIt4x^I8lcbofDCyRBVB4u4goFQzHpkSVflWC zwCjG0O1Gn0h4%24jU*=Xv{Dg1GblXO54Wq$@-$o{ecO2#8L)Ph46``+>pER>c+GW$ zM(_lX8sW#qMTjI&_xnpy7&J=2N6?X_`pi{1qV%(bZ`?B|_=-Wqy}i#QMBhD-9s2~c zy7b9>k)dilS&g_J-(ltH!~Gud%K0oYXy7WObRVqWIQWFXU?{rDV z3ggo;zJQqxIwniw*YYRCIa)*_EWpICGC#=Rny3r;`R@LdNvYW-FgcO%z3NicRCZ1~ zr^>u8=iAvGHtZ*OTiMpv9AW!t^yU%s#0J_1Jj(G-;n1NVwt|-9p@r5g=&hhj z1nyyZ3~Dv2^qB>>zG(RzSlG|YU8v?0scfBa?5rKq+S(q|BL=E&8z;zIi-JpLE}t{X zC$jXzp9eAMETY=;3mQg({0eFdgYQ^9w`8`P{pXzAibKLGsLZIHeGwLV?3;0NhcJD* zW=jF6I?uh7cnonu|01<_;8Y**Gym3BCvZ@ivavgH{8Ys)L0)!KpF3kN<)NbxWqoIg zk}H!2P(+*L^U;+}sAL7~{4z9T$5;N&FXJ@lEb!F(Tz^mLXIY+Xoa8TCE}?oMt@2dF zf>B7vRnrXYt*^{_10oHxyR&QIX*_A69}X}I)WsaK?lU?w zy$^EMqSM;=o9rGpvC;Y5hd$=({MVCGg0~qSRl?QF2fWElYI_6-(v`Ds8JXMNUh~@d zWH?o5p$-i}&}iI?V3Q`#uX{eS$DhkUlnCO>r#B_^e^(O7Q{_t^=vWq6c#OCzKhoO0 z>32c(onMuwu)W}-EUGQg%KW%{PX{kY`i8q`F3DM`^r z!$)9ld2-fLN3WUry+VwXhmA^BUOO{*tc=o0;~`%Ca<(w=m6pWoO?LAFnnITD$;4f1 zdH)T)1!-l2iUHo|F5wV+q=!``)Qy~Ut5}0LPVcL+PVN=`-kE|*wA&=vLJE}>MFf9) zLt!6O^ZQ)(vglM}uzOPd0QN`M;WPw^X&aoW#x|kYoR#)bCHgEbGjry|844*9YTYBCxxj0&FM9T;FV9bu>;C5|_XUj%`lRr>o+m|j2w35a*LG`KiegseN*Vq||f zpKo+14SwyV7d7ICZYcB%nnqii`@U>;LT4X6c&u$(mMQCPn=5W1>fVq*>-%eSmqRPC z!MqV{0CK-po#-m}|GiC9*)!(f7%0~@X2uh8`BJ~{dz*Ync9O1wkf5C)WL3naIzopG zHvd`1UOoEtlLa?}QOao@HL{F{mI*K65TO$*SkruGJ9cH}2ju9?KuX(8@a1Zyo$)6p zZyW0qF;H_NM7dV)Yj^I?H(w9Wej^ra@(z+8`+Jgw!rYedJu7|k=mo4iUFPzl(M6VS zbbu2fb6_=)UQm-WUL;&3oCNw^s!y0Hb?(x+elVSM>w^f#=jtvUb~6Iia>Q`3alZ4| z!j996r)(u@83OLDw6YetLb4iWm7+S)t#!mEva~OF7%~>=+DuYL@me!-;)J-gNC*Ur zA|;5H1@Y8rW7RV?MKh$mP_*+bS%!1)S_h2SJYQ~+R#cC`zu~d? zOI^f%5GtC|SSF%ErwSjA*`s8rtbF=>d9`-kELhy1S3P;&3;1gB$_sWdlY5=>)|YCs zaAGeo=f|WwwRBBaT#s|qO#D)%Q;5EdbB`@>l^)%EEnYRfsTcDFB&!5TF%z-b@a2FtQSU0aD;eRfc&CPic*R+ zQbd1TSU857kART6jzOmnmq^G8r~e1=S?LE$yfUi^VJk6D{f@%0hFYyxTKCqM!_Lku zY?H0EO#0bF4(UWmhPVFYySswtbAxQ}j15fDU32FbfyU}l-O@JSrLX?sX!Q*h5_tkQ zCtcr27j3zI(b3|TZI*t(-ta7BCGeIEc_ZQV{Wlg-iBLFWy!|NdWvue9$0BQj_1$Bp zr`qiuEt0~v+OhZwhq8Mi1 zIw8~;Sm0}2 z`#Z_V*`Gtl7e<#qj`xO|P7M?WmGffQxcNF+x<%-$!L__0mD(0f9Rop;vZfa(V)yz1 zE-cIPoYeHN29k7N$0WLjCYs!YP+iwDozf(gSe6H*1g^^7?82$E% zS+c>;5q8OK9qMVDD}$)M@dR40nw293G2)zguH2&?cwoLJ@+eF4v=>g#%A}>R(~ovXE-mGs73s_&xby_%f}MF1omBoV~8zG)9FCUxZl+03&8 zMo*Rg6u22p>bxtf#)@PI_~o$3n#$C2TEy|2cqEvo=<>YQ3@_0OPn8mh1#_wmn~5Yn z(=m}EIZ6e^^W+<*D*Jjsy+Jv`4jwSyeGF%ijP4W1RK5u=$1-9FkUWy?o?OtxR0Px>TvF0%+;luL8uZWYWuM&>2#N1M!zIM~ zhjVaUQF{cRG%+=sIXEzp>C($LdH*Y4BMVuE%5!^vX=7DW4mYLY6uXrMul&O?U)Dw# zT)+#OII#l7ZY~8)(sLEwpPp#0)67O3m?;PGuT61U+pnzyzr?t(-rRHH-%+c;ob;ZTF5`H3a7k^Wg8X94FwFi1kV+$_Yy zXTvfH$(d}PRhZAsIbAPRB9M;(jZWnP1ImuH&&>3^RlXX)u(sWW=FPKFU!tUjb@pL} zM|#Mo$rf7F^D~+khXrUzlW0<>wk`hb=gjg)=96tX2ReSt$^b7Zi2q0`^>L2Mr9tR% z440)8CVH`A)GyCarH4?V9@etZ*faJIXV6V}Fcnz?m-2gUUh~mrxZIeajFUNrlTk{Z zd8sQm@el1OA7qu!%gLx;NRQwm8FDb6!>VPO-c&0AgXL|~UNoYcW=DhKeWW1RH!C%o zA;q+nA4?I~DVn>yGN`g6aYj&?iA7Z#onO?v!NtxbNE^W&*y$}dlE!C{o7m@c%*fS0 zz_~2;b#I7Ri799%3IhVZ4E5H3XZZel*OWLYUV9D0Tcg>O##T|P>{`(AY+jFhL5fu` zuynS{@E;DK%W}HBYW8cB&UoQgH6{>)SrjCR^|%5U4({A*VAW|PXETk@a8a6(dRzwt z#{=^6uZG6(CCb&TCN=!S5#mZI6Qm5iRyHud%LsK8(y}cz$?%hxRVbYcSk(jQ)Hf*q zwl`RXgq%Vq2>?qiQLj(sikZ5M2--71+VIB4>t#QF5kY>+0 zvdrvFUKb|@`qYA_DY~F8uSs*wtSyZjru;0Jd3f;q2xc^|l4;ainHm0GyTBPE^x351Nfhu+U_zM%JNv5tRNY(SJLI>_cH|`_% zBv}sM>s)u6&ftbT2iCAIbVYfaUdPKoAvKRr(h$g%l=euf!4+uP{uuJ2-j;C-gh79tNgvD!v);u3L54L8bMpdHOxBezyB$J z6t|CIWiq(2k-xMuIlq+@%c*oUf)auDn&NzqLb-t?B`)P6`sEjdLaw{t=0WE!psHKgYc`L8 zG7f5fbN<5Tc|Sc;VfuD8K7LsFY}c)XgtW)}UzLZ%PN2{=X%SF}l%n5@+mX^Tghf)C zQT&=hLLvxe&MK4|eJ=aMDkZi-%i5#;LRBB}9{5$@0{+NM_YoNPz_<(gyMe8_SQH4* zYs|(<2TOk`SN+|6){TN8HLBf=AL?Q5Wca0h;$bU05=f4Q$Ce1foxm6^F#KFxsX?$Dq%n7L@)AR}- z&sp2&#EosZM2gM29vW25{lhV-Z1N)rJ*7vJCt41#dOcxI`~uT!F-f|GtYZ5$j>V<= zK@HEb<0GW9P6e=bcVm#Ty6$x8j)|034zm=W^ZG!o-(MwhvzB207jL{j#Wr zf3d4_jvjQH2}PJ^fXo642QaQa6SIkfo=`<$&eyhn3IQPVc8GcDB52|H1>8Iut^!rs zC*ZD{x=G}jXK(yQf)&(+qxcckLnigZ_sae;{8ma1@=cIYvEfv1*!;%B!dd$t&bjiX zjLpiO1-g7WV!!s2{{sGJM4)42K)c}T-{uU*qv<>aOU}lXLmg2AOHj#J zki~HRbZ)>CvNm`r6BJX`hu2KeqCd0XlcA$ofF_0`t48MYK62h`5peGP1hV>0lG|m| zgWJRC+n9plKb-fsjCaB)bz?)}0q9?6jnI+-?$-r+K$|Br+H^=3@NtAFT4l z2Pi-M&*wPOB{W@wZ-O;n;LC&fOFKV-3^r~IIPJgH(Qpu5xoI2h@Hq2uu%{?y_46MT z`3othZz2iH{As=P+;}S0rE#`E2WqQPfr4&cPe(9Ktb~6jBPFsV>h*v;I40yZ>^Xz|QmC-`*#T zuCmXO#@x)`YmiZR8qy(gIa|mxze9-8a>4X|+Ry(%r`IIcXF4{gloG(w0Zv|e)-5$B zFR9*Ql(r&d+E;8rd(IRG-B*ayI(PfB-?UL~Sow+1Y4{mk=}6!wG{<3bm8%d8uUrRX zmFS*Vz0j+ynQUc{u++Nh%~FHPUOSb49r9StxA6XyKILE2qHS&1_qO5K(7%#T@HtKcx?+ZQBOAI6 zjSor!Q1@$2J=(O_HaIy^gFP2A$xAdmljhq5dELa!}A8tv_9E>5Ol!F@<`mu)dHKWLPv8lunR z;OOt%(~^s#z~1uT!@rASj6#`Nmj}}IFv3aFcO!H^@q(MZJTTgRp^!Gf+__|qf~;VN zi>pFV$ZLa%?x)U?-2o`@C8FW}Sz-J?zzrs5rzwS@>I5oZ6ywRw%hp6$!RgmP|KjOf z!Sh%rRz+hvQp&hGy~Ukxr0p=@*{0=yDy-nJ>BKdX*G$(+(b3QMum+kWNg2&~*QLko z*W@&s%qtW~J;Y)|y`9@2H=L8(Ewaykmwe8eGoQM|69>+i-|K}6x>gKS#w+7x7QlqV zWPRPKP-iA@jC;mm8gxvChZQj)VB*g`$U?84Q`ZhG`5L zQy;))-`BdwToBd$!x@&Xywj>yJyqDa&Man!bBR~&6<*P2C(knRy+@s&_;u$^UKHfL zNBExjJ*17XN{9=moVp>;T)*+>pweV zkqpPE)($ap_+Oan)#DL9H~w}L?k(hvtBW4IV&9$Cr4Od_f)RzC^~L1!`|># z%$v-L4zH~s{FG?hm6~J@(`5 z@`I*$QL}m!U@6E;u3tZdA;Zy|LK$qFd~)|2nDUAgHx~`vsT?0SUx3qCZrY@j7kjfD*hyUc~L86s!14rk9 zgm*6%*gqkK0`bL+Zg+j~XHVFSQIBw7*$Z#)kkG2!y5a9)CjoMF^wVLI<^@ zIG0@Qu4%nMp-ild>IADcH2JQf~6e)%OI_(LGI%=;Kq6B!MtwqJ^yI{BcJTot62W z%=0 zbQhF7T1G#I`ri6IHd>meOq$Q8)X(GW#bd(F)mbI8kpinT ztcWRAGA676;jNDmc4Og6y_9kq(M=rWX@cp?m6rf0*rdu-)K<>Pl>UVBuCkK;` zE%u(=@;kY8LZ<%Va5u)$DW+4IR+nq}t^s|@&qsqC0%3oF0?sUF&WnEMCqfs>yj(5T znL-zyT3Tji@~Wl=s}l>LUS5xfJ{EDzVgjIvR62OTN4g;;v})iI#h>;DcD@91_qzDW z4k~tTj{CRg!qXZztF^-rE9H6ZkV_hxOJEk=Evxad%L7+x-rYG^W}-O~#KxuhzLF(Q zs@zanss)5G^SfRH11hS^wy?u*oxD&rZ7PiIDg?raN(ethc!mQqycn%QvGm*LuxCLD zSnd~+!|TdT&_PGUrD7M!_R2e-i#>k5rw$dZnE-)||r z{~(#lp0ApHDfmZ|v2cj{#F@HP=l}0w(_) zGeJ5XB1na1WHT-Z-S)q+lLKXa>`ib2Ks?g;6g6K7UV(DTZiQ6)YLAW~{sVO{hYd#3 zxUvg3(}g)twI|k_tgjwEIH^zN3E8*vHGATJvELu65&wMd`D?_S%K!-5w1suU8oUi` ze#ByP=JKgEAxBE((U*1&>YvH3Bymg9d5uVGeH@#^EbZs)3=vj* zwK7Csa~K^WrQcd8S1V4_4*G|KzI{^6qEcA(=|(7*p9RcL zvH#{5WVmcVY}8!{9QfO2t#ViWuM{KKGl8%<_ak8SSHNo3moDDO%2O5h$Y#+KsI|&? ze>BfDv$!X*$H?PlKE0qos)z)U-*J(|1BTX=yj(npJQR-8lIjmR~dItB?C2n@$pB!cNsR5 zK5{z!)dO;|_`@(l%_Dfkl9vsQpgZZ=+>PHA7I#=nI{A%u8aDU@(3|CE;ITiS_g}K+ z+j4HWL_5PSZR!s@B$tiWPD0Y0Z_}Fd-{&w@#=qKXeV*iq;n?4!o31ITo~peGdD6RP zL)JRZF7#(0r7Tb-Kr(K*VL&y?pk6%z%B2P3q%w?8Pi}!)7^{%(h3#lLetDvy86fV= zrzs3s^%Cwm**F+$JcQCJO8#;Rt$F>2{lVg71E1WJ5ODHmq}=-@={M!K)74q;j?S0e z{7ybdS+(1Cdd|64Th+$dym>)4mx78OKXo2~2b3+wzb|Fv(u^B4^*uj>xB}!R{kTk= z5X_rHExdjM(p>%_CNwOCEIDYjlpG%f)zddv6IYKmnwEl0@*iz!Y}9hgO_DFw*LREf zYcNJ!8GQ3yZMOKS^m=7-|Bv^A*d-P=>?-pQ$7r9g2zkL`vD&gc9(x<(oi=9c9fijw ztSC)C`wxeP^F~-QweLweujxbKcM@FW3#O~3o4dOo$jJxR>uHqeN;u!Xd-W=WMhY^4 zwzy-o=FUFO&d*6xIy=%{^8Z7(cCx}^13R{V#lww>EBP?0N)vi`_;Dcc+B3|g#X1c> z?~C|Le+_+~7RfF5=J8@31G7m zM=`oCXAzQ74^b>8J$whv-7@|-LM!YgpgMGINiCOaz`eVy+37UX05SMx+!HKgZ}EzE zXNHLfss0ZK$^>_^T_bD{@@p~lt~&2|Q+)m2Plw5B#Mq zZ%U1q1Enk~em{-#KOgChb5IgWUoza8W1|)l!K8=E_lMkx{V67XAqnBMY1pPw2~;c* z0sT#HyrV1RcXU45((e1-3Q7Au$iHSspbL&YRT&I!OI+b@jM>!dSg55jX{HyC%DIoW`z`S5PqL@5|`)uqbMf)IUiAjl;~6xqZl`ucoX92I1oFr{e5CZMaKqh zaBpKe73<%LGi-4hUkb>Ih1u==f!_p&GBIB?kIcGjBxUWhDz11}vH$R3IPQ!;Np_4V zc`ldT7@(aOVv{iUUPv>fSx-+WC|&F%{x8+j`!ebzQeg_aV(Q9*QWmnl#*CcP){tLU zR~k085wAh-AomA&?#&hkEAJCb7~%`-wDA4qci?Q~M(B+93x1=WkMj2SqdrsrWyz#} zI26mgu$dFH%geihk2g(DeoMDI4Y~kYfkO7@ozI?3bX%n19Sw~{u>@Oh+q{8R-47(q zPLm-teKi5*Hb&bS@|QZ}uC=~P+;IN6Gcs6uTs%6+Z%*d~kT(Tn)X;pA% z@}8fJt{Dg0EWPo+x@z|y_@zpXK0Y3g9X^UcDB8c`LLWjS5&h1~q00VQad&-}rYd=r zR|t2ZY8eGQI2`-Fd2P~DH1|kG4~#nixZCj|wWVA>OiyIeciM;`m~@F*R!=o31(^br*KA?tX^-F7{h&T8AWNnC z)f%$21ZI#-3XqVEC>E@qENo=z-09+Mk^O6uc5IdhslPlUAxa?+l>VvL|u z8XD#0Diu)I?e&Lmz^RRfM@}4F!fpj$Ra&D=fkE#uex+uWcBtLytOCZzVeCp4EIG&7 z1;)85WaVQ6;vBQ?O``-V{cpl;3l!E?bv8E1pf z*4-Cr;l6Of{#z-GK3{%o%^0`MZ@uHF}IQSMGprgcE&ew-Cphi;0hR`(ZS zXjyl6HW@|_ESk`<()^;l5zWoOmjChlmeTlaWRAGD=+4|^vEsmq&)?eRyTO;3nAaQVVFDfhL%CP|I)%{xfOuOruQNZ}KD?m$g{&_zMl)R6hSBpM$^)r{ zGSEAdwFY|ZtniZbSfz5I0#f(|s1rqAK!&cbO5;H%=|`e!>=D^;e5-DVZE6{8JDot5 zPP^(jzI+x|l4x$vDlpzojUBG3M8tRSD!AD?_?VtUK6@#Y|5@jUA=J!g<4Ka%)D3W4 zaxQe)eR;!hjBF(Ohl1o#rhOO%xfxh6Mpr@)NI*7@9ju()M@uy-dfJ{1!r-ie8XkRq zc3lN8jY`9c1^%QfgUb5(CJkLjFJGrmh;TNp)7GIzI0W>YRqMqn~7A3Kc3Xb6IsnPY)5Q z+NbAt(vD3^bM&3eHH$+PR@*C?l0)$&x8;|jcMH9z!9w1}p@J<{Vy#?+Yo*mKZ68Zi zOQ*bV5>6jt3`;2S68F-H0({j*N-#zP*pjnPn%$yBe-#-H5t(IuVzx~pt=_g#8m`h& zHn`MeHJo>=R$RHX=3vC}?PK(EiZJZe%liLmw7ew z9}2#c6s5xQ4=FCqY2`OF9Kk+fVaFT#SqnQ3{y)z``V!0W5K=r+9@f^Z&d3OR+R@BC z!>-!0eCND--r(&w23n6U#NDhVU_N-8L>EGvKayuTGkY!&q zNl|s@s~RtY=O}bfjBOTgE_KD80$3M)gi`Y6;DQ}4CU3gC7A>GBVk`P}KYrziiiA5l zoYydmN>Sge+r}7{Av1)H@Z)Pk95g})syE^(YU5tBWfhh z1QzZdYqg&?(|FH!XUd5POA-C77~7#x-2N$@J=T1 zxAtN;sT!ToKa`X*9?@p#UaT+ErD{tHk02)KgtND3R?u@E){-k`~{iv`-7Cb(UPvIz*x+y`H8^t|47Z4le2s+UkiDJYZ(N8!{YizpWTUjBdkS^RX z#0UJokY?3#(K)^rYgLA*6;bLp9n0oVrBfrSkkE!CcX4rXQ7&geQbxYKx(y|DO6^#F zeP-tSm8%bDDGVSh_UdE7J)o)g;ygr%tV~(CQ^|QAqE!)`$Ire055+cFm94?vrn$Gw zVw7OkDxeKLzMP37gkeu*uF$f+KSWNCew;;Fpi%Ee2-Zwiv0{fzOb8>ph#I49hDB17 zQU^_q0xWcY!4xmMc>NiFIL~vEZds67CBT72Y!0)SQ-{6bTIUuwB3SmrrNrMU= zZj%Or_i%oRoB4!V`3Jz!RqHs zEHAY2{A*C-hK+mqwCDT=T&V&gOUrd8`Hjl|*z#p4p3dM+gQH+pHoJQAs-jNHhRWMs zqNpT#bPlD^Day3yabbN^(7|1;(6Huam5Qstv@7KqlWby7UD}0w{$RVo3*2KIyiR)D zlc}-k*u-7{DBT0vF==T=``f`Kp{{YhPqThlC@>mHVZ0V$OgZ@#LrBXnGHxI{oTDyP zG`*4_{-a{R0+sLUnQ{kWEL-X?G&S?5$!GeFP{X{%El@ zN0y7Qh;!aS2Iqoa+F_UUeHxlL5w%W^yJ_G9Wq18sde^>(tP0oL85 zy5&d$<6$S|elkNp9&xGCSc2yUI3DnJ55V0|mcD&w8VXge6xo>AysBYrQ}y-y-QD}6 zq>h+>g8?R7nN$HbCC49kKanFY@ng+8Or02L?-=dYeL{+G{Fp`MH4W8CPB`lt>lf-( zpa%i&rbDjpm$y7pmyzja`=EF)UMGLW3N_V6Bq|g}8BfWI>OsYcU@>G9SolRNLa z17o9N-_<(uFKeW0MQ=(sW^qa167e-5*((q@jQWR?x7oyB>ER6>W0a6Sr~&Vk^RW%L zLf4|Cg(B&Wh{Xz@Bmu(8QNLV9(us+k?J)y5V#+aFH#T`W5OXNlG$NqGV`&Upg< z3HLO}e1}G0-4fWW|LhitCa(naUZrkxiPY5At-`?lRuX=Lx}gaB zLsmh|$EMgm$mn1Hh4Ma}2XCUl&B=Bl+Sc}Ta)~t+DoK##lYeoBG zjY>Ao4es9^4Vo%O37SozE6)u5uN9dyc58^UQCOD#^YOt>1$d0|GZOgwk3iykY3ihV zT}H^K>55;Wfb+FZePC4({9b^hMm=QUC|()QL*eZgau-W&MvCGpGaJ#t^myz)Rm7D+ zauZ>OI}GvUetbi3V>#E*W9~RUI4<{M?Dw_Dl#4qlIge~An7dAmCYj_?><4f4-0}G_ zwWY<7%pVLzk+mhDn}g#ic`fglH8=x3wN?c%i)<^P-z~oART{apnwNjty}HT{ZhH*g zYvtMh9XgSdQ;_ALz=2tfE0B;#3V>t__fEYGWCJ;)HA3k88h1>GUI$QQ2E~?N*!?~+5@A<5|!P`no!y(nP zEbQ7gl5`3>Ge9vTHnV!|^HC~9FV5Ry(X!to8(Y`;pG94H%X{6;zot{BzbgmhvdlX~ zI<&01@H(q`n~yrAtHg}%FiKBbsF3a?Y7RpA`Odlfb6xt=Gkt!_>ei6&9`~#k zX^hp@6K4!nI7vzrzprD2u-}tN6eamOC_{>uKF$vtRL>)^A5eUYhj4-7i-9baE+1fE z0LV&Mz)8&dx5^z+LJGT(>HT)~r-gj}eMqiL?bjsptZqhQN@}}mOT~M9grvZX;u@in zB-3zBZLIQvPWmx@fh0eS)R+`MicJOTeS>|>Zew4~g+oWjq^PNk%SL(7sC-=ihi;9& zIp@U3N&rN+&pJF!zhp_db*-00BPoIB#amiy+hl^>M;Q-@D+j+vQlycX^Z$(=iStnM z`I;BK%$P%*PJy5@kSj`E|aXm;pN7{3qg_jw0(b8EmBxvA~odK89odU>E? z<$q7s%0RGg`Y~uuvD#Tu6h2!W(n@kx$KVA0tHQcACy5KGK?lF@*s<0%t>5QUeN z{~O`|d7C}5CUfQPa~r1}A*@&E|ME#+C=Gw@@M?bsIKP>_aplB9CG+`T_M zfQFexK`k6JcqQ%0AVrj#D!l9iKBoqoa#=tZ$UaUz#IDxK07O?74zqa!6J353i`5;Ns zkO{}Z`qYu?e8fWPX|KuM-HzPRk=ndt*!Q<;b5Qs=B&R*V?}mn+jH^JdopCOxU~xyFVA z9^{5Lh4Sf>;5*T+0=|>Nkb&0Zzw(V4S8|-TT~rS?_G(E<0=v=ix6I58OgA2;I6tc{ zRCQSQZzz8R#!?|KpdwM8O?(a;y?ph^s6}C@aMF5Ug=VcG#kC6|lhzF%WWiW8Z!rb` zu{iZf66-I0z8Udamig4BQq;oY2S0ZGiF=a+>o=AB1uJegziiIzh&B?` z{h3qveWx{8Q3daH$@pJ`cu;>#=2Gf3t>J zwsT>#q~cLEZ4Adh8!-KDIPi$)OxyutdGl>lGQ^*`F)LPh{Cw|^Z|lWB6iXn}n@We@ zOA59NYzi@_a7vaMf*2DH#sYNs&0+K3E;}8QJl6iCsqrHZLhk}l^(arcJwH4|%<{qQ zEb+MYD(rXeshQ^Rl_VxlB&^(jv8m_uG1nxAt3|tGwm>|s{5eS2Ojz3U%yDtgIuP4& zWXJO&q%wZjU4P<3&T-l#X9x^G@LnOrptddyMrm-+?QNZ%rvi%5zEC{=wVx76O`b`7 zM=tsi`@_IuJ^xTuH&NOjWBaPbLdojE&%f-NGH*jBkb_v5_?uVa2l~Yna+=zkd-V4o z%AKYGl|pSIQ4!_U;Psl;d@@xYa^jkf+fD(;e^p?0y5(J$rP9`Hf2&dsg(&-Zs>>Sl zi|0%_ccxSHOO0DmFy|s{;?II-$=7wK^&WgdA{~}1VP;s_y>3jrTj}g)8^qJe!5K@k zR6j9EyLE{o)`AJv>NpOZOB)5DhK|Pj_2}q^4u%#S2gLngzutG7fYrDHLpsdRs44 zZ3m8$EKX(?q_qV}rgd5~0z2ndVfMkP#rOHt6qcq?pe@^QR9^71Ah+XwNQ?liVn;uP z*koOot=<3=+=<+CL-se3EH#D_bLWap{4YyTGk~A|<*yGnU*`9`deuFjO$Sfgje)=`^V|HS6u@z>eQ*WsnF~3x zy+VIFFEM-EX+x^pz%k)4i2orm9Vds8L;~o#&pdv8bnTY;=1W?T`|^V)lU6$f00`jy ztK6rq!#^lL#~^zHd9*eJq-LkK+&2BRmOfU4->hF*QD&z$S5#foEX z!L6;N?it3Qln1}!$wFvVYX;Fh5VW5_#dm)YaU!d|k^d{q;WR2L1pwrzyKK#2XAIZu zXRJw5vwzr>-q%cTYDo9xNY8?Ci4X4wFTfy?l2oCo?IlMU<>NFf*Bsey0KgU0R#BVv zt$4I~xAUNi%&U;BFl+A_#VW#CWw*M48bDd{ui(WN-*{97Hw>3pys={{K_ME&NaZEq z!S}GVpjmkrBeDQti;L%BsTg{|sa$1cCUY*yl=&j{*6v=!xV;@FnRCqK!?bfxXpLyj841U};$t1xVqn=gPpETH4SEv;qm6nDt;5hN= zK=;=I5^mLh6iGrALZrtJkUFU}C+qf{Ge8hmT3a~QU54*%x-{DAFk`?g?y>z3gMJeK+Su$@X*Vv5Vo4B$Ka$lY+0TR@;Yj-aG;x zqIzLm!CMglHkljED?|!{#iLYwY~}vzs;lXhSq2&kstw=|Dxw<13HyjRgxcBn`IJYd z9l5w&_iiR;H{W2-@)Y9E5@wfLSHW4%W-BYJApTDBs~=4bcCBghvo$L&5{}Rd_d<|@ z=(B33K<$~_Y8&!$i>gpl(~ss$UrCl|!&dkd<7ac#!2z_GF^YHzZ3&!~IU{AjsD#yo zjbHL)ZRH|>(;+FF^)ga9y7zEATvBMlehwIp1g4=Lg7*UcV4EBdKAaoA-J#tk2D=zD z%o=%Gk6pFq@s*hg$`I9$EHQ));IeWp37i|=)(mo0yV|v-^+1Oq{{SPk!=?c3=~DObIBN^b_8H}Waj9&;f3{}) zn98RvNZIj_@kfE~7_CAA`y=J`yO(z&f~cg$9iCz;9^GvD zJbUMW(BWo^z|gtixNm2I&+~?-8)sb4B?q^xBSRpp66Co+W~S@_lox2Im@ocIO#hdc zB2BiDnJE!5$tzwy8Afz|Sr{o0L(2m4zqAzfzqIsuv|9&_*x@E*H%!M&*%t z_ihG`=RoFd&h0!Mk}`8VFi7snEcN;05K^(YM|O8^$o)p?0G(hMyh=)UVWE=Eo-MPf zV>(w<_pATi;8>I}{_bp`NjZ|sa`X}IQG#Ln>u$ssFz?u56e1EPJckbAjw*i9FuNxZ zyy+*vlJ&mprb-qrfaKIKTh*y=QLFr+f=s$HIbd&Lk~^seuV!9kn*^^GlpgcEpzfpo z@Fsq(>KBbBLu(npRyW1@nZ!*^PR~yWrF+d5G_>eS z)T1Ie#uYs}gG0+`d?r=RUHb)RNK00wU*BjP4|~P^B4z^^pAvTwZ5Prwhd>T&nnSd4 z7ojq#;T?tXExMj`5my{ku<#%+NJ@2E0j+JRoBQ*QXbl6YEFfAbB7%q3UgWJ}d-+}E zPq*-}`-}-uBYHFIMSqERaB}YKycS7W3+M@uvm!D~_eg7a85wBT(# zHBf$S3cISPKi}?@70(i}fFuw7uIxUx;uu|)WEG_Yec;xT5=P-RbeQ1!ZSjE=yzClF z2KHLxi|fypEHf{oCpv_w1MJi7kI>hO0m6gW9*fCDk?tLTFk?$_3K;1FxpssHM@bk6C)*^B5v^>{;ll zUpVFO=t_a?o3}HG=;xe*S(}358(rS*i3J7~@nhNKh_Sk(0^Ny^%E$OP*>nkAuNny; z>4sn!9#`#)z{X2SB9f=No{gp~hp!!QMCY+cGNH5*FA((`yM^K#qf%yEXc_d?S5o_E z3hY#J8pawOoesHzIq;>$820+_T2o<#cT%oM><@;06Z0PCpi^F@h5jn0w%cD1<42!o zhgiY+T)=`LUCergd-Y)>7spWZHlXP`aott0c>oeGBcmrex2DU`I=C{GIXTt$eUp0! ze0&c-&rik^KeqB%!z2 zydJ{VhI6VC=OMPzGC*leTsj+L*D$$?PPX;dzD-Q`bY zCz9Y=36=*-!qaHX=$til9$e)1RX>J)@`^J((VrsaK010&qh0cAaATRD|JD6sM9Ap+ z0v#IzS^8uAzg>LD=*oyj^ooxd$jdJys|7g12YRMol{Zmn+7y%Y<0Cm6ltcYm9< z5qSPw7wxOPrDj^}5}ZS08%4!ouH);a!bIOc;#6YLR-hnS@7NV(8X`6giQCC{OYua_ zU~csVM|$cj8$~Nyd4`RPwEFkP2YyC8iKf2x=cc3w+H?t?HtJ?}J^9Vw zajDo>jX&MPj>9yOM{Kf4UE4l3>6YD#Ji-y7Vd#az?0UNQ7NjL5*vzMaQFlwe{2xkJ zxi4_)kyaz!C~c;-SY`1@OoLav7J=Zt5!6MX9q3Qgj&Epf<J#!@j{ zr^gzU)Fo5VD)(Np z%sZQqPLy9y=LJqggM9tALED^$>U^5vMd&)|AaHxhW>R~C%^B`T_dW9^DMwSJ%)UXK z-BmHoe=`C3!d6I?7swFp|cZmq3TDEZ~z#)U*hF3_xl zo-*DgX>##9sgw6r=O}^Ya*3&ocwF>i&|C}x^jD#z8(2(Gm;?F}-T>onfVdQDCD(yM zJc`u?``X8$-@)`&tjZ0AC;Q6tOzEtVTDipth=!Ss@%&s-K8BdQi~} z$*Nf2V|p~16L0(k*h+X}R&A0R;{ghF0%_lU{VPNx)^t$2*i-LMUC4PWf$xe4MKK=7 z$BnI{lvLsQQMp5I{>#prOI%i)6lpm-Y{fBaki-9D0X)m0F&CRFKkJ@dI)h2^?v<@D znP(|`mY&D*fv=PJ)e7P;B8%>|c|C}tJZH;#u$)hNE>}SHi@NWyjLF^tN5s^3NnX7^ zTa`t}Q{K7L?|wG@hL0DnXxP55_r0{a=bqU;jDj{Q1;`A)b*AJ<&gXr~W+!#`#ypNr z*F$)dsWOk&=3!^r>MO=^KZ&R&%pxjW%coNj+apkV#TU4Ix?pK+%-=>D(+v5ujq6Vz zvp+LB9LyRX*7mbmBPAhP*aYhlRUhbS!p}zp={X6>oN?|A`yGWvrbpUw)Hqg=?UO~|FfB1A z&NhSl&bzw$bVtvzC0o4r=i7m7PB_W>=}jS47uuwaXMLI*x5qmG`~pqa&4>lr3wJj~ zyIwJZcwXS*>_hnfn2UG#z4ENvhXwDPV~HCkv`49Fhmz+6^@VCSk4>MpBjZ?Wh`4m~ z1G&>v1L0G4FiF^FgFeDvMw@_tC>RF)YhlsGcpew+E{ae3zyG1YLkz+!%*-Bn{&4DE z3Y)FBy1WV119(h;q863N`sb(i7FAq%oEe+Yv+sttUs2ES-CLSIwiqS(3!wag?Q)vV z1?j05^nKo>=~u6b8`uAo|BJ@)j}h$?kvY2JYuJuU%gXYVY%y@^^J=A`k?3C*!=rm) zs{ArL+hsJG&mGBPHq#9!t3AO@6h;n&Zz~jCKkTiSMQz7K-^DQ7i~NeHa%(?FbljO; zKYV9!Aa!&RESVfS;xhG%Y!y~)785qLvXO6i%qfaS zqWip9C?u#MSvOx}EsScvh+>heH|+Cy>HQxX8mYMg^4LX8#2`#D{!){ZE;rYDgZx6s z9rvx{{8eh>m5iM>g)4HuQR1UB;hpE3Yfy^Zp-zhoabuLwDh7jrjotk1sP&jBcC$ zHXiPT(iPS_{$=lJ{D1@bXLeQ7Zl)QqRxWPVDr`SX>xf>|96 z%biHutnmDk?EJK>%<4}GblY`O?>8!9yjwN~C0)}PVXmVSb!sA4*!X$?8J)YCYuEXzGQR z?61(MkNp;5F3i-jk+X8en%X7Hg6g*&my0{=A+Gn!y0s4Fd5R5+r?|72>%I#Pe$7~8 z@#m$>Vlc0=3OLjo;(9+!si{Yhy3DmUSsBAcBaE4Nlh2IGKJ0Q}_bqrgo3%+?k>l#; z*R#_f)+zp`TPlqG3M)gmrw+bX`D9r2;%m1-Se~RWqo0-dpO-#YaI5%JZR78)k=HWo zCvuX?)r;2_g)hJUvDadENnCwsBz;=6$MxIcivR97 zqkW$2?H?R+_5x+Nyizdu^v4ZDf<*E{W>imh!>C%%Lq{;s#~rCSMRzGahYs%a6e_Nv z8M8zL64AE{-%*v*>teBEaPhV#Z71%#`AA-cAK$y9x!L^;NlkhIA4LlyloIE}@AzwK zyKMo}jjkn1TCm7c`V}H(eZ%e!a={%yYeN5cX@OLU1sgH#Bzt5Vo7$a8OG&r z2W=h^HAyHx{y`kth|EXd^)c0>6Hu8hTkvhr7f6lx+^=D2yy1LA!)i!yDS981cskt6 zwmR?XR<)DDn?n8YmSPNTiS|0*n{98ppL@+n`qSs{DevvGo%Xm4QO>s!eqZq4R-9+X zbXQ^FZa`JO|M^C{(A}<`V(;xhE6Y|f?`)#*yDsR2=0u0k)1CL>?AZH)yJL4&yq@~t zRrDtLr}~U)*F~br>MunLCnPLdKfls_&b}>;4`)lRY>P!x{6Krh?mRV?0>0}TXh<(B${6&2%$5mSf@9kBynHoD^M~e&UD>OQiJ*#3GfmIFEzesmu zdSmjJ2OF3zG88K%!LsT%5--66kAj1b0omnXGCHYoBYjmNUG6y>F06albWKM^3YzAM zLOA_T!#?f#M=n1Kc3zj3Zt#(I?1yi%Edu%fP)^8Q@4C24b|N3hVdYGvLodl?_FrtX z+KF!c^62Y9^ayo+glGKLu?4>^ zvyf3glsq-BRP&^~BK-3NF#g+88Dh)){I`1&VM{SAxWU*jyz=Es&R-@TEy>*n)+Q=}>w4j6hk6Tb3dlPf8OM)5yd7paA_**}u%{1BF0#La$^j*VR-lM-H< zAQ3}ju6h!e8b3Y?dWBqZoX=SPsB;rpws-OG2=$I7ame=*EHD_y0545{3eICGzW(}K ziM#52b_(2d>LOBuN3-nB8nhiAB?zW%*7kr*Vnxlors=s&wmm!%#a>l^E_C%gDk2IG zcrG4BT5JHA;#hRllgsQeopgu&og9+(`-NS(xg<9uTjZJoy7)f-Dop??;+%7*MRv!p zMy@-vkg{)X>4;(_MjjYZ|1I5#eD2tD$q^k0xgd$^Q~;yuu64Xg8T#;-=UbYjml3%A zuC#PN(W%^V6UEywyEy&*yTsTSk6UcbST8%^cG)J~!0%ZN_!TXeWbO?;+tA$1cLMcQ z)da~-_Ol9Q2N68Ys=ax09%h(`lP#|ih3#q-D_?k?nzxZ(ycmA+`Xu@MTO0H6w(lv}WphpkSk2R%y@a+}w%=Dj=ra|FO z9KI?qO4^(~4$j1-H{mqQ^6LL3S1!gju(NqQ#7#-NWtwkPMn+@kHQZd5U5{ckwG%w_ z{Q;b3JbT&@_I{_~A4)faQwk33oe57t!I}R*6io;3j&BK0ij2{F-`yc8f~PXSn(@Cm zO6R=zswtn_f$^E0dNEH=LZiS_dXLhlie}B)Bd89y-2iLo1>Hx?t_u$_Qg4dnq|zU! zl39PgIU%{9rpAj_0bO2%bf}o0CbNP=5NR0BKNK5P5iUESF9!~K=Qk?`;uX!+V&Ja# zvNvD1$ZR)Q4Hy2ty8TPbJX`#|5W~I0x%9l=YW@yy?}f(*x=BFZwqu!fvmu*lLIV@{ zv+jO5{z~nkH@F8TV<|{n?^vUf5Zuor%GALH`oqQd_r{iU6Br^>o(j3A5zQYn9zXr?utt7`pgFS}tHP z;>eod$#{kfkk?y?A|f_(1)1AAx@yw0c|ZOlGm=>Vx5~CkR@ac8I!@uT!@0pHAkL^= zr9S%Art?Zq*bvCWkD1ZBVYcMgqE*q{TWYU&W6(68ZBJfQKvV+`a95 z$kg?1+}?_bcy%*t>AmP`GEVu+wU}Q?MnL3h!&V;CuV4Vv-`*L;^205&)prsqngQ2C z!ZWI_cH6PFe1dAl#V-C<+2Fl-%6TI(n?7AHQ>X2@k5R*(w-JO*~_p*_8r)rEdvt)(%1opc+d;mAL6X zuE-s5WJH{OFm}$_Hcs?#Z5r$#-`2HXE76m@kkjx}GI~qHYyjEFM&Zn9U*>WYk_&V& z>JLOh)@y;+zW-3hvH$cg1g0e8x|PoXRcavO{6^;WJ=aQWI> zl@Qxl*oxEN*lX!CLxH-dSLsR)NY>RQ%=Zi2yRzt~doHvkB!dm_!b*^pT_+n^Cq6dw zePq9<`0Is)$=AtPp_w0G>|w~arFoTzMn`-BWOiG9D6cB0=2 zb|L%sOU})ZA^RVS>}#RxpAVTs&+Q8&Kb>{+u0Si|#1hgc(+h|LdWDy-7#FD_`Lq@h z#LAH8ol9vAw8sLk>u6rqy57BnFO2ITqLLT#@U~z3?QBOl8p&y$_T4<^GBa<_9+T_e zMKPDFbl|;OKY()SC^^NnH!6pTS=}sb{Y%+DluM5% zq+2E7s&WkJJr>1nvSH0QNg8L>Eh&ZOY|qkiPTUCbwH#u9e0lYR?Kt^^@L!6w*Hwmi z4r_VKx1$#^yShXaixB>dQyUVunc7?)h+>Q~Q-(5AW&0t}{HyMk`PdRIVsi;b8h`TDOn2|f0oOrC$ zFEBlF#WT=0ppub>;GlO;_BKC0zVu!z^`9i8 zD}UyS+ZB^dF?k=Zdn@s9Y3G1QF9T@zD^8YJ3ah`qH>46UrOJc8ToLJu@=xrrlX70ch-_HhY%Lo>p(GxYhWuWSgV@DB(- zxz-lO9|CKujx?}_G3T{dN!1QADJ|1Y=_W#FrST;QxOvWg?YCAA2C(qvgf9lp&SZ7^jU^RI9&##^FcmXpC}1m${*k6P)UTgRc>tUmRR?1bMvNXV=e$bWNV+9C zWOf=EQu@s%O8d!LXfBS&8c1WzOqoKRp6){dML+CIfmEJ45$WW}!kkH1Z&4F87%d>a z{8n)JnjbMn-_TNXbBF(&Rpq2-{f%|JwgIsfTCe9+Jq>pTg?3mzP;0Ug2FY1{X(4$X z_SH>mInwo`TsMy#>8RkkBaH8C=74YEF^5ajjS&-*U2!;y<=1jljylOihO)#cQwH;1 zOzt`#o6ERW+9ovaI5}>fGKMHh)LOo@Y!OtK;a>qCM;HD*kPZ;k$;$(8mry1{iAX35 zB0qIeQ{zzKV_y$t+E;(`u2hXGjs`Nq+Q@!iVeo%d%TV5qdU_Ef(r;~92r;4}2ryzX z6lQg#Y}?Lo=TyVbCt>~CPg3rJlL`NN)`~3)W?3gHOc|=o{RU!TotZ{(hU<`s5oN{y zaK?!%iCZ4)T!TLrX98UZFor^gvdC)EfsMV(k85C~m+GuFVI%)g5arsV8Gj>Tf2NhT z8RjL%}d(D883%z*1Q^w|z9+c2rYR8X*&mYd5HOgdWqHod9!4+O- z9c--@h;1K}DiJ4xZbZy4&WC@HGqY`qWke#ls@u#>G#JT3nYHYS9knaWXo)q8b2S|S zy>?YdN0rq{H%SS%Q|3&WNK~goPRDdW1z5rRfe!;IoqlkFFQ_$azb}Zf%@^BAa1MCx z6~eRa&pJGH(u}3E{x&7<9_|GQj#I`QXvB$Emf9}t6n&DaV=Adja_rzwDq{+TCaOjM zz%Je355aO$Yn*c{r(A!F@Wy6#I~mw1z2~!XT5w7~e7&otoRY3G)J{hH<$xejTa_{5 zBBtO{0Mjur+-xEghZ?t#yC}&z7ZnCHw*>kZGmtDdvqA!?Cp^?MV#MSu1Nk*6?5&jc zca~#gh>6{ySDG22$Xf&+V}m=r?ui{-R$hab_kk=<6*%mfW%!MvIP;joEJ_)>{G#(r zIi`c(NI=3CWHJL%3hOvaFOzL!!lMSQR4~6`9V8GJI2b9T1AtX>jLUHYWCLh~Xlv?P zm9ne0Y;oC4-A)ho%GOZ@Qt2d5kp>aR1P4v`lv|jT`mfB8&M(|FM@499#iBT_CU7SB z5NhT0UFuK1i+Ae02EYYuV+5^6J$-0wEB^9TwJ$EG1s}bvuM&=#OtdPGrHMTMu(+21 zt+JiEG>~s1&)XcSW;c)(kCcS~4VrP9ccThDWGdj0nD|-V*VeIC-T`zV`QA6_Y5ksz z;c$^}yULUUbg#1PHH1w-zazp*@ty6I!s4UE8^6W8`t+P)jFX&vFI5^0gEQ%JUd5#t z2g~D|h0_mbF=p(jk$yecROsSub}LgMDkx0QdS8Rd0=|-4#f@tqitZza>@)TuO`J+T z$dfTz6+Wg=>&8HWi*_-Kie(M0ev`z%hFNF$bWt&5YwN>afT1{5P*=NWywAySJ1L$JcBw^{`n+U-#An5|U zd8?3OQxeh1WO2d&m{h(g-`!D`(aI~7JVtIEA!@Ib%XE>9cU+c?i(!gY2EG~mI-mn; zPa!1^-yE}7d{0VaX&1vR0Zee$l7Qi$S1D=qvv6ala^QOjQA^~6nR7RWPDWhdZ@xLu zkwEirWBO#%7B51OE*;r2axH;l!i@?4?q9$f1ynfA@V9!NW>}^iuYUja(g6^~0N;ha zdQ5}w_Zz<7TbRSsVdh62yAJ2LK(@$J4~%@-HQ^AZdZBOmQT8RPoGzupRMgMq2nDDy zr+S*e$cX!T+4f9JVW!Z~(2-k&(T)hZ`*&p!Is4Ogc4_O)%;l0uGxBH!i!GP0O96l)v0d$r%oTK=iW>cW(`SkYIV{J z84N;GoK;qK<-?mtKd6A=qg~=GD`xM$YubvQHnZBu1u?}!1P2lhpYUJWLwy@lR0gZL zI1zd3`I$gb2$i`8PII_6`gg2U5ZgZ3S(`yndRm-1*f<>7%nD+_ihzuK;=(p!{yZzK zMGA81mm-hZms32I|Ap-cxYBUR@RoWN!9W@-_z*#0#tP@pyP~sx4OrT{f{AG51)Ta8 zDE84U%wX+K$q;a9Gvv#0>VQ zb($|PezRL|f3OaFdl?wssRqNlV_9cZ+A*XOKx-cuTT@F{PiESPE03CRE{~s8@@2<^ zD|^s>vtEjD`S}a2u7*!c;wjEGQ`ly54QUWXmM)f_VR5BtNx}i~7V(|Li^@&HHxtgr90J5Xt^1nt zsYDhvJ8`+Ngdn0T(|5(}1ed9$!z#&;0YaKHjd8&QjX#lA9$J_u&D$Zg{qQ6F^=tVk zD-#?QOPTanCrml$Oi=9i5v^14Ygn!r_lz=LyoaBR%)R-*0LFMZzORcW_D~OQR(MPj zlE+OXM76@dC?P|VB0IS^Ta-zGlrB5{5cRe=d+Suk1Wfmw=@xiz-t1?5+t7aYpJA9+ z;@dgu*ev3Phm_f}%mQQcB&IcNGH{Z&zydg193PJ*0+`aTo~Ink&B~N9$}*~)S;;Er zziZvkV3|h}jh;xZjx)Q@{hWlCoJV=pQN{UpWD9fXj_1cFUTIS-i6R8fQa$oP*8qNz zxoeFU#PJdf)98`Jy{~e>?(Ge5bSmB<3|2vHqk2EI|toYyXGB z`keTfH2DSivi&>`{yXsw^ep#CeAyFL7L{#pC0+B}|4bT|d3(fS69!TXLLdCtP7?OM z+G(3BTZ%LQE-hzh2_xuRqPnAYRgH;PdLYbvz(8kq5mK?Hh!S&!F0VjEW_NtWw$&vv z6PdqeE!pD1#b`2w)ud;$D6y5I1n+6i)tI-)`P@CkC`&L~XLs4+Njz*x#%f6ghDks; zBj0E}yEF46!o04PLBVVs2JilWWMIH?s%9NLRIjD`IFAJMv$#~Wow+uf0=0O@Ad)o| z=GN2*rdn@ctf?x$U|Yi5gD4jq9BB*9ALO!fM=YK$uSVI8GMc8a<$0AquB~10Kmdnv zJ5j~Bz~x=}RL)wugdL?kkA5z-cp%Y0RMx93=6DIBf#}5rAiaE@gs}AzE$%WRh*yF| zM$Xb!&f0^;GR~6n{l-g{E%cuW)V!1zU>lq_H0b8KwaH^WKtDN%z&zP3`WaCnU|Wfs z`&F1!<+y+VI$vQYydg(mTd-_G)%t|;BYHye1`jZ=Kv_cNs5_Edp}%irJko^N+EGej z&(P{45-}*obdTv!K=tL&y?gtKbyHPhr0gP=d@#dSen1yqsnLV;6yL#OU%I?O-^mg) zN)z5muIvSd|4wrDL|5v9ey|->r(r$VAowcrX02^GozdEA5XLD18CB9yuO<2xwj&!6 zo3?`cwVFhJ>^`w9Em~H0R?c>wbo^7sqBC><%UBBz^bDbiZ37~}wMu$#R+_faeHjtm zz>#KV&PoUo=Mv`oLW)ce?!?_A<^cL3A`=QsxX%B>(YePn`M-a>5F5r04s*8I<}{}{ z=4=}_XHroVHgXP0M29hB7&hl)hKf=-C6(lSPIIV;GEu2ilB80fpYQLV`>*@HACLDR z_x--E*ZXxnU#*((&QNyl0Iuosd?x+2YDlL=fu^ckws`d5+SCC!jQCAasaxSsF^qCw z4zEyqHD(@Ji+7cL$pNWl0g>nL*T5& zOuDk>Upu7k^-SZ)t61Xoxy`{+Kg$A6I7k$@3nJb}ox-@)^usa;IJ7pJPx^%!SnR-# z_yrRDSwH%fu~%Ah1J#24Ozxm~6dCsfd%Z%P@5mDoaypSqhqSiT=&a}d%>K?d`aeXf zY6+2Ut`Y&H6gd&L*vD!p6WT*Q#+vuq^@27?m>61H4s{APdoM-?5yY?mlo6tPV2Vb$ z-#_}wAPT8@6}ZDj-8rBZP)V<;9~#M@4N#{bRL<;0i&EYAwK@eDkv{4s3>6u{ZRr-~ zr^R7&PS&jk3Ti2zj6FawwO%=5`#VRy6-`)B+Z1;3V53n^#zI$DJ1$5c)G<6s++aB8 z_IV7Z?eCO71U=OfFe&UZl(JFd*&4&z_{KemfiuCcKmb?EyqIKIw`wjWv!Je$w{J~9J99(VL0!cqt{~Lo1S#^2gAVgg z|JVRzuH?5=ZF#g%MXbv}QJ+1BHczFa&E-QIZVT~q53mvT>tO(`H=VxV0ix^)rNPXc3b8Ub;afd z`18;Zbw8)$@~TTpLaT%pbHv&UwwGc*A+DOy8m;OHCVFSm=N33F`O!q%7f=JNtFmCN zO$-GduA4#r02IaCw95Q;I5J`}?xC`1BmA;uV?i%;WtG514-F3eD+Hc*$Um{xF>m5^ zq~N})tL*9#+=+~H_GuH*3zT*FSOKR1Gzul7`V5R&9hEXj1pCG!jrb1u-`G>53=R0u z&Sd_MpIobk(@4;pL<>K;7QL$|bpJ@vQz)yqh3Z(MKG1o1DAXx3dfofAeJX&fcu1aW zD5!rB>IX6A4%F4$H9#g}O6*Z!We7u)BG@l$IKgr7q>nrw+&Ae>?K5q;WtH1aLN|fG z_nsBBxx6}eD?uv>LmZ=wJ{98T^T``@EZi^h8ZMFJiM+cdUUSc|Z{oLvK?e7t9l5^U zU!l*x^^)3YM;fbf>^wLg&Mu~*A##A!ukv!H+wXGUuDR@_p` z3!M!aa;J=t6OG)5t`9ykE;qKVP*qf|8nIiSVtt{j91cG+ny}-8S#!p@+P2zn`w)7A z2>yVf2Qm&+cY7DZ8%TW_hckrCTpiLF4r5qg+m4Po+7~1mb4*$;W}Fo_WxY(?4_yjw%I@FYP~n4dfG??^|TLYyP{8NX97=Hn;>dOsRA9z2!dsVJ?r8d_UasGA%~s}_DdW#dF;a?~Se zQu6#=5rRss@RKB*R!ORP1i+aS=9X?>CYlA_(hGKH%g_V$(m{99f=9pRY&7Pa_Oq0< zNIaeh?`PCr?`uc}<&8;<`R1oNt33#8^(bT-K)jWHDV#$69n{U8h{rTltMMbHHW5Y} zcQjgJE~j4I*a-0DhcKa>{ipyBUk)G_wt+E61<9Kn5AQ5c3wqOOx}=7!6~94&rXNE8b13#U6)az z$u-~M(_d0|+kCXyvC|`i{gH<^g%rq*mk94q;w_bl!yK@dN6n>Gtq_lc=Y!A#*^Vv2 zIl&Y|-k0atBSFU=<-FcFJ*rpuL?T>Hd)<=_r5>rzdK>f0-2U?LV_s>Fm8pG@L%p@f zL&RWN$v|u08RaJqzOQod$~RF<>yeXY8cYSfnT!>6b_(k!M1#bolGtn+9R&?E%o5}% z#IVmiq#j6i%}z(g(qbXNAia<41=RjfZ`Dqz4fPZ?cEH%&TD0fN{tX|jmt{_sm`t9c zLxzzSabv1I!{lOc=DYOWO!O*KULnr?B*#_!G?5zP8cOTg9P-fQSjh2yD>Xs4wLE{~ z`=Sax4BfEn5ubuo{md&O=shLocm*)<<&kJ$O-b9j)!aS&N1-M5GsAH|$){pSg^aYe zxWJ0cEvg&T$yYQ<)!QReD95)+-lZBxt zIIGH;K1`a{FAuV{JL+*Swv0V-$Xr?`31l=-z*eVg!)RV(k!0YacnVp3pdWcS*AmzQ zY>`B*ouqjh4(M8Lgtq`obLku2GGW)|cFa>Rla=%jQ9)wt4Hh#qaT!=hy_6(M0G=55 zRNd*61$CE)GfS1}jVd8Tswvf)&Z)JM6n|I=VA@mauQ{;i?$Vl0sdW}r+y+#@8Z+-r zZ=MpZ%yO~|E>mk$`|UB63%N@sYk7QwtzOog*6YCe1kil(hDF*7`lUP$l9~Mjk2#;$5 z{erdi-29?`3;36z{V7H6rBC~5^xT?)Yn-t}9vi6)NCZ*;{<63r zk*Nck(#)*yv}e26;a$RvjQvapI3^hoZHJsY;_YDb= z{@cf;zg1481cl^?rn_WG@*Y?Mj~QZyW_qQO!o~5<+(`Vk(I=+HHZGEwJ4|aE1tagH zHI^N2I0LVzeJ%A2*;4&#cXebj^CbSa@-O<8G75>>KqA;p8}yHAw9Y-ARqVGv$<6H6 z0VLB6?Msyd+_F=%MM|3F2Ub;>5ENH;LP-4Qm$J z0{d&f^N-xg1iuzyl}-U+G3KGP?85jmF>=RoeO!i9flhHA&~y(haGt-RxvZeg9X~Tn z%m2k5cok9P&Hi$$Vx&XTakEj8*Xz0elZ z&R1{*vv)pJk$RH7U+TO<=m^j24A-)-U*=gZ+X1#tCOexGP}_F3V9MhmEHTm*hc1V9hoz&eRC4s^ z>N6E3=U%a7VvwHpB1ngc)##zs_#G2h_7M|Ayl(m-$^e-naE1ul!8)}XxrmR9%=E++ zwTS~*Vzl;R&l0Orf6fMaj`x?1f9}dprKTtiY#vP|;}%C?VQrD-Wrnq|pcG1f7hub> z+;9kHcJh6QTCc!X(RX|nr}by`je6+U482}I3`25-0A!9G7gW=;_%?qvS}QYj8`iUT0^5MOll@y^iX(yy zAs)<;7jaWP@_YH1CKqCoOr*X`HU*_a{xbJ&eNG*=6qdnM6y#sCNb z3IxI)2fk&B9WX?2R0j}kW^&iafBw0c8GcqMVU>(=vgodWFhhCmHALLddFY?akYXG; zG$iYqBNcJ8SEu0+PP_HEeKm`$I8dIkQ}rdT0x^1zmwA~q znxJWNK)%xpX;(i2NmXNR*7wUTHiVXCX;LOb;J0?O@k$WJY7(?#b!-&f-%gzrx`%>X zB-YnT)s2MSU?0xBCv~4+Xh}}h}KW4Vio*14ljj_ggT6X=hH1gPFnoPF~HCtV}l>OO^TZG6LFX8LuT$nLeDZx z{;lSYW*8HUZoA_U^5|@LEk;x5Z6j99El!q6=w5zrkMV8G20E2jMFLe7c!B2{oGZm-k-^NKFR`1Hsx<_9D;~hRA&^3{VC-dV7}y!1-oK3uA)!-8>HJQk$SdAn2awW55ppcuH z;R~_!PmGHbOkWObgL6|zF9>!1nx_3ooALptf8-`wdr|^nt&~CB@NQW|dCI~~5KJs% zU>W1oJ;!73(^fDY>Lg}whVR_aJiTdEm|ZmXa!(m++rg}3v>B)ib{5-a8dxx96ww9R z1(~%E`{_Q3y(=&gL(`ITFe59jo}&d!=ERI@=6@S~wGo}?R)WsX<*nfsUbe~?t$w^K z7}?`>>VZr>s!B=JB`D%crWclUIT`vB1k3U|i@v)?3XN+VW{*haH?eNTh5oV3+a zPWRRU%(bBdtxefYV%+x0`vD0smnw;9eP_7OaIA~*ycRWD5ytB#J{1w#?5jOcYnjiX zUDeGI>7}fFO^aEJ9_nn`;Ly;|fJmdKHcm$^AG|Fd%e0E&;|$f}5JPiwUnzduCuZzx zUKw`H+tAbu_}Ku& z64on&PP%m^Fj+(GYtJhPzD#vmCd&7*8tLJ6%XW(uu~q7V7kHE;oT40P82){{Wv04jhEqF6O|W=PjvBan$Gr->phV@BQ7D zAusP|u6w4Kq#y3<74X+4lUX6dmmi>friZRvqDantAZxGV>v}MbOd$KWmiD>y@NT?>SuxdX|8wH2x^m^4Qs;E=WaV$kI+DB%)9nc7#-vB^29KEeFQ>w^ohg!=N6i3)} zz>k!3w9cuB5k}tSo;LQovD$c+&mxObnBBbiTy$7dp=6 zB;gNYwKy|Qs~c{o7N6flq4WxfD!BfE9dzui+8R@FpMnf*`P^q;o7+e-fHoA!0&RQT zR#s16?$jE{^gg||q_7MklI0`#_oN8$BhPLS{Ugz1afkn1@6h>| zOEZJcVb`ZO@N(m6y`sg|;*EINqG)^rBdq;uWCbfGzYC61pEv9WSNkC&@$ZqpTAFux z&GWRAf?*y<5T<%Sxu<-0bQ?ZqH&2u2G>AtT-lIWX+~gYQP8vj+N#8?zL@*il>TY(9 z9QS=*b3c9-j2U3f?1>dp<~ZdpC+%h!t2Xx>0NeRo@_YIP^8}JWiIAe;OY;3j;lKSxXkIN5c1-;;6gb?{ZGxBrt>nJV zy8ZQE%GJ4k)YV*mdPVtZu@{?K%K>LP${o7B=n>~C23V~j z*ZJWCQj>#^%G|WXk@o&jtkr=`E?>8>rxiIM(TGe+ITG;2Mp)pQ#`%fPDa($TIb3K) zP`M_5WVO^;?QdCL%`Ij>tIFByc!2L#ogj}}d(Kc`1L0+NCk^yVj<}*mE1_zpLQ;r0282sjj4Q6ZNRm#iyVPZ={o!fxIE7 zYdJB6(h>TEcf)zVU1Q0mt;WBlg$iPaJO2S!@K@!=l2NOdEKB9mA!@^E-toB7U8U>% zD^zBM{5#-$!COOup)gWZ0#&rBF*MMK46fBBKgp4LNP(%C|MD&KI1T*mVe?I*#&mTr zz^)bL&2%0u&u@XCq-?R@gU(|kUlz<21@LJHm3t$`m7Br{+|F^qv9!}6C+Hu2+wH4_ zYBINiOzeB5;`hucQBcd!`?av<>#KwaLTvDCaRD~lpvNpUEZ<5rm>KD%d@T)Qf0s{k zr&>rqOcFfU1)nP{RXr<(>UB_m0ghfvU%OxzU{%c;Z+h-H%^QnT|JJE!ZIHfme{2*in3c3D{f$I z?whD5D{u+1YI>nnV(-8U1NkH9^Tt9BB$?2<)m~$QYs~1|m)QnovX&@Yre13cKru`Q z+))X__Vx#(`%VAbCl9-sTs-K|lzAPs(#{NqB8PL7tmSu==W+5e=p85`1R$3vCS$5$ z2hWKuM@-Cp{?RvNHUWoe93k*#DyER=`=gdxbwTkdw$sr7&sO3!BeZA^wI)As(h687 zn53`S%)^WV-#EJAZxBG=DFP=y?I0$XJKlS-c3?kl)Zjv>xd1vICTH>h=f7CVN zti4-s_9U=~*n4@(W3i>7W%1>P2b01seZ~aa=08^@J|sgVPV((jkMxmrvPy*UK;NM_ zWGTU`*|Lk-uZ2-8O`QloL@0OWdqcy|BUyG!3NjZU7XhfAX?}{(OG@&X{3crby0azH zz6^&x)#|@an=zu|*J8fon!C7(f^v9cwU&T*TSD`cGZhH-meCe1 z0mU$?STgdSYG`bk!QcpwHLsFuKpdZMnb{_54j7DYSRP@PSY<&=Us}oLr#&_3kEONz z;%|$VrY5MaL61(AKzz;L5PwA`ea#9ly@EPGo$3{5Lo`*?rNkZvmso58vhfcv~>@h&0N1OHt7A>fP%yY^|{pyU|!4W&@J^oBEYoZ=d}ru{6znBOXo z{Y0o#T}0|2jmQQ$HMuYPF`CF$kCr|hQt--wo1ynr@EfR-#fW8%OKYR%%}c-1T~A1` zAReKO0J_2j;rpViS%ft zZyiN#MBt_BKEf7oB{Ql;e%o>!$5hcb7f0)O=UNhBhuC>mk~bkw;cBDbdu)=}wrr;$)<9o~gCe zwRfyup=!Q`fZ0Ar;5P6L^!zR6FiP3vG)0tDYS156dh7v-d zooj9*L%S?tZ)2it+9ox;vZo=4zBZWYMlT+m2QP8exw&<{COPB0d`(4gkQmjQqfSI% zex!}Pq6AU?2#nsc?0pu6O8R0DGT`1O`ADsgpG`#Ef=N*uV(Q@hTKRp0NYWa^1x6@%2PIeIsQtkOmuL7CRI)Ky#0mEA5nI#= z#xNzFci>3B`?hAEf1y}DO@h$#ToKXYp}hl-^C3!Kz?#;D05mb}=JLG}{ootd}AJ&qfWu(d0)-=(MIWjm^lD6TqD~Xi4#|`$MB|{UX3ICldkN;<%%|y5_b!@}4S4 z7Gy$9T)(N0s!{s=aDmKOR->G_QwHZC&N-;xAz9jhnc5GIxOwvDT<38_&Dzsy_`A;i zez(6Pb_`=)iLJA?vr3SOqJZt0yj7iXJLISv|0a&@6S#Q7YxGjj^LNXW_T9BQI!2hgfW84SgoB z$F(*y@W0j*=s$bcnwwW@3Iw689KYoGP$YuTM+oi^y{}6>{#2;LPiNP*S*0 zHT4QN@}3ajk14)2B+8Aa+a=WGvP(2LD9?=()GoB~u3$|29Y;fChfFk5ZG?AR*vAMf z2#@Fl!g&(|eu}&tSsP7Vvz$zw7$t#Xg(d91smUeW!;QAwTV(SdsInDe!W_8xUeq|? zO2X^*;{Wy`#g_y%%`fcn7wIP9<9R%u9j`V@WON$-xq!b(ID=XWIih~79v4_#EE4Nd z*iK&@qIcS^tJW&9J@n#CHf&N9tWgC7VQGQqSS7mTaWKP1us!c?GVa|YpijENY{M>ELgzoir)r)8&@im zyUX!P+^K{6adkjZTOjJypkj_?R9OB^L{r8Xr2%ntnV+8`U`r2mi__hC1|W~o z)Ok%~BW|h=GeoWya=oOd%MFzMrV!0OK=mF@Ri)v|29!Xq6*Pel`D?F*nn>H`p0mfm z7_$~gAFtURE^F?~5AN0UnQniQ70~JHg3UN`P4HNm!bypaP>R{wsLh6Z7~y`hGRfIw z11$=GXL@_%wd+;~;$7|V$3rH7Z|F7UsOX{5$6Sv2=Mj7H|MsnO68hMs;sy$YK#QQv zY2wH|Xdi4!r9T~A-5f1b{L?z|S|yeG zid*J22A{pDn(RPph-Tc>`I?FSgFm#P!7D;S;t3<~(c#Xe@VV?wLinDrEv<&wxYh4N zh|5Y3`NFI{lCh`RxmmW#tMaBZgc?QlQDt-23p@rqW?Bq7m0ki7LT)X%_frBBgZI@> z9S<%03jmajJioK8>f%b+vt7{OHjnqAbptK4A|Z+^y3q5oz$evy$Qt%td*M+L;K=JEC}K-NZX=+SO6rkP4Ch1f;xUMa(6w&DFUo5$x0*Y+gu zyS)WpQ(Wxl1xB+JL zQI+s>XHf__>n`qKrBCHij$UtFu;5{2{7}J~pAKlQnN<4C(H@Q6xJ#OPK!Lm?r?lzQ zU5CDP=R^zGb?o-0KYv{jIzxA z3kV zkBi{v=Z{nDO8SZ5`cHIn*wd0pI~@HtchRD!waC4I@(Y!b z=hFo4A05BMAJHu>t5DVt_6e>tBI<4+!!Z04PC88#0=WBH5#gxU2tUKexKE;1YX)*3p{Q(!^Q$?k)aQ|>ZCW1g9ayrMgr-7xOgnE*`2cpqH#1ujhnsfr zyWGDPh;A#9)X$K~SoM)9rmL^(=@Qf3V_ePH1|AS;ci>+gj^X}Af(HKSb5l>vag2vK z`^mz{Fe*uOGbn@4u7;0P8dbZ#)+!uoi^4s((| z8F5V*^8gjIB2DSIA9vyMoKJchgB`y2e>cYkTMM7r2TjPLo8xn1%5CUi%VW zWnhlxu;p~Ha(}ltA}JuXT6DJ5)y)K|0EiFBQr3bbH%4v*;i4b ziOC=_6ZKfsVYPRrKoFn;4X7R&hTB^Xsw=L%1!SBNc(|!=JXq@U0fT>9pr&$_Gn1?# zmS%qa@Am}gu1vfhhDdN0xV8)A#_7=G47ct3ltupJn#f9y8ZU`vjWiW(2c5&j5L3ir zu*EKYmA4N(uHh(r?}us~xdHVcqp$N>quBz#E8u70ZFGn9$>;7D8hC|eYF*jt;*)bN zet2jusu%}djXcVao;sK-VH)r5ryd@2kRw`7GifYWyd%MEtog7D6E5UEG#!UO14=k~ z_9cribg?#O4ca$;kndegV;Dt_A<*c;)u!irqZOczWl~JQAS=CKeMtDgbK;@Z!`WU( zVrF`A4fQSjHh|PR3j~YvSBiTRmY@~4o8Q!I0y*VG6WjlGJxA3YBh*_};Fe#Ki(`4N z({0%%!x+8vK4U8L6|0j@2@#ABK=?t(8wg*j`x@TKtmjLI`4k%{W-#?f7~I<4)r#vZ z;1^o3R?3cE=Db;ZDlo;H;^eJnb2~}dM-G-6pla9ro&x3;@1Q|rjAfSdbCA%`&~Heu zAk(l#oAN<4VG63F;AuI3P<;(*g0OL)n?jxp!_rBwqzzj=K9pJ^O+vUD$NX%#X4@vW z%03PTJ%UD7O>?ZKLQq!tB98oK9TwZkD>HpNz+uK{j14eDX}}X1=^yP)>M;xk^2Nop zlf9`2VNJ0xp=Wujg*(-KWJAi;`(^w`RmG&}JXX2JUOpvUEvOO_uoN>v4-G6PsRyk)fiv$?f=gfZLycGc z>n7X={wR|=<)tL=hlF9A$<{~rBztyUHmo+_mDpQ%!T93f7DG}6@87%3`;t`C(d7z^;+F?d+=c@mD4-J6(>NI*NhWwXV?CDG)t~E4HP5T8x&7?3 z3zNdF1$P<(*z;;SW#!{oB@xX+27_PHvk>Ih22(zyJj9TfDG^L9GqTNR@aU*ME!3S;v}!NF70Pw?Uh*dq zw}AKfiXl!Q%Zv$E{6gItSsE6-5;&~SsK>Olu1mWC$msN%tU}^~c5PacOLF@l_W}5M z)VfQ3sYl)!an>4ce-3fA-*s2wX{CWn{#7K>C~%P3n-tnQm@^UXAh2rs6ZEnmP}Oxw zoYr?vfbijM&N$ge;ZpunqvWZH2^zVX5n<|523u-9V#K8GDbdH$T#(A{839$tIP8X z8kmku>;`O@Zp;2fC+Mr&ak;rug+@lIStuun+NzWtv)8t&BsYVuDLWO!EqPxHCj|j3 zk>M_`j|ylSi8iAGlfuT+_>d!KgC?a=Y>j~q9};!}O6t25+n$;u>gwY3tmPDi>cQ+a z4Te{6kMc`gxBVVi0?Z^;0Mnw7@-7AB6cpbFcLJBGHqHbChzLM6IZ?&Vj56}QU-~Y( z<_}2Y#%UWG?|Uq_rM58qJGH4T}R3u26> z>L4oX1%_Okc;$veqz`s#;cw|?ZNI>o>we;yWc!sRQY zrS?!z1ofW~om7jUJ&-*cr0?Z{1qnXEQCWa|Qn`GLvC+X?MG1OGK(JbfFG|(_Rvk15 zFimbfjRa@0xGlwn_lg*rMkz8=drbn~Y2rrXi6v_H$ZrjUhWxR=VulJX>#pMLHZF%V zH(TSn9c@+~lVh1#&s}Hu+RYW9#Rp0!?Nim{EKsLHAnI#HMwwxbF3ulB^_86^n%GIk zlk2{B-Gw4@Vv=^8xD)p5`he`~aH1I8$Py$KL+2(cY@8y6Z)0}$wiQ^}yYBh{gB|rk zt>xR)kf*;`Dm#!BIMZ|01N?B!F2)$I+YlV?sh^-4Jq(i5qZV9xj&AW0C8M0;3TbKf z^e9uooov-~h_(FnyN>2OD#s)9uy0gGka~JV&6C4d)P>kcQsSX z>1@{Zb@_gIm6~VWqke_Iq$Vp4n`pjonYWZ>&At>r7{+o+l<-`eJSntGcsn;jscAHi z@G!=E$%lLpCkuCpmdQB00&S{UzzY3BYXf(dEfn(fa?=eQ@&sIWMF&m`IXD|_wHups zuA7qNrQZmBONq!-7>g}TRHc}jS*PWfvkE&gBZqUdbDiI6FRSN z&NA!q9vB*8ANOL1wMj7070r`RxYK(xy7!EjX}VCwTzm4{ag zNghP~{x@M#&l=%-dJ{v7$hc4eX3vK~Z#G8&hT~K6lmNKyENeO|f7+_4&~|A*On=_J zwJlZbLR7K!jxU2X1;s{Lv;*VM0s6*drz32kw#saC6` zq(Vr13OwszIG0D%Q`{rq0?U>^_ljKWYqfj4F_}Mh#i7RSpnWJI!ib)gBPScERS4)z zJ1Q_@K`MUB_VVaGxU}f{)_NdYK(gI*H*<=dr?MuMcBN3i9aE$O)GAr@?0C_fd$oj} z-m|%FMUEYW}_1B%NYY3|y2_nrsaa%2L6$_Jm1d_l_XmsZFyz43$xf)Jf zi_R21x*0lRm<>B?oB*$OD6lND=NRA!d!GJNwZ}cSP&~F($tOty4jhouj~zoE5VJ&{ z@GjRt1&;nqmuHZvuQL=(Q{_Xf1r8NlSaYL4AfA{=Ux*yFgHjG!rX<)y9R|6La3Uvgej zc+}Wk%_ig$S|z zj3EMw0Ei<1PXyZu5Wx|p@=z6!?g`;gH*w;w+A;mYUJdC^MSqT5BL`A%a?s(TQ{5AY z1F#4)*c&q7AVNx0I;3W_R3Qf_#xS{+5(ekx-v~3<`vnj+x6{EjbbFRB#EVPr(}rRO zY1-1{lBc3vYf%U-?ohiuXK%L`1|aVffj@=~2E>ZSe(xbrUhWg$LthK*6WqgJg9Cv8 zA+0PDqW_=Gk8@V9{@eGj;-B%}P5XZSx9{TJpMTB!g)V&k^XGN+mTHR~w7pu>tKTx> zR`;JTwZBhgm@lvB=B=?WyU2gM9w}krWNpIX}$T4=-%j5Q+-GB|6ZkI`t$Ff z!KNzf9KX?|*LKj=+jzq=*%6_9{`<}Ka;rS6`M0GXL)SX)5?|E}N)J$fM|B{AIGq~o zTif4tg0foAyt&_X{?o<3=VpFevuwrB@%^mLg+LJ_rFZFRvd%yOeXQtudr~S`w#z`hF04T>8~vA!_V&3&Zk&%(Qdf!3+2z}PyYS%YVcgva(l19 zh(EY*{PaW%P~;NmzRERpWLnj8n>yxQBfkx7v6tCHek$NbI3+y4tE=U#;1z8HIW_<0 zvVAiH^&*B}(#mFaHS5nku-mbVyn;zpsj!Ywf7a#vDLJK{)CpWj8KyUp;9u6HW0kw5 zx+k7SE}H&4T=+QYrEk-Qy+AWUI&J3X8NZX*FVf4OV+KRWQVvq(E)e_d{r~N&fxw(D zI=0rW(Ynq(EU9un<+un~sdsJ>GeEuZpSc#hQfB1YuR(B?3i56idUrDSn)S^}fvc6R zFiE97QVjbHS+S4!$yXQju9OKBx<~Q7-DYG%>b>Fm>lY-eY{}HcT`<9S`4W7^d*Q4o zCm-x#`IVo}`SoQ{W>U)Xk7HERmop=`d?kE9&KD#vEXCj^f5Cmr>I{ahSC(Fi$=rD~ z8Jm0{grj(A|NK;bp^Jj~na?x7%)fTOS)WW7Z2Tdb>SdLG)vA##JSDE7;d-Xrdz{>T zJ67@Et(1`d`M-cischRxl=VauWI_6G-I}aeZN}1Tm&hN9cOU4TbdLP^S~PrOMd);b z|0Utay_#8+!|dBd0>_1pzD-T6b5bpX+3fE>_MBst_@eiecKhw*vyPTV-Ou+$(NhKv zMZ7TbmNCHm&Qi*K)(%pcsatryTwLDROqcFMD=Xg!vMCM8etA)zqiN&6D|IDuxTFRk z^dYVJkNCZUq%PWC9K4>1_NTO@-xjINKir2Jk0MPZmG=h>ZC_$utp2ca*zO4V8Zu8D zmEDk~`+oIL@(xD{8&I&piiNkGIsB=5)2MB+z=Kyfe1QM4{~c?y1LB`8(gJ{}2W$|@ z`!77RHa}dcerGS;d0qDb8M&K1`$n5m>)!k%?=9X0u0Auv3$Pk)~zR^KT=PlEzYTq8*vU?-&C-qC|0yRiST+=v3cpzs}DbCWt6iS zK3E^S>S!g8Kbpro>-y0PVZ>^|Ae~i0$JGxFmmfGpJ~FV% zu3KVyav;*H#Fn$smD7uFqfbSCNT}P@-wb!eHhnIfXT2|J{GMARLrT5T2Y6(8JN3%- z{$94iv!QzlGBeem9Mx~mL~U65$7uK+I-Bog`|XfU5}AGBo}OR#_B`$Jn#eVBMB~Rt zuhW*{qDOtXWTxdkF=eRf9{62*2oj?Burh6Ynwx4Ov07x?@niHcjxhv1&aOB`|QOp$1WB0tMLRKE0ZhAnL9C z1K9NRnw5$1O?{d6L@&{k#F@ghkQ>5`rU`S$l?n^~#HsnfNy5;&mj)p zY7w)EK3i)OXVR-gzeKG5^gV3-X!aBQsb%KQ4Uszhgji}FMRAUWAibS@c<8rE&)MUZ zDS)A0{#{)sY>kiJtFu>*Pq@PF-Q-#ABAwn9qsI$Zm9G{RT^oM$%bIed1#3{DeNQdw zo$e2-OvjXscTMQyL^0vZqA?`@;KbaAn|$q|LTY>?p5TMMlrB6n0h9&8NF&MF+gaOBTG`xEzIa5v}ucLVO8 zY5$x@i|D_9rpon&;+#dL;%b@W|GIle0!zN-H+Y<3%z0Z2Xj|8b?Oy1NdbaO5Kw0jM ze=+U-&1rd9qe+!hFWUI!%060*YTpTM^A2;v(gJ9gEsWTh#3=Da&Rfr)M&K0Obye}89o{9ol!(Kat#z+L2f zNSSeAhVSrK^Jl^L{MFOH7PQmNGGngoA*z%p;COa8d6`1G8oyzX2^v8L42bsbjpbd1Be;IPnaYHE4#C$s6Bx1@`Vs^1TW-?zX(q=E6>7u`($&|t>eP%85PTR)RjW<8$XDVTWUQ%T`-lkQ9Bje z8p)$ZBjbm8_|+a|4w3xRZANaz+%Ut~Y)S4&lVagb1&V3qW7jj!=T`uizGvH*$*lM+ zp8Yh4{CxJo>cGMCCx)$ilXjoBxL~H;0r-6^hug@0pM+-`uf5*cm6*}@J^uFJK0HI^ zwS>rpXStrkK4VpIDM%=xhw$m@bcxC z7x#Bxtsh}MPHVlfwqrsA3FOdAoMl9@Q>QV zm_1V5zoUD?{Bx%ZOv&PlLwn8H!leiqk;d-lIaG0UW)Nlva8E*`^!lZ%GYRSsT+c3q z)L*&_N~OO2(f_#lZt&muyf;6OJZ&pmbQw>{0Nv}`z<%j_76`nr&@|7&3Vu+(^zC!U zX34ED_x#SC?FBz}{($a6T3&e}`^3Kw>_=fnbu63~dM$KK^{0Sycc&PK&iK(EwQ7(< zlstN4eBZfCm68Q-AAwfBb-Ywx@aX9N(xgKuXgtYI{gQmnq4VYON|Ddc7av+ZRu}6d zuzng%)P)6{_-|hiH#us>cB5!nZGF_!-FIoBs}zZC%UMC#pS}btU@e+$X1)d|jJcls zykchi>())94q(N2y=%uj{}SS1!op1vhjTAqo6K#699^Bd8>THVC30yVGMYFkVYn@} zTHE~Vw8sgdKrf2sBli|zxI^C(JpTPn-U*R7%a2?0i&qf1ww5kKz~kSDQ@bjEF6t?b zp)KUxm;cg?O2a(ge!>Cr=W`~$1;=Hq7;4m|4^?}F@n-*Xq*B%!Q;UzKEo z_UG(g>wBhJ5|i;pvb$6#A?D(F7iH7*d+FJME3T)-*mt%A4-R}>-@GPN;6Wp>G`vkuD~d0($$Y zAH;Gq{!C&StyuzCHCD&o5~89Q$AkaEWEQ~BkG4%82{cU$sonf(kzef_u)KmCS3SEu zEusA7)_iM5g8j5*v)<<9CmFlm;7UuSx{<`(;yxuS4*&69S)Z(O?=S8W;7{hs@T(T+ zvxN^FkG%S{Xa)1XKr5D!E1qNDwz{=?rt0n9ceC(+lv^ zku0_R7a`|mv-uMn56Ba>{;ag*m$n!{z8(av>VF|&UvC^QaPm*Qo=a>z5JPyFb%-|4 z&X;}{oa`0RZeFWu$@VC-f!vrzImj{xZ)46`!th_g)Vsjtve}*s$Za?s%dz<_lc5-q zLGpUwvd*tKZ#`|cAG`oxW2c?`ZzB;7u8$7{OKE%Ty!UQ^XB0AbVW0Bz1cw`6Em|Se z6YxYGM1Paj_m$ziZS9|jhJBn`%VbPjWSN_<5gEw}S$X)$>PAFvbq>Y$z))&-_2FvH<^N4m` z;WNpc`5?p%pJe5`$F>GPWyZ-qM6hG8!Mn%XW&MCdKlOmNEz3;wpE=oQmCDSVX>41B z@SVd_J>}55XYpXKXRa5hm|&mr#!P?-ivJ&Ym zmt+`at1=`T63|=3TPtS9CJE)5>{wc6KlJi$ye#mx%Rhm)hGwwCZLE9BAO_1}uXa%D zWfv~q!j4}*0yr*=vhk8n8PqWGnZ%Cxg9JOgZ2HAi?bJiIP3A)x+zApFii@)G79DV% z@w+k9@XyO;i_2}?6&Z&dkE!Qn&R!V7V`mN0aKs6>BfRA{xE`UGY|nAj=!nZ__&H`1 z{pSuAVeSJS^$s_QdX3ujztkBt)=lcbfPu9#$GEn>*oqJT}Z6G5F3I;V#)2g)0Zv0(N#%cW87leQk$>CSoox$+lY@VD7{U%WRW_ zp+2LB$m3UzAZ`tpsY2_!#^^@!-@tVcK@xRlaL;V8gQ-Cl%sM6|;&^D{~=v-!c>RBFog z80%<4gO=-6TJ!0bw>-{kuK0OJ@c?z()$uva2QaF5yb=`7?(I(hh&OYJy(m+umC? zcpW@tl32jUc3Eak;z7Xm2XaGvnZSqdF7f4$)$#TV;yi_%C_}RB&L7U#ZC_hwa#m$|@Gi;By+XNaHnxFToT9reNFE*+!`w2@)pIFDjm+%#~U-#d}0DWkq={!mFJ0jXKcOvvGNz#`FdTx zkC6APA%l3&#&hoglYnxYCj(#1^=}>7_*?y?=%UE*mJ_Tk00@N7{dSrB;rzHX-!Y&` zs2I#H#QU3iE?W^2FD+{A;;rE4>i5pRK8xwl5vp8U7uK@+pALa(#tHU0Ar@G(AhU;t&V5@8+VMM@b<3e*We%JijhS|ncm;&^xP1g?P?FWMBrJoy zSrIS?oFC{UBzTuk2B!OxEV>qzZqbV*l63=vsl}38bz&KX=2<&z_T-e2O`H#PhgVT~ zY_aNl)WXLCA**DZW=SQY)w68m>aTr~?SPH8SvqzLQ{EQY!rv`|%OJXP42GRU6GWUc z-a8)NEQQ8pIpG1n+j&>dY+fNFW@L7bF8Dq9Lfh4=lGxb&SkG3G8~Y*CsY9#!S%&7{ zKkDdSxZq^4i0o$7j7dGG5^>U9vN#A&x$=F>yaxr+81_w)>BB9Z!3Bk!WH)ICQQAs7 z!^@+9nZg&rni^6D`EA?~A=4&iol7pH$UaZ-q|s((b!7Q}iw4~ekL(T4z&E6?#HNT^ z?({G7KmKKP-2V4CgQ5-UafS9cC1=a{!!c~J zm&A)x*d($R852DD5&c7E+aswh-NwPJ7kSqBP&^=(IAX>AR=+JiLHvO71ZBKq`A44- zlc(^#g(b02BE= zD(4V#;>%hYon=eoO zd*p-chwT1DFVm6)e$k&HKI0E?Ag15xZ-(;^Wc|I`@Y`*++k6mxzt#-@0775Gg1@t` z*>Bb{XBOSy#=-vIO87D9y`Azr-{IRy53D)6P{l1ewfo5XY@>lj3^(HNk_euP-{GUW#p37e~183V|B0|XisWa^NJPt7Nlj0q_ z{o17XEQR&swh#72sz^f1>=sG3OgWrq7+Debfs`|s?ukno>qry(KZ8T;AK5>X{R#Xn zKX3Gv{k{IrKkA9~Exsd6k7TraA^pGJ_zzgU6UA8z^27H0A7|9rWt}bNSM-PMYGz?6B8GSYx|F_^q}M zZ*wfHXITVIB|o&g!zpk-WsRBePdw&$`U@n*RM?P$3csyHt5(_NbGJ2%Nh_YM% z0J&)OKkEk%hIl?7_kRO1#lDemIc{H8$ChEyIFEmCdi=AGi^KRm*=6dTApZbs`y}2o zn`sXGw*0mHxBZp%uwPgw)9Tf^BuBZCgZ z4>Q#MtJCRV%=z9X**y~J5d-xy+N??MUYaXJiwNIW(eg}i@q zi2m4m;m3@SN!0FH(#t%bKAEq$1Lp(#gnYFx4+I}ze#rbldi7?y^I_uf;CYK>l1L!% z4-A4Nk5+hPgtmBiU!aUg^~a&t?_R&aaJ~@?mrMukq4E>!ZulrkePsR<`4Yae-@GQn z4}#&s+hvY1=0|cloyeOk^7)vbR&7T!e7qYZgNZXN<8SaCKJ*@McFFb=u-Cy#+LNn~(s^LX1b9iME-j^&ZzmO&BYmP~NNS%)Fm9Xau2%Pb(-jz%N+ z8!Vo;%zeaiDTJlE>u-nKB$JtE4xA!-m^fg+-H>~OfgH#`go4RCoO;-XBi0(*FAgT5 z65*T-UC%eK8Q?#8hoaT(khX6}8#dc)JUAnpo+N6_vTksNTfHw12Xo7KLyrz*oI3d^ zdh+%$d-3(~COAy><1vToVf)i5BS%gX;CMYtICIf9b0jl`553rk=G$*}8#p!$i##kTKaC)7K|gb#AqL)vG}$JzMU-bNP@eI1v#IoM7={VJZE= zt?}W$?|)Fi$LBuHwto)!KPTxu5+G0L)?$#ex@gQyvy5|i-x%NIln`Wi+B%=DqAL3c&S;00-58DGi zrhSF#{fJ8&*!3inF~hkJuNRwaG18hG;eEal0?q}f)qyz+XAt07)#^SHBaQjQ*fLz6 zbR+IymLaAP^=CfZ$%%!Q6Em-dUpCn`p3>*Z#$jf%^xn=MeBs=VF!6Zwi(&2#ggHf_ z@)f72t04Q(JOgDPY?6MLpl{A9-+UslzTt`3-bK{2x9~K^<{o@1O zjG2&qw{N?47Ed#oXLp47=MFPu$QQJ~*MSA}*pG|uwnQzrgiZG#n8>k>Fug>NP9>9j zu;XF>0Niu^N?)6M^YEK5WW&Mlct_6%>m&fXL|GPllJxY-p=1U>1sf2wmxTL_mh5Jix$hh z8*R2(d6r(Rw@3KQ&lnd7c|@7W)S?Y?5UlOA^^_{gV7`Bkj8n zch?UL_Z%|GEGH#7oC^pbvdcK^N$+eL`+_!gmRV;5VU~36Pm3J)J#3kZEaMvyA4XYx zj_lc-&TYIpI2&vM#uwO2X&h7IwsA8l!JYMW3nZUX%(K9=fzg(teV0S>ACV7S1Rm_> zM3zJx%Oi&}dgIiTpDmZZq)PmK zjQg3E5_AjW!W+x>QLF8S!pMy9ho|hXlWBfihYO?pLgOE>3nz*i!O0Koe1(zj%Pg`8 zEVH>`7FolISRsVWyxVQJo50I*{n)Z;93_(GJg))zUe}~Y)DYx)iIN@&Pfy$Ntw*X@ z$?q}=(6EFcvMz5&8ntb!(_tB5dbZyJ`|#fmCkgo+A|v=8m+bTFtnvOoi}pCg40wI? z`xnGT_0l81M^1?A{{Vyk!~iG|0RRF50s;X90|5a60RR910RRypF+ovbae)w#p|Qcy z@ZliwF#p;B2mt{A0Y4CoX5sYB{{ZXf{{Sa*iJz$d0Ok7J-X(o2>NAMF#fHD~f8}#6 zgZ}`dar$xfZ|FlmUOue(mpK0b(#yZ7eGUCD=tc~4xvB0M`f6X$htP8j{Y*(+E%~ZC zF-o>(G+y~5{{UjmrDyp;Bn61?>#`7>#e`w?BXHl;hkr-Et^WYvaXF6RxVVSVjJW*{ zrAU_sjG1t+4rlsbmsP}(EfBpn>1L?1= zVpsk%a^k`+CHRK_0QZljqra`fBr1yU)NgtnwS3ohY+?ni|StdKu771CMO~u zvf@CZyGuWYB?b?gnqvtS6}&lp*4xjZlUzA zqc0y*UrLoV1(|@?{z-lyXpCWc`qp9eKK{4#VZWtz%o$QsSMe;@F^Xp}@{-QUa_SNd ztDgZE$&_B;*NTc2Y_UnEnq|Q|BfqV}57OU>hv?E?F6F`Z1}-Wt+FR$6*Njv&P7lOx z1=bqeDFGvXBO@ZGJan$Q9}u{cNbX^_UM0(?GUbzboJ+*MK9}?s{{ZkgoK7W@@fR?g zeI5k7T*DnrM)Un9q;8%=aJsKS%!n zVjd&ErqS2cX8!>3S^AM@GVfpbU!kA;4uA8n{V)WfxpvbueGmQa5gO_S-?RWYVZdC) z#No+hVKrz75~6cpF+CHNSSQGt#0)6eXk5H^aPkw9Ebs+E3hm>#$1wRWG?Xi%dq~0% zt<9}}*mkN2oy6f`B}4wGlz*&`-emc)ZDvRYbDHr18v;0si}`9Yt8hamXjp$US1|*b zPrL%+Fo>8EK6074?uH`sJ{)}NAJmX%G=G_a&^xjlVy|+GBKO3@oX4b_W}5zxcS2V8 zG{2)sT|g4G^bUT7%)h+3ad8Z@23)w^!aA21nSbyFnLy{XMI%A+8G*YN#j8U_7dM38 zS#eVNgWWXz%LuO8VAKln2&$&DE(Vm~n|$771}EGKg}mw{7TiIXJk+}@-r}L>s93b- zR!}$G5e1_168q@88NcnHz*=>0VwdOej zx~T0*r9+wLZ_+ckU0z_$?ROmA#TF^_!2V&XVn6xc*NE%r{T)k}oP9GZ{{R;lW9!U* zmr=}N{{V{mA6cPMs?l}EdeqMq0dkwZIv*i;DJI6n|6sW@-kJQtxN z21)O5$}3hi4*|K4h&yuwE3GxS$Tul~2MvtEosd*s97I!<6v65+I=ht%B1EOO{7REJ zik1V~x8S3$|)F;WZGvGaiRIjgZtTvA4Lr6gyz< znyTH)Fyqw6phZdz^~4b|O;o+}2ISYdODROzv6UD5hWJ3x*~BHVp_l&vrc^B+)jMLa zl<_YD)xzM0IfDZu8$g%HWopx;FhXXyeaC`}2ySk9PWcTyWIqs7GjL4(SZZnX@$|2& z0Em5EL;nC5IE(atyOs61$I{N`FX&2QR^~g*+N<0v8RW&v>wv(SdLhKk+!CO00ySgs zQg0u%9JD<~M+7L2)oBx`Q7aEQRVis-cpzI6$HW-9xP5Q`04Bbxh&E0oMvncw61=N{ zs+0t$-P|XTQwmI7A~k`>gg^sPg4NLQ_u_`cf?h@m@(jYJjMeF z64Sgw<1+g-pq{6x8JQTCmlx(N5;={RQ0JTx)uWf>%m5KYFmJTn8Xj--r!Zf{f_Z%pEpeSYT<7?Y<162DX!lEnzo#rhGYwid)eqbkF zBNSnAq6S?#g$g-EfGbVGTQpU+%h9=3L7_6{7AoD6#SmU|JfM{Fy$B1%@etZSFvTa? zFb)1AyEX9)Imft$#2H1F^M2+MQ!&+$h}P~74MGqDs|6`&bU3(_U2~YuifDo@wz!o5 zvDnncRYCZVa4B^Fv^&vgnjW}ym+CDN<-`q$FFhQ77`0ETDj zafZIH(JoeEGdxFAiOe4TqfsW4)Cei?7Yce+(E~tw4902w(;U+fim#XG+G+Jd?x2|! z*$}GNc?`WJs=xU{i>=(5xNgQ}VTIDa+J&^ol*BN*I)BW3OkfG}{{YCm&Y;-OIz9d( zsurnF-ck~apxxs1^ZAafAMf)mAy=mi0CUJ`*QbAYb*o6+AbW}sT~807i|SlSDcq!F zrmIJu67NsQW&rPe#d2_QDnZCr_>R{+cFag>RF}3#8Y*24tf5{YeHbE9aI|ir3lwIX z&-sW@ZnL?P!xEk>2rxKaNMg2>OQfdEVidC9?kjPXmJ@DefUlU1r*eb2QH_~dPFrOw zrc;sxp!u0H!74WqwgA}KF<)`wh#D6aD=#n^3ohUdkyXaj+uX#{Q5nk`u|8pN(ap?= z3+gZ41sCQ8RXzkn3UchZKnI9l4Se$|ex2vEFx(53t-~$O)=aZbHe;E4$x=sf#} zAYF5a#Tz+cK%-+xtVYD`{7O-mZsP1x>4X|VSqkoR2f5jAs+n%F%|#gjjY|`_(cCWi z^BloY+QBF-&9N?+xZ8Ejut1}b)W(B)t|j4cd5U3YbpTdsCJoL3s&O8-UgJe~?}#v6 z#u~yW!u1A_j~3lQkjoIkG4U-F*(?LeMj`+e`uD#X$M_kA3VS0Wb?#H6--vEdWNiHI z0dTnhj{gAUDanGDL3r7l_#h>vP=P%7my>m`h1b8_am9Lx6x7rTbW0?NS<>PX4tK~w z{&fX8?pyRH?l<+f>h4@pZTdT(GknjKb^v+AD$07tsk7X@3+n#>`aoyhp)x9a7&rLk ztQ1)YJP}6A6^un&%p)egSVdZ(yvx{@UobA|FGHW3Ii%Wc^ti=~FX+Fbn|PZr$3`HU ztZ8(nAJ^Ivbnd`uCe7h>aQj*nGF7aP-577jlPjiDCy2dFKDSGa9sLYo**U60vB2Q& z{{Z<=iE`xgGYw=u8G=Z3aB7$+wT4V$DQKdHDJc|7QnKaluTZoQBDThP^weHft+#&S z2rkQZLNrF(Z0EQzmP~e$aJD@m-9%kn5sbN*?g-ORySk`oO3bv$xEs#n88B9-BDa^Q zBLAuukZl9MTw80X_tboQX~ zL8V-Za9GQZGbp_ROWTj;J7UX_z8ci9agZDw7vD9~dBHR@`n zp2@fp!wyF9ML^bdtNUn<(#rGy0Eb^wd5wJ=pE8c%j(CI*y<=o+*D$|mhg>AkBPxU8 z)Y-dj23Tb=GQCH$0|PR?B8AuHSmc$uZXnw!S97pInTla%B9O6z&>-d7B6}TmoYD2U zafTJoIdE1<}{u5sDECVF8x7Ns1f(V`z!0 zj2HYrXp)O)UFF_9B{D$xg#wVxG5!5ku4`2nv<5|e_>@a0AzY_>ElrkmMW%7Ti9iCk zoXSvfH=Mck6tQaMR$FjE+Q%~YB&g!zsP4%~qnFDlxT=ZKjR7T`GkU3+;km zC29jp#HDRe1U{gSE-Pk)QLwX9JXPFS0wqks++VT@&VzARS40M8EjTzya6U{L5z8q9 zRHocZx)xQ~1mAPoX^D9Ep3?C0sDqgEjT5<#3v{C5XH2`l>^Pn@6EoNR+<_;!%+cItxvANV_S6Y-iIfV+TVML(ij^|Dw=G%sW zzr0d~!7WO24HszU2|)ZsaNRnG2C6e+;8H#oXkbAxt5N#C~R8nl!0|~ z2S403x$5FJVO;H*5C#Fmt~JG9pHYkc#7@<}{=rUw8Mw_ln6qCp+LyTpbR7Ebqqee^ zd_y5EvR#*qho5rB(mF#q$58W>&^I;X`s?%T?WHYP2^g^V=7^XlB1(;h*S~xD@db3Qr8v}T3K*Wn9*sb zEpsR?R;mk{Dqw`>(TQdRR%vDBxR?wC7U|Iz%H?$e!?{aa@g3-z0*K9k7|R$#HW(@a>=;E=P)Ck%8LrG zh`9uO&ZQ?NCAaey6x2mrHbw5ia7FRdxt8?6gk?sS{$PV;3M}R~TIrPDU%WuuG7V}_ zHGjn8i)IyhnKDdY`w;N%A*Sdz9S-l9SWi|@@BIuL4Of5lXU_&WlSL4!2=U` zTimLuc$8tG?3|IALt^4o3;CB-Wqs;Z^QgK*TkZvoQEbAvses#N*iIG`H8mYf{v%{d z{!Mo=&i<7vG1R%V zeA8t%kduj0iNX&dY){Tq0Mp#Hjy%qAja*u}WI2$+&$?p^Q-qd*^v2+=*>9Pxd=^?7 zc1wFr@e@U;yP6yMim(h#VpL-3@e8=KsO_}OwcJ2v;*flhO5C)U5&j%RU!{E=M}Jhz zaK^r6N`xFkOfN)bvI|K~D*)0rgzt6siIOKo)UZl^A_NryWtEh%izTR6V_))84wHyA zV|CQVFA?Ytdx^7H(-=~BZ{{7(DLGz#mTbx?EbFt5AH=DpF;KF#m_p<45DIfX$?hW= z%aZt;VfsK1_4g96Hfmv6$=W#l!>wzM0W}=%7{*A}D|PBpD$$By9Rp;j!9ZqZVB%!J z%+L9#Wdk%f@c~;2O(HHPOJu|%(?T_Cn%s56wphmEmlVM)6U11m%u`)J z(8km#svN?lEy1vRluF<^gMvGXz?6h-G-_XPZ#>Lda|h{aMsPG>l%jx3tPO0haka-t zUQwy#jrPtVfELEv!H-==6$FblFKM7(H7&M41^YkpY%oPtw>XqmTi=LhiDQXthb#d% z@=Gt6o*>4eP@BNiO%CPJo@W=UlqfTs%oVW$VQ0*?YMwib0>whD#CY9qq9hrvqtSta z+qQ8l@p9G+TrjLES1_X#VpWEHK|2SSU?BxlX_!(!2bgvR9M)<8+1pVSuNi}ubY3`s zNrv-ram`BfOB3(z3bS$0x8`I3W;i7r!4EQvgi2gOq=2A1bDy{7Wcn=-yg6x0hEvqq z8n}7X#Ipv64xu3}(5;N50*)37rM$dF;OCyEU{e`*mKKoo#lTEs9Kl5@>A7!lv{{9a zg&PONb#4up5Zuks*HIrR3NSR=%mYi5R=9_Wd*&9dq1m4TCz2u79%bUk5h+5*?ZFiN ztmEl_TaNyT6U0_8(543AhK3U`6C`2v?J2sBf;r3l#4H?mhp+7lwg8m0QI0;FfEmYE zf*A!pj0Rm(1hFrfcEnzMedjBmM9$?!6^ux?9^l#9K(8waqXrkp`!NQMN~A;FZ!PX* zD_P=TbV~|#=23WAeT@v^80QF6gk~B}@6)|H>N*+=QPi(hoREht-eLu}TY?H2Du|5; zE3-$5pT%khpm9*D7rTPp#X^C2hK?7BQ#7E=!n{}7RAiP_lx|qS_Y`UNh9k_nLmkzZ z<`;D2f%;UitdJv47>WuYXlu+Usjg*^tz0V?#BNm^$LyB48oJLh7S197yhSe0m=^6^WU7@;pvuV~DDlJVlyl2-EhAFQ)3?SQVVH3&AQ7Z^`OgBTe@f zR1xN0GEWhqeAWo5cW_7@a|*0npmD5`S`V0taZ;w@84NaWJV0MC5UeD47016rTaHoO ztLI>~aZ(oB$`ei-&Ss$Ld4Pfq;P`=8yk<0EIg3JQ>zI~atyLvoIuT(WwO%v zmTH0j0LY`J)??*(KN8)g<2*|hk1fL+7v>WiEEv?wKd@uvl@Ri8DQTS|Y2<|(qU0;V z5d@>$aC(Romm3dq#LFk*3LMj1a}bt*OFU1@@c5Q0v*+R}F`nh&4g^sVvKvm=cXs#3 zKX~#YEh!p>u(S!l6)a16EQGtlKwxnN1zg231D)pCfLil0vAd~JrZ`^_TSnbXD$TPQ zUoPNbc;+nMGbj0uRWU~91|loVxZ|9~rN&6DD=-f81589wM($lKYWEqO;4>BkHyWT< zn3L4ndw(JBh))L9s07Z9U+f?Q;anseh)i4$%JjFrfD zy1~n6dyEwZfU6s?AMC|NHa!*5nVsEWFa_E3kFzQasYNTcjYl)GSsQIH9v~N)>~WOm zQwlgO2D=P8Hx)T)W>qpsq{~$)VNqZJ#lYM~g1neK?r3!20#X81brE^gO@SD#?WyOt zzq~-kJG)VFx3!F#frbY(;s|q}a@B$)0v>J&l|02hjm#W3&FUbax~j}}f*vDWwOGBe z6d}(LH9vWs_<$>zR@x$8cPyhW!U}&;fH;89o?>Lzlv)=L8iGM=K%7Lub_k{I)7fKG zwltFzpzoNX-JQVAKJyO1a~e^yHWaL8nARirm(VEXsMJwVAaJ8I$hZz%F>ehJUKJka z%y=1wi>iv*W-3Q86*7yb5vEe17r2xInL{&-K)Do)X5gAb!H(LOXPAJUQISp{#s2`y zxr>};BzF>2w!Vdk?FCH5W#(x4WaI4p<(-Ju`HU!+pNT@wdbwh>rUXe;!{n8zed6M& z97gDDh^zY7nDDaPPh{-0d4kRr+uHvC*luF;biFVh>n$A{{-V6UFp4!TT|)sfZ}(9e zv978rZIh^*T`J6y&DPhKCr`{Q+W@rqP3{?R;KMhFm1Jsy-anYy-Q;#|z2;Fz1wmGA z>IHkd|{Dfl(sjW6p8JwcZfsQk)KWfU)y7 zYNLPy%(!kB#ygdxWMh@wqbHa)*)>4!cT4D_X?=tVhxp}d7Hc>g<8intGo5KpY z=a%Nr1Z>?F!Axkxtw7)LMa1KSo-Z-ZBL&P=ajvHX>%_`MT<2^}2Ly8GQRr^y%bS+& z09P6R0PJ?7a^?Gk917k8H5z7vcNwFg7ay=;n_$x4jKpd+RRC)S<7IxDZq`g4z!W70 z7SHqZ0AG7Ubum!&1rdfVqfy4*^MY7%X3Yl(Jqpl@tG-BavWg}g|a^hxZJ$?b4;Ws=2)YM1TmH6VeW3xhh#X{B%MUqlvmjIV083i;Hd}S3C1*aMY%DNsO;)9g zbe3Y^0aauD{^|@Zh-527m1?H}EMOI+00Ix6Skbn1KArS)oawQ8Aa5j4jatDy2s)qjmdoeAO)?#hX!C$aOza^ScWIbQzo~> z1@x4`*`_U{-p} z?2x`X{lV6ofA$DG7!^ileBjm4#rH zSR-ha(H*r4)Wtxqi1sF~fIeA8F=DVwKoPi13AQc0SAmsSe-oye5F5TVj9LsZNrE}(tvhm16xtg-Xi$N7r8*H zlof_B&SGbY%{5BRb0es zP>7;pp-}5r9mpwK!e0JmZKJf}T*`-{_=kX8&r6M)#dQLdZ%`>h4(n0Mu_<)u!3nj; zm?Z&=5JJqx!1L55D&FP98lW**S*$(70@{EgtTdaS#U0u zvm+Rn;gy(bR2hiFGXh>em;x~zgk}Jv%o<9ULkkunS^P^&OLqB%LSfa*ma^SuVFT`H zY-xr8RS;FG#13Ub*)(+OR#w!dq6jHf8%mZDOjMPKNG^r|g~k3N2QW$vMPOa6q7vYvio zn`b=B)kJ7YMPEWJpounkz%_0-D|s;nW`SivtQl#xv_YfhI2kvptlsJ=cmr7r#Z672 zGL+h}1G^Xr=FBZyTyr!TsnX?iOzE?LV#C5q1XZTh&|ypon&4@M?@@F+M7 zcl|QdtvOQhN3h|(rE=WHU8~yW0~J`6Wk7cbA-_}ZBh0pSv{WU)1aXsa1p@13!2PBh z>luyK2RjII+hgF~#qn7MVOsEb8haP@pcWrp~Mu;v+Fo@EUv z{w2C(h`G4d%X~@#5QE<_FVhqYXpK)d3Oq!{b2>Ve8EwFKre$6w+6XHgOAKJQH2`g6 zhXG5p=bai9|aw%(PdFEMAh7wm;gJV4*2)gA(lVXljgxYUaIF-Nl-%QRWT|HCmVjuBD+e!LW9`#4Tm`Aq2cdNfs|2Hj5fTDf#+hdF~GmqRUWbTz%kxvfA; z9mFmKzz#EW0N{f06N<7Mig+SC*SO7(OOC3=N;!)I&_s=a6v>vNw6grg05a~Qu|H8I z@G*f-W=gM^Wo~98++-h#XCWCiokS6!v+*4=mSHV}V!^$&8F!H}q`hH=MYNEGs*0S) z@Cw$gJVkY3Hf>Oj2uNH_;Rh@$Ox*xo^$!9P#CH)CIa-#B!zYcll*@Y8ve2%)v}J#Y zU=O;BXk?_-l>XUFwuTp6(rfbp#}9XF9k{$rO@4HmRlFa!a=wWF0Gh{%R}}&RQW3!t zu~k)N_*qMU1vq;k&;x>0(Nd^}NYv0+f>~~eoK04~T7ms27Oc*Ee&en{EC3Eyqbu6*}05a=$1$c= zV^LcauxTT*olFCD$%}zo7%`p7bEWN`rNO`qTr<#01<>;ssbOCeJQF-hfwdq$PrU2_ z03e`M)OEnVV?xuHH3J1Ns4BJZ7Rn_qUCU@SUwFfG-RHPj0|v1$t3!Ew!p8-|iB1w4 z${r${CzdLJ-*V`9Ato@+Wom zLYH-vWqre@Hx5A#syfVW%U1IhbbOY}dkMG-ux;L23->CNDiK{)BaNSJ!Szz*pujvT z`o{RZVzQzN5{+fM@$6N=q1x?kQdHU`F$mqqP$Wpfjbc|bH}tqdDa$S}%49bfK-_3* zH0jsgauJsn_{18KV(q2D z>#3!tp~+HmV*}=Js-m}sdW}O36xJiK;rv7vRk)N4Ke%`g?q5h?L{(f8)0vaka=XTN zFws>DBdMQwm#P_9_Z;*@4DK>rrg0qQrztSek<<#{Z&;at>vt~D-O_a}gBkA9HNQrG(nh3`MYS1a4ukFrRFNs#)bilp9I!!iJZ*tW%sD4wQYz1Qu6>6 zWOsr9ps7+P5lp;6a~hOgsGR1(WpEs^ZwMNs>~_!kp`Zi;rCihP3@`+#jj?zlS!-7s za}J_Ybq5f%4%vA?m;w8!p~w^hEh%qM{{XONDP3e;XZ_T?np#@ruG+86Yz~*Wpbs4V z%~Y`5vN3)&D6r<&zr1fVzPXpLdovcwiPUIuD79MS#HpH`iXF=vCz(ONF+f{8iKiK% zC4ow#RPh6qn8e&)v_9?tBg_d%8;QkgT-dkNt`&&O6|SRiH7cS4x`Ykl3YnC`wG^g~ zD&5AkXoWVXzj2njS(RNv+kRjGL`u3mLtWbVg|%m#&7N4;#G;I1A&OQiTEQ1EQvxov zEN$i>wNkBF@e5K0`L8nR=3%2KiM5t_g;#RL=H@~o@0iEz|AHt0;iP zO;fKBnG0{96Cku)M#9L}UFeGn?{x^%CINdzM~6{-L-7#M+lqo@r@X|A^{Ci4hY^L= zI*hrXR<&7KV5^GdgwNhlcM0ji`+-OlR)8q|N(JO~{Kfmh(Q9*wY5Yu;OmPqZtUOLU z+(&%DWaY%QMUD@eiYrboF&pkNb6UHK(Kv{-o6JW_gi@EL=ii};8epmSAqo%n%0+Zz z9%YG+o+82WU;uI%x!Aep4XFieI$>;NmtQB$qWCOV%%JA4b;}M#D=WmuR|`-+@N--C z%#F0xBJ6$Q90ld-V1+9;3aCB6QO~(dLrB#{D@$EUrV531fC|JH_AuTU)|;#1a^5D4 z#8FcVT+5jtUmV%z5CB|+S9Z8R67?MkaW8n8f3h!4%nkT$kIW=E2viS@lIwEi1!!93 ztr7i+kg;33?h0l#)?9_^j`p&kfl{*2AQ!*9w|~$rVGeLrd0@Cu0Xcw0Ql$hPrpPx0 zlnlW%+Dja(#SjY^XPDM#G)&-un5@X@M*cg8EmTz)rmyBUA}sQJ{6{jW*gn$#04paM zRyS?U#G6uLZdZK~+n%DN>BU7?n~AIE_Y0RT_CpJA%zT1wxPld1>SG3oF4cTWEWD)^ z5VqG1#xgaC?RCBR+zz%y zz9F~aHJ`M2wp$P?Y>m|!%n6&DTw94^u4S~ki>L)-dXFi@TsG*$Q&z>D;wJ_(#CKJb z++wv6EyMzrh^p##>49!>Fe~qH08PgY8uJoSG5VR=Cg8yuIcCIiz0^*SCMv|3AB1l1 z<%0!!i7tir73WVdAflg{Yg(tNbRT&|s?O%JT?xQbikNUUxmm11r#OMGbBHZ1x!k*JnWwzOS?Xl_Z2QcJ z!M763T$L2E>2Ik(S&G~_3*@C&;7ZY~aPC@_?mS1N1HwIlcHQ6m%vz!axGgz(mJ*DV zm2llkOdN9>jXfgtFYhTzbK-8zXRSfgnD^M+p;%Sj#RnGgEEz|;fXZEJB2w+kh+Dp} z1icpLrUw@dORZdUP|)!eY_xL>4c9k0XP8mOFA!xbeMX}+yddWD%op_JBkSwI(GCKAy$SU9*bmu# z6>PSi&dLu5>Z5LLERhizozC?(%^~9M{avsiXrFASo`qtTc5`x>M71uO7ah^7sGxh` z`m|&ENz+nA7*d0EJ4;ZBlb#?Y$@-q838Xvi4s4;tzreTy&Y{JQn*ylYEUKyq7A6oA zO?z(104Jm}kWm~uMKmyqE&V&OUTjZ0+WL*EO-Qfg?9{W0E_$+xas@No@jiAX@RzJY zEwUo3A{FlX5h`Guq96AwUO8In@lYvFn>(($^mNR zKzSjOsH;p3Pv6Aof*H} zx#CMxxTX}FMnkn(>xR;`RYJCFy+~y3$tsw|8Rn(}Ca-S!#C*kka5* zzQWkG%UEx}bVa^@Wm#Me=}>F&rvRH)C4{a{1e}t>PC@*Opvwv))Ps%Wb0hj9Y&+tU zwY#=LMt2hvp^OX=3iVccg)0t)06!6Ae;9~Buph#^yU56nDnFb&F8RezbQwrpsxnV@HG*d=CKY z%e!R*eGfw3XJZTEIi1(Wg_>yS6c?ZmkG1u`eykT$!VL46iqE(9rjbTw(DpVZ5KA<* z%xDiL;ImNHE>LI0i#8QK}RNgVCf}h66>Q`|`=tXrUfIbU~vn9ykA|s0(`iRv@ z&@*y8y9-+Rks`hvlVs*V8dVZb)-*ax&<(_IaJ%_SJ3Ns*H2F%1egs*VJ3+G}>ga?O z(%haO1E9xY69vP=Q$rqC9JLJHcjEgmY-b6hMTNI-)JBfItg1h$eSZ$e`(}f*c-Bn$ z@aK}JN$=$fv>=D{b`6?@TG<@g0x_21R2BU+n7tb%{L>EJOvVekD)@1pU8e6IA6}a( zI0{e)iRM+3&Ks7Bg9M=Ej~a$h|B}sg4>(9$XxSESthCN)4m|N;vMxHCO@O*!guq(E z?~Ht-98)xJe1KAN6A*@*XuqW>A|DwT&nfbL!!vIIbl_&J>8K_n5!J>(ng0L;4R&lY z!Zk`4`#s4-+(!xH1*-Ir>|zFo3Y9=7|7He%+!FJ$mOZ2|VCX@2yxex`JEY;9Rya^( z6C||On|6oI5k%aOJUTl4o^Xff*NE{SC6C2)y0hI7U7g}1>;`*ko1Jg3PQp=yJhCdE zurG@vp?Ga-npYH=+5eW5ugFV-dw2+={r2SU#i<&l;hsIQV55+T&(7j`jB-kKUPuPjO<_Z6!nANLoHi@K~*m;gUNVE>&?=`=K22 z9fNCD-9Xjrqy5XKz(|&k09_c^r6<$&8SE=rw+cERA zy!QXcLP8=@KCS=?J`Nm4X$rJ3J3l*@@L zbk|m{hIFkNFNOV&6W9^Iz%{Z`2<3h3n2jly`XgzZVn<*Mts z;{nUR3f|F80tHikkHt;$=N}1s=37L@K1#i#o!j10*yHQ9$6r`@Ocm6ksg&*Rv-vGq zQHhh(71A%`C6OH1aL9q++hc^C8=V?!7C#YyT_e8x#I+2AI7H8(nl;0?+eJs`yRCi* z{|CrxW{Ojr95p%4HcP73zI!jHm*OVhuWa-1g}frvdfU}((8twvf^Ik)(~YP^DQBe^ zr&;tQGWT@9XHdhn$O7>R@Wn_njnbaiCL&0*wN5b8!NHu9`uMC6^>T;(A30@p9*oKK z9oq1I=yL!$v@Cv*OJ-aM#JYgC8^7cyyGa?RbswrxRrJq!Cc543Z%2ig|6lQN+8M)^PH}U&^sOr;=m4fsD zQ^Y(kr9^gx`hFInc99f+R&tQK+?cuwyX_yVGU@dY#`>t|#MhYj{}Q1e510c=G8`tc zF3KH1{Q%W|+Ce_~1Fkk~6;^3P!GU^TGkk(>-GHR@r;r-vI!9#y^Sup91mDKCnk^(y ze{JM&tP3SHu%@1oXgQ-Y?rH`SnI;9ssmIs9`+oQ=OU@hLw}MEqk#)A0Y~o^ec&wf2_PjvmfEl3*w2FTlLtAV8@(P z(rA8&bvMN92DTO-EGOQgM3Xltx&Y8U8>-4u2$st_DYoWd_tgd^sG3jp$3s7(p;6Hf zG5HFyNBj@sx(NWQC<@O5TR|UJoBsfPmfgB(CU%+wSgDvPFQPM3^%;)4YJ*d@lZWp} zss4b;eqH96q*LzDTi9YA2~qwVjMk?hz{Fa|&;v1Gi1WtXm-$2XZ*Z0xoR;iFm8tce z_?zZ--d}LA6QqQnT|`SLXI$_aEKgwbSkPSZq_hYUP&c5qko+|T-m}crN!SgONP`Y@ zZ5=B-zIqxAaSp`YT}V7AX4TWc6S@1PB(Mew%4I3b}*P8R)5BWWNr#-|(IcZ@Ox`;h-h9VBH zEhi*&qD=P|G8tqS^Ex)Sjg6~3tfAgWfrX`kpXP=GBe-i#zF#Qg(SfGCYat8k$F0m# z8U|bH#i_i*v1;n%A$39n_-_~_viT~%mEZKSKSFlp#tL_W=+k{`m(oEy7PBUMt`@BI zIQ-m*Sz*@t7VE+!d|(W)FOia(^iCU2r>bJ`i<)oQF@A%SS8~axe5S{IGleNcDwe*~ z2w3X?C=-2x+{wG#tS_9e#{h<#$MRMG74mSjJf2`gRAdRP($~E)$I=RThsJXR(L839 zd3tD2d<^VgqOv-qqrc~&@=KA|ST&+TLCF!NJV`%jS+tWe)r5BWO6Coo2PqA@@S%$v zTi8q!>S~;ig{#j8M@k3GFLI$LvF=;VdKhvzZQt z*SPle6Pg)(nG(d#n9aVr^GE@?D4i&v0osTL=MoJxJ5zjkzdhHQtUQo)Q8aEnB@Ssn zJK*YCXx4u6&NeWI!fds|Luz!lOT(E6(18A6W7efi&2Wkx(l?iv$+^n662i}d$%lEg3hH8mw;X>USf zo^{oa;>=Jh5DMGHLJzfhQ2m7K>zk>Us{EXV1tjH3+vZCIz`YLG~f1r zV^G+k+HP4vpk88fE?&|l`W3fl&-{J&y9KqFY8l|_Ss~xSg<;_9X8FKqE@;3XxOjQ# zQ^A0f9BlsZTy4^Qy$tBkn!4OLr|?L7enZ0nK#OVe@_^}%YnUqwSkW<6MT7*QV#g-( zW*JdcTuiubN02qiHlB`(ZeEeG$?K9|{@nk<05XZGXEI)im6TRZ7+04aP9|J@`jWhl zUuykzOS1Lyy~k}uFs3a3cbsY%5K$Os1j9v>^^?tB64FMfqRw*aQUeNwdM6Hv_4E;H zypHN26p5f5iI6}jk7LN<_ctUf?NqaObz0Xz1LBCI?^FRLP_UVgahmqkbTm^W^dD|V z#_x6*PwO@1~n3Er0LHqF_$mw(re`)Ccn4? z0;zv0D0?W&7qI)IPy`hn?;j_6p!R4+NG|67W>RbIXq@p_k$q7(#{9l#qj$d5E)m+ttYj)StP8dB9Ie6*9bYs+V+5+QBBz?E6}C&KffgP0dR5KIV-onex|`jVSF2%g(#{JiN+ZC1&3$ zSBOIMQvw7zr-Ln?l^hEFLFw{$y3d|Zy5PLSIB@g^4M%e`WY~9c2;M>`hOWRc ztb=kscT)@nX)EazqPPlS$UZoA;cJtUIE3c2BQ@sdee>du(FBQMb=*VD&nHU>abT3P z9AN<%g2}Z3bQcOK-^Q|HLibrTp{yl!Yg#S~(NrBjgbHsA+Z25gDuP67@@Ai+4NK(t zg;5vchq?~$_&=Sdn{eXSxT9I}Y?M^jB+_h&5l;|ql_ep}_ruAbv$)w06)kRke11b0 z>5eRWT2K8&=)Q33N4PQN&mrCR*^GsL-J}>NFHEmC85NV6KCMD#6m9&R*D0!ePFm!s z!{1=Z-4*oAf)Emo7;a#9e}vhfqYtP%!sx(0kGGX-A8g3cxWQ1b>kgn_Qp-d{EP)Q9 z6ghCM3DH(oBJ|ZEJ7GZO6>;fKvmVCoy-9Rp+EudDosc89O{u$!6pKD3 z!-Dn@sm3uyf1*9;=FX!+<)*gFv#Gix*q3WJ;w;_X+R2THbM38o@VWT1z(t0y;6KZ* zKl31$#h05OBXavXtM5f3w4sBFFT(<-)HyMd9mUXx%)XO7cHI*6(UH zp#<+UBi@TL{S|TRlQkk%B;Ynbsmk}IG)u7xL|=G_tNGRp61*k}ud@KJ=CkmI=Uaiw z3AKGnmRI?9&Ix{BZgK5hfr#u0=SxYanm~$oy{KZPHXEH}g;U%SAI;NuN%U3~jpCSU zw^>)6I1{>t(;Q~y_YV+zE*_{f=Yqjde1)J{rCnx{xEi7?D$=rP&!;Z^@#IHUxZ!6_ z;@Al!FIiszwD{1Y%0q9g>~ktD;kwmK_OO$JyWheLbX&;n&aW67N7=;?( zX)0KQ+QUa^BYUsunAA@7d7-cUTgof1{5p8UPqeAZAGD9co*-A9&T`D3pCklEkRkzF zwPAzv3}G6>!@rIE11hch4i)6%42{20ZdMeiuPv`rmA;y-O6UWVBqHYH(mYgy4!N4? z@J3Z}*Ek!3mVJCx!cXdAJS8^g1XX6qo>`0LK!f>r%3Sd-%9q9O9B`__Pr zXN?rfVFE=4_FWgP@#H(;cS5RLfcPOUb8LD$@<{&);^{-Ow|4l<6II?$eKeD2JkE~E z&Pa&=md_(i*9ckH+cDZ8r|d20`^qaAxkK=duQ7?bgXg_zq-ZRzV2y+~>LSd$=@$Um zara>KE#1-6Wg@%GNRN&YD1}h?iUf^8C>;=^b8#l6qLy4w`@k!c7|)WzGQQISHYdkL z#YeS{`zt_BqTO5BWk9{B8hCiRP37K;u?K;8C)f8Z{7!4FG$I|!bsM>AS!rVmLn7b@ zz4iE)^i~tKiaSJ(zxv5<7Y<_5(UsHG=uc5B_^yt%&O5e!d$hwJ&AXv&-t%XEF3vLh&g+wyn_1u}j-eSMzDs=0+VJfcor5S} zr%l2_$77TI8Xyq(1X+d1q_G+=8$M(XwtIrGe-8$)Xad_+^EwXHM!amLx%DudLb1g$ zM6Oo)Lq+?P9!?9265pu&4_^}W)WqSkHb8mzZ^WxH%BXVSoonZ=^V|Ff!-hbRZ%0Sbnxk^mXjaMJi5(twBM2duLttLrp?4=w4&Visn5`^Ah|_HvgcV?Z#DjjKElPD1iY&Jab;B*)gsa-(}@LNT>QUCP>N1i%!NC?Z4ZT zqMz4#aWykZd#XoL4|Dy2r+;96%fn`-?J}O@k7X2)>R5E^ayXgFOq8>#<;j!ZKsVc$ zQq|8G(7bmaEf7D4HhE&o9+zOe3lWaU{JWF*neuO`yqWQwR;Sz27NM=DMIzD>g2`_u zs;;r{1G#=ZGlDzDKM|+NGBl`MI6YAGnF?X@u9{?x*|nMNNWpYXzYj?4br@j^2!VQf zbuVquR-D8ZRlVUl@x9rTgtPI{M+nmIb+I<)39#AAYQw0a)Z_+iOU;^>mZIYG9Pl)^FYg|H*xL8*ciMMWeA@1zLY6Yd;az&OX+4p4h>z(t?ZJ6c~|gGl9()EDRq8 zLasK9WGxLHHogyAN357L3w{ZP*m-fUNV{7UdioVo2ge~$^?~wc(xW=AKYX+S-)j-8 zp?SJ=Iu;N^ZzemUNz};CXt4ra^|lL}s-JUYYRjkUzUh|`DzArUPo?W0Zd@bNB?cD! zxCr~wKYou~ROZ7QU~(_ZNMYF48;o=nk7A7qH89tVd2$HeBoWj#$XD)_IHH2U3^rF| zSG=)SWGDO^57p;M-WOjgp+9?cNlJln9Xww~Mub4^YcR#uDD|@>ar(oEu;)dw?WSy z*n1>taP}HgtuiZ^Y1+&)u!q(EFQv=q@xn>M=UNJfenpTrSy~$PH{GF4&E zSJB0lpFfIJ!tTpk@*N2YAHOgZ?zjMly*~!<6wK2WrCam4ouK{uIK-%QB|?OfE-Xph z*NR`*57^)@lP|}wi}?z z&VR)MPY|;9_em3&)=AAvDK#y^n>i)J!S}e}3RgJw_UONY%+zU5j%L-;(YvhKV}pjZ zyIu|1KB9pKw4ehFb~*o%sOjv&CseP^>MM{9_P*Pf0`UP=DzjXuOC&ZO-S~M({Kq=E z!d>m%_i?AsGbfB`txz7iFn$%vQgU$xx7mLH@2RgJRP74e=$=Ipz(y!BP^e7qha>k^PkwXU?HJfh_VPMFmheI zsm}#Kry^DtphKK(7M>BQ$Li~@ZPL?NKemKjlyRN1z4L75KcsmYgLZQ}$Xsi$E?vlb zUH|!YZ;(ynI65(42I3@tAZ+WdhovhD#MVuaMRLPn<~J>^1ITmm)}%=e*e?VMr7p!8 z+X}ZxOJ}?KpEeCOIXQlx9}PY?Ol6bu`c4}W98~$FE&OZJ!i4cs1U!Dpe^hPGf4{c3 z(WB2;_RA+Mjeqi7wd4d&id!dBlr_gATG=fecZmr3tpDT9ngc&D5A$^gjwRalZe68< zwfbH522N#}<+p}IoYpi+SZ?;l=pDq5j@FU-jA~JcI*oL6x)2>cMOq150L)W1hj8EXxf0 zW57Pk$8)mK^SF4Bkt4XbC+PI0OFfves@z3GlwM8EqY!uL3z>l{+%-IDcJHLtBF^E1jhGzQ{ znN~uvjYzkpW?QYWIY)?G(wTR-R;WKGm9)~ky|qPh&?@zbRr#e>_5fUY#P}lTK5}%p zQwvd7`P`I(SR^#m#V8^7`Z5zs$7mZh6wLN$HNbVvC=0G}nXrM0AYh!*M9d429d z>Fs@xvBHXvQcskC7V{>V$FY6pVn~#^SiIqt)`%>dB!C@FBRUc4NtSh-GSxi8CwU{O z_w2u7Bps%bToy!7RNeOPqw?)zuR3z@Be7>vOurVjR#q820V+5%;4jNALItK>u^aNv zQ$dw)>7F{ENK7v=e^Xh9x^hyD^_HgtFK2VK*|&MH^8Ab2WFE<)d~yY6_O&(2(zS?7 zh>_pa@LWyg)y;%-C0*y$zgf|lp)>*sQ4GD@I20RRL~95lQ-O5{LaXU(wTrroOLf77 z9HzjS(l{}3mIYr`o~oV4lg83M)A0*(dEYnCi<2nmdhpBJoP~rGz!x$%9lw~|efanv zjnM_KZhIHB+dDq}%*9H&*mzrIa!}bZl~t4IC4AT_vx$(Dy$E4?$03ORc#4p7PT(bm zJO7#?T627UJCux^>%hEs=O@|!@2NtyEJ6Lz#mQxrY&PAv!SFJ~(AqSP*rWFJiz@XM z(LsMpnsxU1(~hm$#J+AHcZzdyiIp+q&EZdX-5L=Q!DnJAJ8HsPb2yrlLf+uK}I ze=bZ-5M9JuBLtq-eIwpNNRe7oD@k6%N{%?>=x8lIz{%Gz9-+6n3wZfZ4{fHD>ThrQ zn(AT<*1I2rE@%bsZQbW%1L$)rQkgCFQao^EPkn|w!>mlzFkky z?EvkflOwZL;>s8S!Bc+m2S8o8zJT39UqJkE3 zQYfxuGaltmaJTc-ZkGMQ%c80ZvrLpvevpHy&W-oBWK<4S^+C*b9WpcZx=r6~t$HP# z@BKA1aN2WPWnST3sH!DzrwzW2?8@UpY^}dyv|wUDI=A-TsmgmY!51m*L*PeMD* zs{MZeRfR-z-i$KiE^Gs#D@f!MghPHY&{pP1;BWAOO5)%AyuvGXMNuIFOY);F74~#T zbV0)ktb?wh0d_FGg2b|rSfX`WkE0Rx?X^7RV2=43c^}rq?^mP&)A#U&i9+bz^=P2Y z`>f$qg&Fl99)u{0o{rRq+a!XEn#8XCImZHt>eh>5{8o=_E>~gu0ZCW$aFr-lY{20=~CDAo|=w5S(Mprftcb_8lY;5ySDET_ekFc1^ zW%}@u0GFw?HcxLbzd37&n$Ddj3mJLqF4jOaeWvh|F|Qy+yesnX#n5p9!YOWebT~Y= zL@_RIP=n`Nev#*)oRx#OFfF`ZF!LEqfKLo=_YUSIIyka(Z&-)MJ0ozVhUjrba7~21cfB z5B61U7ZB|z0W`xGTkCvfTEhWx#6)Iq4IwcfvpKEDYkd?*pbS(*gIc~Npw z`C-QE)lRw84M^A=&bN!}OjY@Y+UE_ZtnDVmGcayG_9QcjmSJY+VOD9QoK-;S(|HlQ zAdA5(X^^~6D?fKI?WV|SH27? zh_R{|uhcMKrmlFZT;;6(5=rF{iJ~%5$mFe%7>QLx*OQDG|9wKinqTdcZH*$Lb|sCh z1XCgc-Vo^nafUT)O@OC?ha!h~6GstqvrkGc^?jV%b;lyx^E%AZBW&mQFW)2Km}>$l zt!~FmU`PLBxe30Lw3Q?MDwlk(>W{$*(|`(5*!$@+yUyyk{{YJ=b?Ns(KcNh|gdxMd zONsff+`1AUky#KW6w%H;&h*(}K!9nte8UA%$~nl6sQTy|k|t>`0}oq&6UOJx|LWQw zJyw)^{FzW?Ou%#ntYFl#eRG3fwxiokrcwJnfQnA2XH7}`-ZhS~T#T1v)w(Km?PIh| z!E;@F4I(fPe}P@z*1_}bl?qw zL;|I<;aVU68!Se?pUtx(d`?-hl5!nTD7y#PamTV`Dbv&FYuga2^yaCOSw7aAU=ooB zT;#OeAeagc+_1x|K&!5%-d1bAQ4J&aOU@PdcCV;CcM{tKmPDXgogp@)15tB!T*}Pu z_AdT236?NJdj0NOeVRrrizt<`;yd9sqMW!>v2GeTRz2nfJ&o4+do!OJBiO&Dr0@gIY-jWv7Z9icwrk}FsPrsG7H?V%fb$=%H7FOB6q(hAlpuZA%MhL^)Y>X!ICz#qw5jzFI z&)JHA(P%PtVOl5I*?RmT0a4fGYN|R(td(Z)_7qeuwGFAQ|06_J&-@o+v+3haU$dtrbvx7T$p+qzOlV;m`X~}pRo-Sk_d_{ zv$|s~+|V(7EKucoiZ<$T*0M5-+2c&zu)gJy{~Wl>QwSfiDKb*Ky!>sSr0urUUHIee zyJ4PYpZ#vijG~UAl({uuIF8d4^Ma%hh^h^@h*R z)`0cZ?TcjNH||$Neq?P@LC3FbjE*9PT|yzsTuOW0cLnQp4&A(o@YlHZ}E+t!yms#?9fx%HOGUCxj4J zTnmntD#{rvY<*~L3I5oNc3EmJZ12p8gA}ZU*bKAdjw{bdvR!qA)iB!!0p4YAL`;pG zv=zIST`>{SGo)Rt=U`>7%&^%=>1qgx{iG<)D;}Ga4=d29M?MV%#5Gs?xPwMi&e*I7 zd(vgD(j_YY5L_u<&iS5d2#tzqUNV5{&)`SkGL$9f!qDllo%8T9Ph>@_J4N5o`vbcC zj*Y40%v)~G_oAw+vci8L&YRxSR4!}n_ogYb@{N~LW!r+>j~UbYPasi9O%wh#X+l#U@v z=PkWvEr{wGzmR(EVFUHM%828mMEALVj;}~Ko+ju>l0C{*nA|p3Up7avNU42WY|qc# z_*3ZIne95sm}OA4^}R5p#SO8+^4qZPl}fhZAo!kM!5@ed_|c@6a^q*q-*ZNtjvpI* z)kp#wB9m15fQup4B@j(U`9{?+*;DJ7?N`YW4bIYz^q_Gqz-x8mNLJZg3P^lE>6oe{ z=Rhm`x+Z?!XVkdh?{7mAO|@}T+kXJbve}NmI0>wsUaE@nXY!52LEXad#$@_4O*GQ^ zi6nGAM&>O{Q*Ms*i7JY3jeJD&AHY+&=#m7NH8}N=?Ap8T6%7iJ0zTL$QXB6mPP6p7 zoh7Vno}CW`EboCLLjwI*>7=c*bBSKO&P^_FC~_iH-9DOrw|<*d2gtKC@nlEvXli^$ z#h%^9#Z9Xf#Z4%+3>x$FX@)uyvPE(XHVy%eBG>Sovn}&gbdg?}NF)2vwrl9dpbi+b zSd;x)efnc!Snw?gD{gbH(Z05RvV~H*LKe~cOUoUfptO&2B!0V^`<%O&mFIY18Dv_X z9p#yN4cEZG41mMh_B8WO^Ie@zQZ?iepq@R3C`GO-FO7%Ghdp?0e>J;8nhVV{EU>*_ zQr4m93JVJIXfTzTwg%fj%=w>~MEM*Cz<=0Xt)SBuRy(-(){-X!Zsb247`d-jt#oc& zmFpX(SQ@_m+t{p0_-e;)(Kp_ElkC{UYVk3X@Rx?dR6Np~uQEF5xYwc|lWDg1Acr2D)J4|^}?re-Rq)2x@ro$JO$K!s3Kr|6N zH-bT;K-XFrvmgfW{#t{(RN=t;e{QcLzYc1`~CyJqUR_@ zzzzMdfsJ(-4>S2B+Zq0YBUQ=O^^k*uzC{_5fx57eTs+hU+Pg7U$U2c^y_xa`IH{uC zZXpRY1P9AL7y94Mjf=O$-IybZ;S5g@LF{;GX5Otg5rv=1t%J%wMKFZfq?9rDmA$5J zB=-D%6i!@n$y6}!Nfz+w##tDI2tf}s(w#Cu&wxFIY&+He04)-&>DrDx=g-77>?zl$ z1rftX@dR>}%ldYWg1n@H(E|U*5l7PKme&PZ`PYW3hRb&9T}Os6Kk$tf>jfpoe%J+P zittAT;ab1BwmrCNwp}3JEzClK?(HN)M(__stFptzE%i`Mlu1JM0Ea4)1{nnvF{x-5 z%$G~OKjrkVL=ar{Qs8`~1f&~C_W507lRgry~ zY&5Re{M2-VnPI-=l8fADK0)0w&e4%$8(_1+=`8Y7g{AISwl+O6NQA9SR%nmHCTQ3j zNNTk;q1y}2NSm&p%b*C@=7byzAUluOgzwpudsL>AwFJ}ym7b9pU3w@^&^zEcnl2Nbc(KNrPSzoHSe8G}BvCte0gVF#b=L?}@z0dS&ytd%%kd_AjDEY<;LgHbKB0;n~f=kk;jKBWz*j@0G ztzy|dZ4g8OCg<$xF!YK7n57OzgQ|Sm`FEY{`$+2{x-C25tuAjkR@-nEbl;LJ zSk=;x8R&Pl6yp%o5z0twiNwM1$p;J!#?UPGYmuYMxjlvAR4jMic@H`l_E+H@(Ze)0j3VaM?i`Kz?V!dK>aE5p) zXO)il?u6hc^hx5p@3yRYOl}-dA5~w8G&yUncCh)Nny>|+Tf3RFxNyNcsA5`?Ht(}> zMWdf6o-Oa*4GzEh{01Lyf!>sQ>05*G9MuJTI*htb&UD}6QPXuQB}wao5Cj!m%(Knr zT-q>VwB_!IG);Z1egEyxRPy?Or_FAm*C?1+h7N_I$jKxzS)!|2cm~>iajx z>p<$c-c>cZz|8**%LY?uUC>XTGZh!mYCbLx*8YKCF>%01Rmna=n=;2-mPsWaC^b_Q zvb>;0o?mF(eEo!KaXv}AB6RejL{+5rE7=QQOY=R1|eX0f6 z&k_w1a+e?E_4Kn?yz6R7pPocrc<_pIwwNhFqe-~9#XV1xy757m+OXLw0vh=<#dZ%X z(GBmfQsVGp6^jRj2_&{oJYIHj$=VO^r8~t~ua&1z&$6qIPO{qfjm6!P;yZ1ylm#~R zCYHaC%d6%q9)a4@VQV*!u)5TJV^g_e+g^n)8meG|%K(~=SYo8B#cF(Q2lb0}N^g4s z%KocIjuKvU*>RWLb4yZ>nxPX&==X_nLxP1>ROxb)+d-0)O-FSnJq#i-rCc)Yi=3bj zfZ5=)RXw;q6X84@b?L!l{MoI^2^oxL?t#9$_Vb=)UGF%lE%0w*+sh|5sg0fq?|g6M z@k^{S1>W0Et33vZZ850B$3XKMGFEF%GIlpKlaF-rnZ?ZiydDZz87FuFAPlu#bd%{~ zFU+H3^HIOe1jbg&j#PMHBo z`8GZ00DS{SER~Iuoe`jv1Q&a^`&U$L-DH?zO91uPs^_c^yB#wXda~rdY5WK1Q1MLH zQ3nVwtyd^mu5;*ZhP=Xx$vrGykBdz-dAPaOV)dxd26!manCmCoE2hjN=rjPa&y+_B zK!b%e<3_zY@kEw>a}*+1riIGfbkIyN`_KL_dc>C=5i@4kd|B0~q5gVx$aH0>!3X~C zswmlPgDRAE_yj>rzLy{nj0>J5YBEO?japp(1CUvU*#WnF9CM(11aVp>cmDf(Viubj zU6!wR9j!|dk{n@T$N_~|PNYl7;`STA1H0`sdUy7fn@l1h>Mk7RxBh$?OueXxR&n>h zNww=yeQYFe8CxMcy3Qr@Q#=f$u7NhFm*NLT$jKo#3tdjwH2=l701D(PmVt3Qd*Ey)M>tfE?%!=mqxQKJZXdi z<6E`9Gg>-KZB5j%kbRG=UGPK{j=D#$(~po&kC8( zC5X9>3a75!J)2BMlrbAIS5RjnpS+l?_tKB0}oM`2vAgDK^Z%uH8P_@PFFaE z*E|oFVu`V004+{-)3Xg^?{z(Xi}M z1J_aJ(8KNr2mNjpozMSD&;q^{2!7n38Xh<5FHf3yL;*CFh*7{dA0_prK`Zoxb+K%s zC_2H%o8~@_4+G?bCP*$)$kU;7yB;Dw!^8OpX^=LKIO$v%oMy|<`!`j(ZgL+A@?|D$ z6&20STiDQPe;|a0aDaZtYs)KOXG=DJxpTNaTbADsA52arD9{8hR=K%C0-gAOjtEDG z^x*1Pd$RJ~o_w5@&F(rW`q_1c^$)!@`_w-3!q884`t3cEm%2goV#HWwMbUZX%v8j# z?H$_>>OwU}n8Yye`EPu>G@u}EqCAWKye4cs$O{exC3sHSn}%5wx7G_4E8Le5TIz8V ze{b}SETa8t&Ft?F)po7eQv7_y?Bx+v@^-#G_F(9Ct!;_}V{liDPO8UtjkSr1S4ocl z+i)}X);)kzS$zQ9C_D_3>Y<{BKkW=CG4pm!2ZQ6T;lG7H>MrGcvUR<4`V_rtsHM|w zl>DV&^I;N@p4<3>l=&Y({P3FUH>xc{1w*C0uqWBG%m-%L7XTvHho|`m?=es8qbC$1 z!JWHrx&xXCrC0$CX$d}dP(|a!*Q+TlKlqr1>-p`Nz-ccJ@V=sf-=WQBDgi*JFUfES z0~zoOWtElT(Dcprbd_<&)y&RFrg}cF(*(7xOh>J6<;|qFECnZwqE;)u(-An%LyWNM z;+w-?+3;#OVvEg)c9U&(r&$vY62w-7LTv5(cvZ{izqkQhHCcZOl^pn;=XZ>!syv?+Sd2oO6{&dCRXR$-1voG6STs8i8HA zW`I<*^8{P^Qosk5H zvvBq8Wwqpyvvx+|?t24*=`?PyjT3?ycRo-y`OCAGd;p~ipcLtQj>_jz03OvIukz%_ zhCud&v_G}RKGPo8kD-+V?On`nOVmr5hF%tQj6D8}Z?K9=l?0lE8g#eFTAfnm4rl-1 z=$LHs^L}(iE;h63HhN|06495NqRDSmY&L$t6H?&8cNixxVa531P%iSduK36Z^|&L-Muv& zHHTa$8O_TtE0i{RF^PkdSJx&fR$@}ZogEpTW}fN|C=xZ4OmRnht=mU_eda&@;4AC})i?F&DU)Y#~@q(CLX79Tk4 z9r~q5-<=37IcFsjmBU$<&PNQ+Ku0v?TLO1#yh3cFR1o^6G7R_6NbeF1T8Cwsk7eii zN_{FLKMY~#fy3fjj(lO$A^{3YQKU9Iv*`^eEzs?g8Wvw!s2akeak8iG@#vmnOg6)w zDQviqBH!I%@L4M zoUStoFa2mLjGz3JKO$s7hw>}xw5pXNXlKiuc6dKNW1 zk2t9Fve}IZg8-uMN8rIJi%5GB*uw&ekb~ScAtn1GVXeU0IC7b=h$aoqGZu>$n8=`u zVbCGeIw-(ZLy>?Edwtg=m~6j}h2I9XN1~t#s<9H8p3i@hLYGCfy;fz%3gA{hp`%e0 zo9>>vxGA=Ci#L2R;zJ!mo`H#7w`8OtHzQ>Ee!d+H3MdkoQIt>2QVjvbPOWL>i}JbO zFMybayK7C-0{eVXoQOrnn#2?e;1OCPF-ptqgl6Qi1b$c%GEQ9; zrC~v}-K{OC6zYx|6mZG+x1tHUSE9?=I(|$1(N;sqfOSwq!JUhWv}ffmo*t=m1)q7l zU5YwpOKOOdZF`mM$%G=i@$g0J`AnoLs{>n|dw_jhYyNvBqr`@YAZCvadl?Oloh0fB z$p}tZ;33P4n7&ErVo^)s*D;0v(<=nNJLaBYUA=-3<0fv7eR=`GfTH~~3#0z#2<%bi zs>)UE?8{<)!Hw8NAul|kc8vA`%t*_p^~VBWm)A8_RpZT=(mgrNwc(90zHONfn{q%` zj5+>mT!(>}y2{HcriUU66js@pI_abr4c%nhD43_={#FpUkcX#Ux&+57Z!dKD8p*j& zeQw0zXGh(X{V+eNgbYY3H&7Us{~upW2%l7&)nt9rOUB{Rxj)H%=R_Fw2 zmn!kuZZZ0YDP zCLxz8mBHC{BFH70S+9P=M54E~Lkt?|iKZSTTI)VC0%lY_{tW48V0~_~7{cuORWIL! z5B@z%^|_qfq{q(!ba}0vX{B3*2xeDy3FLfav;LZ-E!hm5+2cqy5E8m^Jx&U9|i z7M72_<*}M~IXkcY6>&rRFr&o@Qq7~A|9YmU8=Tz&m38SC{|n;qUl^@udJ{e$JkSS& zvW)Smy&#KNi>xEAgS6?b#|29xl9k2H&;@U>X){?Cbo4KqHi)Lp7{#jN+M%-gGdW0smx0BQj*inTgqG)PZCr85`GGRY zC<=VlgvkOp;3fl`jg109GE!HfulDwsg@qi{Kg`cn7!FaJQ6=}mtlcCGx z7!%Kkuz+5S2M0gCpdlwh#d++i3#n2VU!rp{%9R>64LhBddCBwgnn*7;hK9*^gYHKZtl>VY;vGX1L}B zFUgOp@K&wUj?gB%ggTRYntS+bt}P!YB-oc05RUCZHf8!dN3sc1I&S6d%qId4C1zd| zSKXTd*6@B1aw8#}G>`>!^-?jD_~pTOQ*sWygO=lVNsNiTtOScfkreq_9fbJI@t&wi zgd%fK-D#@e@YkF0_X}z1{_j3V%eGF=)VgK=&I}l9=q&39=#B=K$-ccJLARYsty`84 z0G4i{;hmN>%|t|Rc@tS{YnqZkJ{7lrANT@{2+T0eUigKgE_Z<$*vWwfbi+)U8lfgo zH|j&>1l+%NVKX~`2Pb6Gxf}i=OWRtC_eE92uJhA<<518v<~qM zNGfg@f5bu6z~l%CllO{VNpe)v#T_5#a;eiE{{U<;aA8&cr zWJ?WU5~{{4GLG)EQh>o%648XbOiLiVzz9ouTGtmqN9 zsM)+g;bq>Trm!yaF2DoKxzfGWK?JLvX7wrY?Uz`rc2sl{soZ3sYFlju%+AILWwivf z@P@jV*~AnrR@cl_#u%g6neskmjU0Bx45t`PL8Za%F9waW!_;v3AyIb77}RoKUTfk4 zmWxk-H<#@VzZpP16~D~yJy>!me$tE+xI^H8Od_mMjbVOZIDUaQ%viH5rvS~hVBo%Y zH!!NmAT%l*Sr&;<7!R74V|4n3l;^2J#-BY!?f8agvRw_!IlTCa1%n}Et(XYzYzxRn zU8~$pqG0>YD$e7OMr^O{6Dx7KLZhVfsLT|~uf%9yj^{G-`-s2X1r%RUvkHpAl|xiV z7^Y;k_?3qk?l+OQ>HyRO``i#lQe~=h@d#2{%#|=PNJke;d2RWMvZ+O_4S~lQhP+vc zGu!wjvLI{O`OSyK3DP=Tv`Uo9^ZuebEm`;f094N5tavXjIGYy*T(F%u2w8wkrg2^_ z0@+wI#K|Av@8J03Ei+PY6u4)lEz< z!VPUyWz9!ms?|V87j^sn#g$f+HmQgZF}swurcMY_*6&Ozn?B$I?)`3I71qWfC?mz* zC0lnxsPuvH2Z=t>B{1wT%i*U7a^Y2P23XP^Gc~YH2p(o!D_bQam5Ex_5!I2qw^3Ub z2b$b#Xw(>TTqc3|ltk3G%XyhY9bSGTvQFxtd2{Xn1RoO9)vL%mSOREQUe9k478Tw+ z#?=eJu(+w99Whw>fi^mq<6}uvelfW~jDEWrWm-1H-O|C#w;qP#9?z0NL z&@R6sC{k;gou!=o#Y&V{nR382 zALcc3EF0cGeMCbGd!Y*;cuVbN0k~$mY?<8Eq%of{wU9bss%oE5S!JN$6apz=BWjW5 z`enTRp@IfQ&e)fVbJRmP+%_)!Ooo$d9rBi1vVk zMS~vY;^bBu$+w6gc14WB>P6D(EY-j;p}qS50BSm=yJGl>#X5i(Ri)xBOLXFziUnUa z)Eo3sbnz*o&e_Nz?g}a#tOAn9d4)ol9lMH!M7&J`9Mt5SbQLXi1O27(n4pS);ZD+N6{v|rvhSpe$j`I~QR@a$Y zg%!Y&Ay?T?a1lz%5Z|a&V;}wf#cZJmFv6(}S@81>#_ha>!v{9qx_EvXejza6FJWl# z%a@8;h~SSLOPBB&ZHuoF$-YTbTwb0Tm8#-cm>a#tvvpWbVM~Jer_8G83$~y_Ta1t{ znXSSMa-R{{Q^D?8y>kJK8k9{f!COoB;wnnLd10`!opUQ-w3L}+aREz?K4OZ{_TmIs zSXLt)tJ(yVHqFD}2Q?JwUN2DC1^q^bZ2sWDConX#E0PceS*jwCsI9XB1;;RNF#wD* z;3A7$_H`8MiDndhY6Mn((@Sm_q2Zi`XDB+Q>_Yxp3ki@_a7vgQMZ`_O?geTs%M7yy zD5Wx%V%1?L>@ecD_NHLCP!BD)2m)Vlnv&IFBqT7Ya^mr?H}3wXf^{xx>!KOXy`c4} zYz!v};_%}-rB?BWY}=WGQzS{yXsk$SFnJ;d_)qx zuA&y3>Y|jTV6IS?(yY|6Wn`$Cv+XpBzT;VVgLpG6EpFxem5%cT_!uo0^A;+}VBU~I z!e)h*RlaTE{KV)uWM23s@*ux#HBWk+HpLCpFjjQ#KY8jag8VS~)y&Cj;h9BW#LM)j z5s2ScnDTU2+Y>PrYOje;x>JZ(n3s)?ArhR9B`(aSi?qbpS7OYh5+;GQU*$2ZSic?4 z1HbArl-mx;d`hT%3v0$ouQM}86P&~zQDVZFe((vQqAkt7Kr;~T=9a+DE-GThOpHDc z*i2iq`k!ll&_|)pWtmx6C4n-mtzvGixrHuYw8X4mBxui4tIi;+9^`b605*4f zmKCV;h`F0B%^EpFL5XS<i!dp)B?vne8#9S6vW*(`CxXOnfDgLFMz6mTv2+= z@*scqW?E3rVGTIFuo`mRJ;wku6`Riz)KMDs0;@H831!;0xF`j7xaP|=QN*QKQ_Mx( zRc0}4g;n^7qGtEzS}Vq}D1|9snQRnL-NujkGqBI`D2a06fmC}hRJ2bHcLE%++Rq|E0nvB)m~%O)mIhF$ZG1EqxUKjTiuB(8mqrV<`;#TxrflQXs`+@+7se>3`Ck6?U z+|(-qk1cpS>JR~P);r_nn}z3@$mYDo0{0ZP)t)0ocYTcAqOJ<_cFYLo$k?p^01@cC zVl1vb6C-xY0l&y6O zt6ll#V5srpb4ogxXm3#AS8g-7O7U}uYU$lT2NH#c$t%Alv-3Gfi#kUrv^nk1^A;Nm z)LzMEkBR+#;kOyw*0qeq46#+>Z3U{K`F9;a&{>P71W4rHdz5X3`w(n3ajA8=Q1O~8 zyaxQt1e?XYgEbiTredE=#&H*AWDP<#W>G*?1G-h>?uAw>Jo6Ql*tXrwVE!UfR(ZZ7 zYc1Ab7n0Twa7Ed*uB9~!G{JTUIXuC>6U0WU>FH-moi~o4Y@zYFmV#d*FPVXeDYuP5 z`P{b(H8n*FtV3YrY2M+gQO!gZZuypluNaj9k>EIj6m8cLDS2~I(?-ndDrE^^arS{u z*Aeip9WQ3D0tn@p8#@-sS3&)I?3+ne!INu36fb@=9oj>@H>;!MNJy zQ04(D7lRLBpbfEVP*KpZRsGOtG@)XYWH3GqADD_plN=A2_yDxNSN)H|gACh1n;7I7 z%zFpOhufZ0)YMwJ2?`{q+dSEvLA?9&AmSzXE$TUAV=TkwLLc+7r_ z+(MT8*D+fm>|a^wwMOv9rYmN1KgDDcDv7EDmGe=r-^EGlz^{{Y0Y zc#c zQ2+{+i)CsA1;KDSRIr##&m;oYQ8=JxqA+}l^m&38CpjKp#ATT+F77r`zvQ*xS82>c zKjkt}M|D!$b8@3deKEy{xlToc7lXHOQl%auZCaGW;#F<|wWH=fwyV2Qk5Z*<75gA; zox;V8z^73(g$kuW_vo=*y{{S%rJ>&BLxF%okF`7=>9j>3xiw*D;|N3?wer7=S~2P2OH*dZetTLlUj5Y-%k+(n4WYxR%1dFcK74+@Z8OyC>Y%!A1&d1aKj4!Jh z%ZCK0T6{|JP}kA7D5#V*=C$&5?ISa4!steqv*pSUz+Sud&OEYZf|DBV>>64$ZCuD>6dh9cC) z=urv|`j(G&?6+UUO1uNEBc)YwqVN)sg=5~ifb!fRT?vDj`L@6Qz(B<-jlb-~wpjHR zM7qH)6foB$Zm-Qp9)?{5KNf!bh%L7;Xbe7M0-f#(&0^*u<_#7ATjmu)v(%_rywoF$ zm&5K{PyzFA`{o!?sMX^4`Invm1F$jtLnfv|9cA?`$;u*&A=`psy_3rWCz}3#)mVyh znvURN15vcFFbEwVsHnhODb2L>>VNedh*@9UYpC02KhyzcmywNN<0r(j;HP&Rk(ax^ zVuW6K;st?J3L{!q@WH1i^A(I#bDQH+b&}?8+l{RrC6=r&m;j(x7kP;&^F+38f##!s zEdo6b?p%Xy3B&-#j^Lm`e&1)Nzf7j$6;t~j|NfSP`ttSoI1QLR#{=>R>R|>h}twvSltBC4%0Fv1R3*lI0 zzO*rByDgZ@J9%`Dy_K8*&jH>NdEHM&kQ}Zuz_fTSx15vtO zt1_O;+Q$iXYUl1?j>##n4{;VDjeRfiF3yUd5xkHfoh*<_tg@@QWtDCslRqq4SyA%G zOD-Bm#GotZaZn{WF$JeyKF}(Hjbi1|pc-WbZ)_U?w{sDxEY}gx<0a_gHCOz?5mYNs z>ImZwPk4$J5iGATs@5Q3VCv%6h@r1ETNRIGS+FFGrhxHu)H;}?ihI)P{s&zzr-BQkKP=O5w#9yB8Z z!>PxaxWFB~!faaZGt^r7#JxJJEz6@7q3Tv#hQR*-f36!w`VMg&8PGhyaq@oYaYzgA z%&!+Y+(mfNWf#P)0kw4vmoM7}JAu~ig;3JULbrDi{h)Z(pW`re9_msvqeBy6jqRBL zJ1bsbh^ovsYSbuzTwOfND@A-%EYp01S`62BQKg(BVL;X1E+UHA!NjUJek$M%X{}q# zK%&#ja?HAeYl16KMfsG}juuOI4P9s7#LOtw zI)W4fX4!Q~W$`dCF69x7jI}b-n`H}K6?%cRVdhjVhWok5QbJmCRKa#xETY|&9Vk(l z((V`|{{T{hl6gm#(+RWGEkOY2h6P;?#I~9YuHYzfC?Uk4$qKe1)F@!$VU)cyn*cjy zfikr|-RwJ=g2gWYPVQnJsa%KNQQ5qUQp;5X02O3YW>;n6F|a}|Dp=C*{KuiDEem?o z`DYgdCBYBBFoboUM*jdZiy3PAORBu@7X&#HsGFmQ?J3x=52*Z=)67!d1W+==#6QhS z5C}RU-^4>c?=fzbh6m31C^D2N@=!e+^2Gp927;;IYzvsK?94y_H5{PJsG{#@ycm58 z_=;_LS~#03n%%*!bFq!4{6N3ga*(U_6s%Pj8n44?%O+{~zO?A(R!Bv(rn<>|nfwJ;hnSf<)@lvuSp-bQT<@f>GImf&t2&><2 zDiY32yp0sYxZS&3VbeaP%cqG-B$V@|on=lwNZl+3+A52EROE9IxuPS&SxaiN+#(T0 z0+#fh4x{>K4duvnU4@mM^-DSNw=FtVaCi@^>sE-cc>J=H(Q=?khwS znZiA~eLzMukC27RzmhisJ8|Lv%+Hrpys-c`DO*srdN&4_d4Q2{!kN5 zOPcOJtXK;!HbaZxMhN5Xe?nDVW$G=D3w^u(@VLr8u5MTZb{{2dEZs z3@5}x)1sxDP-i-eNQ!eF&)NR~c$cIFVZ`Eu=H<>put%(=FHi-img-xQb6z2A3=8Dfn%tGqQt6amdP~@mc;$mgrQl=M&QQxUp z?hm1HrLnnyA$7j>(=n=8W&~japHPMTk@_OPh>R@lvQ&dq=jKrj6}57lexb94%30=D zXjaK*!>NFnnh8e)3CATL#AVA-w|O4AwxJsljOH43bjph;7Q!tl{6tG>gH<`(isB7A zN&|qwN_i0v78QaB^mAO#1kAx1)G!Vhz~jbcySuqjy$#LHo)z&6Lj?Uqu&WnS8CMNe zRT@0SV+7c3U3h>MtK8)>=3ZE5#MrFenMH8;bfN4$K z9ba=eZhm7_v4$&TsVi*FH)x~aV*c`BD#FVw{37`8vNfepqvSxM?#LG zfi|Bo|14YzI^_b+=VG#q+^X@d|K|%ph>rvc#Eck!{ zII2_(6@9_0j=pA0(!fc6e9Y<_x^WpOFL#+;MK-I#!~oFk6NsTzZReQi*4r#oEGd5j zGdU`c)YaSfE3P8WxSV+|UmFM#<^7aU!`7(1_&?cN;3{sDs3$ z#eD=Bs8|(0kbk(C489J0^{5$T!5z6fsG?-I+jlp#QKDewzAK^P~k@QI1k*S z1Y`&I{{6}_(YBuvVIxf`1_Ei$#xms~RYF%c+%}AyjJ*r(EMaf&1n&>#TolDCrZ5Uy z69`wydy1+ud(5|Hd6Xf^<|7EzTvZqGJr%`q0l-$+IW1CucTBA4IN2F>K+Fzkg$I@*bzAMv?g7<3L&9H3ZIdJ<$P&85diMpR z?zI$*qm#Jld?+q7ETErgh=$xwZHvD3I97!)#*Xy(jVLCSb+X{|5|wG66FqF=TG>#( zMHR^urG^Y`26K!aU^&#-xpxR97Z<6IY)QId2tvg4kv5pZ9XgOHkAbY<5u^3fY*W*Ku3~qd1;I+runFjJoO| zS5d-+nG~=!eZzNHd0+;a7QH@ZGmzZh)OAaiftNXskYkvGPueGVmnU#m@!Z%{E0`E+ z*ecwD{_MHNI3=xa%HN4k1_jahxabSgjmIk6rwkvMM}fd780xqUkVG4E>RohYh6*cu z%R`Xw&UWxWcv&wOsLF;&a7r$c=5z(E?r^X-a6o$Ci~wP=P8oF=4K*27%$4&AE5F2` zPAgLqwi4hrT?>{$4XNaZ#1$yZ9snb5>Nq;W@C2ygLpf9#nQN>}(ok}Fh~P7IEZQ%u zT*@lASQ;m+wk(o=6zhBBd^B@_WJHDFk6#6^PS6uOO?wF+*J{<9k{ zLf9&@n;v4;Qc(3Osw{VlfUq}I5KILMlqD!P=2(Ub=3rNHkCb&wVJT5_AbVP)(6H%_ zd1J4cUd}7i9xIt)8?`ijiD*O5pDgZp!xJN76TH6Vrm2Hrj#eC{qp3nQdYOg5ODbA7 z<^o-Z?nF}A;FQ=XMC?Q;tO{=lBTC$JnaSPE=eRZESmY`qvGX_P zE9Cf>+6?-gFtONtl@g&AThy@_Ji=KHS^offju#TVo>_XbQOA3jeqgUNsW2Tt#YJ3h zP-loD#mvfEu^eG(!MFex+_j<^p|0iRrHZ&#AeQE$*Oi2=f(sZ5^zM}Yp&CCZtpQJ+ z#mXlk=K;#_MgV&}4tOrG54c4Ut{5nZYZB({t|RKVmqTxhjqe=J;7XuLrme+;9dlG`*_@U9Hx?F>rXz#x@3(9&7u6E8*mgRKw(-;$pmm2`s&0 z^AlQH>6o!X5mK;Qx7UzmQN?UBK^2`;Kvv706DV>ea8OG*ocU8;`o3zxyc-CTe zeX{psUS^anolC16kVKsZWt5|B5#FAqkOJGb6sw|9>bE@sTyqRodLflg4B{v&2ksOW zJsXBZG07QWlda4{B5qfDnc5sap}v$z8b(v|s zkg{@dFr^uKOUtQXC*mZx;y(pKgwe^UmZ!uPjZx2;nM`*L(aU5gL!jbiOzvyV`pi!N z#J78SgFzNp4_C|-!ZoLND$MTs+zyJ&rJ(zb^rgf{Mz;$Fv2oJsqiYCRrtn!~`w(hrxz+PdbxP}z~ zEeyW+{6QQ8j;aRLm&kV?Q3fsqN}M@`*yV=ot-{zP)^epg?Kc_)n;d>+7aY?9gaaU6 zpbE=;)DG@blJYX`U9+gq7twl;gO+nKw6*sF2Gn_tuIem}_C<8nFLBE@x*&l=c+3%_ zUCPB*)Iku#R}euQ<~eRUt|Jz=GwCi1mR!rLo`Z8ibbqlaYYV`!=ohM%4u7Q2Ys$M; zDJdwRmJC#=;}J$pO2~yozyr)c7kml3GreXY(R9S&mBT#`ZXg@4dV#&`j?c&u)cM_y z)TPZB1_Lw8NZ(SPsqShz>_sCnN1GTikzH~*lsOJP$D{#7fphajW`(w^mAJyRtBF9) zYcj;QYX&)%u;S^$LTMCc-4lqwEQTx$u7V`#9I_$}CDcv<90WCsLTCnQn2ZQU$tgA+ zO=z?}ceQZ?sOD53Yl_J}U=(eMk(~Y`%GwEZbGVolX6uL?v>Ra4Wntz8tqWfSqE(hl zus5gy(7CW~v0m>Kw|``VO@fxFH3ph*xR?VFDV#(ys<)U$r=~F@Z&9hU z5p68bC{Bu=5!`ufioX%4>R?=>;s)-YnaWrlcOA+H`MOaC zDR_u%A)VC8U+y;xa>9o!489_&yj;%((J&G{)~Zqco|wq-Eh_##(W6niy~0qPVpys~ z$QTBU$2mL1>-;12D~i}ha%rqb0m;EoUPmNmm=21K3JHrKR#Vw4_exWAS>F?RHK>g+p6QHbTJ2Jmvl%5N{skO@ZNOl`(WY#@$KWuz>W~ z{7Rrb=FGu^+LwlZpkoZ<_Y?3acvT<7E3mGjf?X9dX_y>Cx~ZE4 zB(>CP5OyXbe9+1zoK~ftIl9acG9#$|Zf` zmmzQm2bp@+LljC3*OsPWvpFBn9BKfK?LXbcA*X4@`-6x~Cp()!EGg<)V4;|>!-LtN znG5Y0hT;fz> ztNVpt%mVwZE_}qyOvkIo6N(u57CwmYX}%%`O?7c?9A-ODlv`bnCL7dI4?I)@1%DGZ z3^DB-;>Wks6QMLWG;6EsHgd5CZdXBr}W${SKp5GW%dtg%Yg<~2k4hN|woOKUC7 z-EZ7#ZvOGL)?d^Nuq_epD6v+<)K6pyrFe)Li@V0+;)!0L1gf4Pb^Dj}1;D%9#bz{m zj%Jqx{?kx5|2zfn9@ZGMJa8TERob~OMfccE&sg@2Uygzwg6pF;U0q8(TIl&moZLm}$5SSa1^& zE;mZusc)LI2A|0jfmmt7BR;;-imEo70lS(-K#4(LVC+C3d=j9?_YB@eMI`rE zr$jItF*cYR9oASCa!hrIkyi0|gh+=c20!er1azVXjbP8XE#$bwx;`@$6UjBMes?g} z2BNq(`IjA?VqJkxFH*;y(H)%Y7RwxufYMs9^GmoI(Vfz0DI)9n1}7U=MMQk6TtGFgZ5$D)scle$oJOV<=ZKqg>}oD*{OdB2qxy-l zn%rtuy&{EH!k8}Ac$U?p3WgRtmqA6yxGJvU75YIIS-n{=P7U~jWmdS9sL}bG6teV+ zmg@B{pkCu;HsPqsfnv*L#d^dHTT}auT{?r5IGJ(zWxIE&NMV$DnKS#9wzVycVra&3 z4Pl7eTbJFk<>d^p&jABMs`<84ZH+F;{6!)aE0zA(lMc*k`;D-alE+z^FYzCY2zD+| zurON)P(WLWPKn;7cTqhKBG90Lre5QoV^gTO#cNc?q)d7GKvJBL2T?Le!H$=fIr9(| z6|0*oSYtjy*if}PbIfUe8;zq?@f!uUvo8bsT+Pun3(y|pqf|f@!K01FgVW|ry&i-vBY z_yh-OntWnqr2_~cOm@nQwqnyu-f9|Z)og0V4|vyC16v!kfyyYtzS)&`VqpOLo?@$Q zfvJOZuTiVB?9^siS}x(V3h@+7G(@E}7`MxXg-1K?D~Lown&UE;gFm>bZgDM0Vc@tV z=yQl@ej13?uNRSKnp(7#4C7&$N(5!a~`2afKbeV`bP6zcLdPt8Gp|*@(+p* z`R}H^kSieb!r6^QHmOl6hCKk*POj2R{k5DEQEv&I9#@io?AnP<>paTP>8#{@~k zSehkDR;p61l&)r5sDcZ2M7>7fjZ{T5%&Xi-X=7Yg|%{xp@ z*u+~c>gsfQ=m}u0?48lhgW+Q>(;w-0l+}H(lL4ppa z_-9}0EoKF%6GmV*%MWlWWxA9NK=qlqQj|(o3Bbxbnrazq=m!3S!eaps2o9h?xm7Ln zFv|w*XF5BE(c2dQ!_)%2t1W4oC8uh%TPo2zJ7w!I$yt?DIO++u|X^d{4ah=t4y^DzTf;vD;&vC2PlaWV?)e8kRpiA=800ae2`87!LI z8I#wkg-aFPPJZzWpAyWb1qse-XHDI*s)1|^31_$nenrgi)V5=YZ6Gl`P@o_n8AurS5h+m! zsDz{ng#jqJ)|6UADiQ|~2nY&NWP^Y z=GfoNR2lVO2 z6m&+2aRHFc@isxRZC7#1&R_#wB4x`lwrXrdCEnvL7^q6aCU*o3_=VbqMkNhO5nVt$ wKpILcj-V)js1>P1Lda?XP~+)J)HMLPN~z2RY67P)Dhz!OpoHO^!co-!*$upTsQ>@~ diff --git a/packages/documentation/blog/2021-08-26-welcome/index.md b/packages/documentation/blog/2021-08-26-welcome/index.md deleted file mode 100644 index 9455168f1..000000000 --- a/packages/documentation/blog/2021-08-26-welcome/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -slug: welcome -title: Welcome -authors: [slorber, yangshun] -tags: [facebook, hello, docusaurus] ---- - -[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog). - -Simply add Markdown files (or folders) to the `blog` directory. - -Regular blog authors can be added to `authors.yml`. - -The blog post date can be extracted from filenames, such as: - -- `2019-05-30-welcome.md` -- `2019-05-30-welcome/index.md` - -A blog post folder can be convenient to co-locate blog post images: - -![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg) - -The blog supports tags as well! - -**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config. diff --git a/packages/documentation/blog/authors.yml b/packages/documentation/blog/authors.yml deleted file mode 100644 index bcb299156..000000000 --- a/packages/documentation/blog/authors.yml +++ /dev/null @@ -1,17 +0,0 @@ -endi: - name: Endilie Yacop Sucipto - title: Maintainer of Docusaurus - url: https://github.com/endiliey - image_url: https://github.com/endiliey.png - -yangshun: - name: Yangshun Tay - title: Front End Engineer @ Facebook - url: https://github.com/yangshun - image_url: https://github.com/yangshun.png - -slorber: - name: Sébastien Lorber - title: Docusaurus maintainer - url: https://sebastienlorber.com - image_url: https://github.com/slorber.png diff --git a/packages/documentation/docs/fundamentals/auto-flattening.mdx b/packages/documentation/docs/fundamentals/auto-flattening.mdx deleted file mode 100644 index ca3a8de74..000000000 --- a/packages/documentation/docs/fundamentals/auto-flattening.mdx +++ /dev/null @@ -1,123 +0,0 @@ ---- -id: auto-flattening -title: Auto Flattening -sidebar_label: Auto Flattening -sidebar_position: 4 ---- - -One of the common usages of object-object mapping is to take a complex object model and flatten it to a simpler model. If we set up the models following the convention, AutoMapper can help with flattening automatically. To enable Auto Flattening, we need to set the [NamingConvention](./naming-convention) for our models. - -Let's assume we have the following complex models: - -```ts -class Product { - @AutoMap() - price!: number; - @AutoMap() - name!: string; - - constructor(price: number, name: string) { - this.price = price; - this.name = name; - } -} - -class Customer { - @AutoMap() - name!: string; - - constructor(name: string) { - this.name = name; - } -} - -class OrderItem { - @AutoMap(() => Product) - product!: Product; - @AutoMap() - quantity!: number; - - constructor(product: Product, quantity: number) { - this.product = product; - this.quantity = quantity; - } - - get total() { - return this.product.price * this.quantity; - } -} - -class Order { - @AutoMap(() => [OrderItem]) - items: OrderItem[] = []; - @AutoMap(() => Customer) - customer!: Customer; - - constructor(customer: Customer) { - this.customer = customer; - } - - @AutoMap() // 👇 need to specify the type for getter - get total(): number { - return this.items.reduce((sum, item) => sum + item.total, 0); - } - - addItem(product: Product, quantity: number) { - this.items.push(new OrderItem(product, quantity)); - } -} -``` - -Now, we want to map the complex `Order` model to a simpler `OrderDto` that contains only the data needed for a certain scenario: - -```ts -class OrderDto { - @AutoMap() - customerName!: string; - @AutoMap() - total!: number; -} -``` - -Assuming we have Auto Flattening enabled by applying a `NamingConvention`, AutoMapper will attempt to match the properties on `OrderDto` against `Order` and its child models (`Product` and `Customer`) when we call `createMap(mapper, Order, OrderDto)` - -```ts -// complex model -const product = new Product(5, 'Fried Chicken'); -const customer = new Customer('Chau Tran'); -const order = new Order(customer); -order.addItem(product, 10); -/** - * Order { - * customer: Customer { - * name: 'Chau Tran' - * }, - * items: [ - * OrderItem { - * product: Product { - * price: 5, - * name: 'Fried Chicken - * }, - * quantity: 10 - * } - * ] - * } - */ - -// configure AutoMapper with NamingConvention -const mapper = createMapper({ - strategyInitializer: classes(), - // 👇 apply the CamelCaseNamingConvention - namingConventions: new CamelCaseNamingConvention(), -}); - -createMap(mapper, Order, OrderDto); - -const dto = mapper.map(order, Order, OrderDto); -/** - * OrderDto { - * customerName: 'Chau Tran', - * total: 50 - * } - */ -``` diff --git a/packages/documentation/docs/fundamentals/mapper.mdx b/packages/documentation/docs/fundamentals/mapper.mdx deleted file mode 100644 index 7e1c69c78..000000000 --- a/packages/documentation/docs/fundamentals/mapper.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -id: mapper -title: Mapper -sidebar_label: Mapper -sidebar_position: 1 ---- - -## Mapper - -`Mapper` is the main character in AutoMapper TypeScript. Everything starts with a `Mapper`. To create a `Mapper`, call `createMapper()` along with a [Strategy](#mappingstrategy) - -```ts -const mapper = createMapper({ - strategyInitializer: classes(), -}); -``` - -## MappingStrategy - -In order for `Mapper` to map properties, `Mapper` needs to know about the properties' metadata. That's what the Strategy provides to the `Mapper`. A Strategy deals with: - -- Discover the metadata: Based on the user input, a strategy needs to know how to discover the metadata of the models from that input. E.g: `@automapper/classes` can discover the metadata with `@AutoMap` decorator. -- Retrieve the metadata: A strategy has its own "storage" to store the raw metadata. In order for `Mapper` to work consistently, a Strategy needs to provide a way to retrieve this metadata in the shape that `Mapper` can understand. E.g: `@automapper/classes` stores the metadata in `Reflect` object. -- Apply the metadata: By default, `Mapper` knows how to apply the metadata for a specific model. However, the consumers can customize this behavior by passing in a custom `applyMetadata` function. - -In addition to dealing with metadata, a Strategy also provides two hooks: - -- `preMap`: Runs before the map operation starts. This step is usually to prepare the `sourceObject` before it goes into the `map` operation. -- `postMap`: Runs after the map operation starts. This step is usually to massage the result `destinationObject` before it gets returned to the user. - -### Official Strategies - -AutoMapper TypeScript comes with 4 official strategies: - -| package | strategy | description | -| ----------------------- | ------------- | ----------------------------------------------------------------- | -| `@automapper/classes` | `classes()` | Works with TS/ES6 Classes | -| `@automapper/pojos` | `pojos()` | Works with Interfaces/Types | -| `@automapper/mikro` | `mikro()` | Works with TS/ES6 Classes and [MikroORM](https://mikro-orm.io/) | -| `@automapper/sequelize` | `sequelize()` | Works with TS/ES6 Classes and [Sequelize](https://sequelize.org/) | - -:::info - -`mikro()` and `sequelize()` are extensions of `classes()`. They call `classes()` with different `MappingStrategyInitializerOptions` - -::: - -## Logger - -AutoMapper TypeScript exposes a logger via the symbol `AutoMapperLogger`. There are 4 log levels: - -- `log` -- `warn` -- `info` -- `error` - -By default, these log levels are implemented using the `console`'s counterparts in addition to having `[AutoMapper]` as the prefix. - -```ts -console.log('some log'); // some log -AutoMapperLogger.log('some log'); // [AutoMapper]: some log -``` - -### Customization - -We can customize `AutoMapperLogger` via `AutoMapperLogger.configure()` - -```ts -// in your application's entry point, at the top -AutoMapperLogger.configure({ - warn: null, // nullify "warn" completely -}); -``` - -There is one caveat in terms of customizing `AutoMapperLogger` which is **having to** call `AutoMapperLogger.configure()` **as soon as possible** so we need to pick a file that is guaranteed to run **early**, preferably earlier than **decorators**. - -- In NestJS, this can be `app.module.ts` -- In Angular, this can be `polyfills.ts` - -The caveat stems from the fact that `@AutoMap` decorator from `@automapper/classes` does have a `AutoMapperLogger.warn` call when it fails to infer the type from Reflection. This might not be a desired behavior in certain environments. diff --git a/packages/documentation/docs/fundamentals/mapping.mdx b/packages/documentation/docs/fundamentals/mapping.mdx deleted file mode 100644 index f4d2ff3f9..000000000 --- a/packages/documentation/docs/fundamentals/mapping.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -id: mapping -title: Mapping -sidebar_label: Mapping -sidebar_position: 2 ---- - -## Mapping - -`Mapping` is a contract between a `Source` model and a `Destination` model. `Mapping` is created by invoking `createMap()`. Within a `Mapper`, a `Mapping` is **unidirectional** and **unique**. - -```ts -createMap(mapper, Source, Destination); // Mapping -createMap(mapper, Destination, Source); // Mapping -``` - -:::info - -We can also create a Mapping between the same model (identifier). Read more about [Self Mapping](../misc/self-mapping) - -::: - -## MappingProperty - -`MappingProperty` is a set of information about a particular property on the `Destination` - -- Property path -- [MappingTransformation](#mappingtransformation) of that property -- Nested metadata modifier of the property and its counterpart on the `Source` (e.g: `Bio#birthday` is `Date`, `BioDto#birthday` is `String`. So the data stored on `MappingProperty` is `[String, Date]`) - -## MappingTransformation - -`MappingTransformation` is the instruction of how `Mapper` should map the property. `MappingTransformation` operates based on different types of `TransformationType` - -There are currently 10 `TransformationType` - -| type | member map function | description | -| --------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Ignore | `ignore()` | Ignore a member on the `Destination` | -| MapFrom | `mapFrom()` | Customize instruction for a member with a `Selector` or a [Resolver](../mapping-configuration/for-member/map-from#value-resolver) | -| Condition | `condition()` | If the member on the `Destination` matches with another member on the `Source`, this will conditionally map the member on the `Source` to `Destination` if some predicate is evaluated to truthy | -| FromValue | `fromValue()` | Map a raw value to the member | -| MapWith | `mapWith()` | In some cases where nested models do not work automatically, this is to specify the nested `Destination` of the member as well as the nested `Source` | -| ConvertUsing | `convertUsing()` | Map a member using [Converters](../mapping-configuration/for-member/convert-using) | -| MapInitialize | `mapInitialize()` | This is used internally to initialize the `MappingProperty` with the `Destination` metadata | -| NullSubstitution | `nullSubstitution()` | If the member on `Source` is `null`, this will substitute the `null` value with a different value for that member on `Destination` | -| UndefinedSubstitution | `undefinedSubstitution()` | If the member on `Source` is `undefined`, this will substitute the `undefined` value with a different value for that member on `Destination` | -| MapWithArguments | `mapWithArguments()` | This can be used to map with extra arguments where the arguments come in at runtime when `map()` is invoked | -| MapDefer | `mapDefer()` | This can be used to defer a `TransformationType` with the `Source`. For example, if `Source` has data A, we want `MapFrom` but if `Source` has B, we want to `Ignore` | diff --git a/packages/documentation/docs/fundamentals/mutation.mdx b/packages/documentation/docs/fundamentals/mutation.mdx deleted file mode 100644 index 8c5c3f0ba..000000000 --- a/packages/documentation/docs/fundamentals/mutation.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: mutation -title: Mutation -sidebar_label: Mutation -sidebar_position: 5 ---- - -AutoMapper provides a way to map _mutably_ using the `mutate()` API (and its variants) - -```ts -mapper.map(); -mapper.mapAsync(); -mapper.mapArray(); -mapper.mapArrayAsync(); - -mapper.mutate(); -mapper.mutateAsync(); -mapper.mutateArray(); -mapper.mutateArrayAsync(); -``` - -The `mutate()` API returns `void` as we would pass in the `destinationObject` to mutate - -```ts -// map() -const dto = mapper.map(user, User, UserDto); - -// mutate() -let dto = {}; -mapper.mutate(user, dto, User, UserDto); -``` diff --git a/packages/documentation/docs/fundamentals/naming-convention.mdx b/packages/documentation/docs/fundamentals/naming-convention.mdx deleted file mode 100644 index 23e4751c2..000000000 --- a/packages/documentation/docs/fundamentals/naming-convention.mdx +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: naming-convention -title: Naming Conventions -sidebar_label: Naming Conventions -sidebar_position: 3 ---- - -`NamingConvention` allows AutoMapper to map models with different casing convention in terms of properties' names. Out of the box, AutoMapper provides 3 conventions: - -- `CamelCaseNamingConvention` -- `PascalCaseNamingConvention` -- `SnakeCaseNamingConvention` - -By default, AutoMapper does not set a default convention. [Auto Flattening](./auto-flattening) can only be applied when `NamingConvention` is set on the models, even if they share the same casing. - -```ts -// Mapper level conventions (global for all Mappings) -const mapper = createMapper({ - strategyInitializer: classes(), - namingConventions: new CamelCaseNamingConvention(), -}); - -// Mapping level conventions (applied for one specific Mapping) -createMap( - mapper, - User, - UserDto, - namingConventions(new CamelCaseNamingConvention()) -); - -// Profile level conventions (applied for ALL Mappings inside a Profile) -addProfile( - mapper, - userProfile, - namingConventions(new CamelCaseNamingConvention()) -); -``` - -### Different conventions for `Source` and `Destination` - -All variants of `namingConventions` also accept an object type `{ source: NamingConvention, destination: NamingConvention }` to set different conventions on different models. - -```ts -const mapper = createMapper({ - strategyInitializer: classes(), - namingConventions: { - source: new PascalCaseNamingConvention(), - destination: new CamelCaseNamingConvention(), - }, -}); -``` diff --git a/packages/documentation/docs/getting-started/installation.mdx b/packages/documentation/docs/getting-started/installation.mdx deleted file mode 100644 index bff0dfb9d..000000000 --- a/packages/documentation/docs/getting-started/installation.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: installation -title: Installation -sidebar_label: Installation -sidebar_position: 3 ---- - -### Core - -Install the `core` module via `npm` or `yarn` along with at least one strategy: - -```shell -npm i @automapper/core @automapper/classes reflect-metadata # for classes -npm i @automapper/core @automapper/pojos # for pojos -``` - -```shell -yarn add @automapper/core @automapper/classes reflect-metadata # for classes -yarn add @automapper/core @automapper/pojos # for pojos -``` - -#### `tsconfig` - -```js -{ - "skipLibCheck": true, - "experimentalDecorators": true, // for @automapper/classes - "emitDecoratorMetadata": true // for @automapper/classes -} -``` - -### ORMs - -If you are using an ORM, AutoMapper TypeScript provides support for [Sequelize](https://sequelize.org/) and [MikroORM](https://mikro-orm.io/). Both work with `@automapper/classes` - -```shell -npm i @automapper/core @automapper/classes reflect-metadata @automapper/mikro # for mikro-orm -npm i @automapper/core @automapper/classes reflect-metadata @automapper/sequelize # for sequelize -``` - -```shell -yarn add @automapper/core @automapper/classes reflect-metadata @automapper/mikro # for mikro-orm -yarn add @automapper/core @automapper/classes reflect-metadata @automapper/sequelize # for sequelize -``` - -### NestJS - -AutoMapper TypeScript provides official integration with [NestJS](https://nestjs.com) - -```shell -npm i @automapper/core @automapper/nestjs @automapper/classes reflect-metadata # for classes -npm i @automapper/core @automapper/nestjs @automapper/classes reflect-metadata @automapper/mikro # for classes + mikro-orm -npm i @automapper/core @automapper/nestjs @automapper/classes reflect-metadata @automapper/sequelize # for classes + sequelize -npm i @automapper/core @automapper/nestjs @automapper/pojos # for pojos -``` - -```shell -yarn add @automapper/core @automapper/nestjs @automapper/classes reflect-metadata # for classes -yarn add @automapper/core @automapper/nestjs @automapper/classes reflect-metadata @automapper/mikro # for classes + mikro-orm -yarn add @automapper/core @automapper/nestjs @automapper/classes reflect-metadata @automapper/sequelize # for classes + sequelize -yarn add @automapper/core @automapper/nestjs @automapper/pojos # for pojos -``` diff --git a/packages/documentation/docs/getting-started/migrate-v8.mdx b/packages/documentation/docs/getting-started/migrate-v8.mdx deleted file mode 100644 index d15900ab0..000000000 --- a/packages/documentation/docs/getting-started/migrate-v8.mdx +++ /dev/null @@ -1,658 +0,0 @@ ---- -id: migrate-to-automapper-v8 -title: Migrating to AutoMapper 8 -sidebar_label: Migrating to AutoMapper 8 -sidebar_position: 2 ---- - -## Overview - -In AutoMapper 8, the overall APIs of AutoMapper have changed from [Fluent API](https://en.wikipedia.org/wiki/Fluent_interface) to a more [Functional](https://en.wikipedia.org/wiki/Functional_programming) approach. AutoMapper 8 also adopts the term **Mapping Strategy** (Strategy) to replace **Mapping Plugin** (Plugin). Strategy API is drastically simplified and made consistent across all Strategies. - -```ts -// before: Plugin Initializer sometimes is a function, other times is a function that needs to be invoked -const mapperOptions = { - // pluginInitializer: classes - // pluginInitializer: pojos - // pluginInitializer: mikro() - // pluginInitializer: sequelize() -}; - -// after: All Strategies are functions that need to be invoked -const mapperOptions = { - // strategyInitializer: classes() - // strategyInitializer: pojos() - // strategyInitializer: mikro() - // strategyInitializer: sequelize() -}; -``` - -## Migrations - -### `skipLibCheck` - -If you haven't had `skipLibCheck: true` in your `tsconfig.json` already, go ahead and do so. - -### `createMapper(CreateMapperOptions)` - -1. `CreateMapperOptions` no longer requires a `name` -2. `CreateMapperOptions` accepts `strategyInitializer` instead of `pluginInitializer` - -```ts -// before -const mapper = createMapper({ - name: 'arbitrary', - pluginInitializer: classes, - /* namingConventions and errorHandler stay the same */ -}); - -// after -const mapper = createMapper({ - strategyInitializer: classes(), - /* namingConventions and errorHandler stay the same */ -}); -``` - -### `createMap()` - -Previously, `createMap()` was a method available on the `Mapper` object (returned by `createMapper()`). Now, `createMap()` is a standalone function instead. - -#### Syntax - -```ts -// before -mapper.createMap(User, UserDto); - -// after -createMap(mapper, User, UserDto); -``` - -#### API - -Previously, `mapper.createMap()` returns a `CreateMapFluentFunctions` which allows you to chain `forMember()` and other methods to customize the `Mapping` you are creating. Now, `createMap()` returns a `Mapping` itself. Customization is provided by using other standalone functions. In AutoMapper 8, we call these functions `MappingConfiguration`. - -```ts -// before -mapper - .createMap(User, UserDto) - .forMember(/* ... */) - .forSelf(/* ... */) - .beforeMap(/* ... */) - .afterMap(/* ... */); - -// after -createMap( - mapper, - User, - UserDto, - forMember(/* ... */), - forSelf(/* ... */), - beforeMap(/* ... */), - afterMap(/* ... */) -); -``` - -This Functional API allows for better tree-shaking and grouping `MappingConfiguration` into reusable functions that you can use on different `createMap()`. - -#### `CreateMapOptions` - -Previously, you can pass in a `CreateMapOptions` to `mapper.createMap()`. Now, those options are provided by different -standalone `MappingConfiguration` as well. - -```ts -// before -mapper.createMap(Base, BaseDto); -mapper.createMap(User, UserDto, { - extend: [mapper.getMapping(Base, BaseDto)], - namingConventions: new PascalCaseNamingConvention(), -}); - -// after -const baseMapping = createMap(mapper, Base, BaseDto); -createMap( - mapper, - User, - UserDto, - extend(baseMapping), - // or you can call: extend(Base, BaseDto) - namingConventions(new PascalCaseNamingConvention()) -); -``` - -### `addProfile()` - -Same as `createMap()`, `addProfile()` was a method on the `Mapper` in previous versions. Now, `addProfile()` is a standalone function - -#### Syntax - -```ts -// before -mapper.addProfile(productProfile).addProfile(userProfile); - -// after -addProfile(mapper, productProfile); -addProfile(mapper, userProfile); -``` - -#### API - -Previously, `mapper.addProfile()` returns the `Mapper` so you can chain `addProfile()`. Now, `addProfile()` is a `void` function. The main difference is `addProfile()` now accepts a list of `MappingConfiguration` as well. The idea is you can have common `MappingConfiguration` that you can pass to ALL the `createMap()` inside of a particular `MappingProfile`. - -```ts -// before -const productProfile: MappingProfile = (mapper) => { - const baseMapping = mapper.getMapping(Base, BaseDto); - const camelCaseConvention = new CamelCaseNamingConvention(); - - const beforeMap = () => { - /* do something common for all Mappings */ - }; - const afterMap = () => { - /* do something common for all Mappings */ - }; - - // duplicate the configurations for all Mappings - mapper - .createMap(Product, ProductDto, { - extend: [baseMapping], - namingConventions: camelCaseConvention, - }) - .beforeMap(beforeMap) - .afterMap(afterMap); - - mapper - .createMap(Product, ProductDetailDto, { - extend: [baseMapping], - namingConventions: camelCaseConvention, - }) - .beforeMap(beforeMap) - .afterMap(afterMap); - - mapper - .createMap(Product, MinimalProductDto, { - extend: [baseMapping], - namingConventions: camelCaseConvention, - }) - .beforeMap(beforeMap) - .afterMap(afterMap); -}; -mapper.addProfile(productProfile); - -// after -const productProfile: MappingProfile = (mapper) => { - createMap(mapper, Product, ProductDto); - createMap(mapper, Product, ProductDetailDto); - createMap(mapper, Product, MinimalProductDto); -}; - -// pass the common configurations to the profile -addProfile( - mapper, - productProfile, - extend(Base, BaseDto), - namingConventions(new CamelCaseNamingConvention()), - beforeMap(() => { - /* do something common for all Mappings */ - }), - afterMap(() => { - /* do something common for all Mappings */ - }) -); -``` - -AutoMapper 8 version is cleaner. How it works is each `MappingProfile` has a `MappingProfileContext` created upon invoked. All the `createMap()` inside a particular `MappingProfile` has access to that `MappingProfileContext` which includes all the common `MappingConfiguration`. - -### `addTypeConverter()` - -Previously, `addTypeConverter()` is a method on the `Mapper` object that allows you to create a converter between two types. The type converter then gets applied to every pair of properties that match the two types. However, type converters added by `addTypeConverter` will be applied for **ALL** mappings, and that might not be the case. - -In AutoMapper 8, `typeConverter()` is a `MappingConfiguration` function that can be passed to `createMap()` (to configure for that `Mapping`) or `addProfile()` (to configure for all mappings inside a `MappingProfile`). There is no equivalence to `Mapper` level type converters in AutoMapper 8. - -```ts -// before -mapper.addTypeConverter(String, Number, (str) => parseInt(str)); - -mapper.createMap(User, UserDto); -mapper.createMap(Product, ProductDto); - -// after -createMap( - mapper, - User, - UserDto, - typeConverter(String, Number, (str) => parseInt(str)) -); -createMap( - mapper, - Product, - ProductDto, - typeConverter(String, Number, (str) => parseInt(str) + 10) -); -``` - -### `map()` - -#### Syntax - -```ts -// before -mapper.map(user, UserDto, User); - -// after -mapper.map(user, User, UserDto); -``` - -This is a subtle breaking change that I've been holding off for a while. The positional arguments for `Source` and `Destination` are now switched to be more logical: "I want to map `sourceObject` from `Source` to `Destination`". This particularly makes it less confusing for `@automapper/pojos` users. - -```ts -// before -mapper.map(user, 'UserDto', 'User'); // weird order - -// after -mapper.map(user, 'User', 'UserDto'); // matching order -``` - -#### API - -##### Mutation - -The **mutation** API of `mapper.map()` has been separated into a whole set of methods on `Mapper`, `mapper.mutate()`. This is to create a clear distinction between `mapping` and `mutating`. - -```ts -// before -const destinationObj = {}; -mapper.map(sourceObj, Destination, Source, destinationObj); - -// after -const destinationObj = {}; -mapper.mutate(sourceObj, destinationObj, Source, Destination); -``` - -The `mapper.mutate()` family has matching APIs with `mapper.map()` - -```ts -mapper.map(); -mapper.mapAsync(); -mapper.mapArray(); -mapper.mapArrayAsync(); - -mapper.mutate(); -mapper.mutateAsync(); -mapper.mutateArray(); -mapper.mutateArrayAsync(); -``` - -##### Extra Arguments - -When invoking a map operation with `mapper.map()`, you have the ability to pass in a `MapOptions` object with a property called: `extraArguments`. This is to allow for passing in dynamic arguments (that are only available at the time the map is invoked) to a particular map operation. - -In AutoMapper 8, `extraArguments` has been renamed to `extraArgs` and is a `Function` instead of just a `Record`. - -```ts -// before -mapper.map(user, UserDto, User, { extraArguments: { extra: 123 } }); - -// after -mapper.map(user, User, UserDto, { - extraArgs: (mapping, destinationObject) => ({ extra: 123 }), -}); -``` - -With `extraArgs` being a function, you will have all the information you need to return a more sophisticated **extra arguments object**. In addition to the `Mapper` and the `sourceObject` that you already have access to (eg: `mapper.map(sourceObject, ...)`), `extraArgs` is called with the `Mapping` and the `destinationObject`, which you don't _easily_ have access to. - -:::caution - -`destinationObject` might **not** be the complete destination object because it might be a particular property's turn with `mapWithArguments`. - -::: - -### `MemberMapFunctions` - -#### `convertUsing` - -The 2nd argument (`Selector`) is now required. - -```ts -// before -const dateToStringConverter: Converter = { - convert(source: User): string { - return source.birthday.toDateString(); - }, -}; -mapper.createMap(User, UserDto).forMember( - (d) => d.birthday, - // 2nd argument is optional. - // If not passed in, convertUsing will call the converter#convert with the whole sourceObject - convertUsing(dateToStringConverter) -); - -// after -const dateToStringConverter: Converter = { - convert(source: Date): string { - return source.toDateString(); - }, -}; -createMap( - mapper, - User, - UserDto, - forMember( - (d) => d.birthday, - // 2nd argument is required. - convertUsing(dateToStringConverter, (src) => src.birthday) - ) -); -``` - -This breaking change encourages better `Converter` usages. In the above example, it makes `dateToStringConverter` easier to reuse. If you have use-cases that use the whole `sourceObject`, consider using `mapFrom(Resolver)` instead. - -## Strategy (previously Plugin) - -Strategy can be customized with `MappingStrategyInitializerOptions` which has the following interface: - -```ts -export interface MappingStrategyInitializerOptions { - applyMetadata?: ApplyMetadata; - destinationConstructor?: DestinationConstructor; - preMap?>(source: TSource): TSource; - postMap?< - TSource extends Dictionary, - TDestination extends Dictionary - >( - source: TSource, - destination: TDestination - ): TDestination; -} - -const mapper = createMapper({ - strategyInitializer: classes({ - applyMetadata, // customize how a Strategy applies the metadata to a model - destinationConstructor, // customize the default constructor of the Destination model - preMap, // customize what to do before a map happens - postMap, // customize what to do after a map happens - }), -}); -``` - -## `@automapper/classes` - -### Initializer - -```ts -// before -const mapper = createMapper({ - pluginInitializer: classes, // no () -}); - -// after -const mapper = createMapper({ - strategyInitializer: classes(), // invoking -}); -``` - -### `AutoMap` - -- `typeFn` has been renamed to `type` - -```ts -// before -@AutoMap({ typeFn: () => User }) - -// after -@AutoMap({ type: () => User }) -``` - -- If you only have `typeFn` in `AutoMapOptions`, you can omit the object altogether - -```ts -// before -@AutoMap({ typeFn: () => User }) - -// after -@AutoMap(() => User) -``` - -- Default `depth` is set to 1 instead of 0. -- `AutoMap` now warns if it cannot infer the type of the property. If you have dynamic type like `any`, `Record`, or something similar, please configure the property via `forMember()`. -- Array metadata is now required to be explicitly specified - -```ts -// before -export class User { - @AutoMap({ typeFn: () => Address }) - addresses: Address[]; -} - -// after -export class User { - @AutoMap(() => [Address]) - addresses: Address[]; -} -``` - -## `@automapper/pojos` - -### Initializer - -```ts -// before -const mapper = createMapper({ - pluginInitializer: pojos, // no () -}); - -// after -const mapper = createMapper({ - strategyInitializer: pojos(), // invoking -}); -``` - -### `createMetadataMap()` - -- Has been replaced with `PojosMetadataMap.create()` - - Accepts `string | symbol` for the key instead of just `string` - - No longer accepts `null` for metadata. - - No longer allows for "extending" previously created metadata. Explicit is better in the case of metadata. -- `PojosMetadataMap.reset()` has been added to clear all the stored metadata (useful for the testing environment) - -```ts -// before -createMetadataMap('SimpleUser', { - firstName: String, - lastName: String, -}); -createMetadataMap('SimpleUserDto', 'SimpleUser', { - fullName: String, -}); - -// after -PojosMetadataMap.create('SimpleUser', { - firstName: String, - lastName: String, -}); -PojosMetadataMap.create('SimpleUserDto', { - firstName: String, - lastName: String, - fullName: String, -}); -``` - -> If you want to share `firstName` and `lastName`, you can always make an object and spread it. - -- Array metadata is now required to be explicitly specified - -```ts -export interface User { - addresses: Address[]; -} - -// before -createMetadataMap('User', { - addresses: 'Address', -}); - -// after -PojosMetadataMap.create('User', { - addresses: ['Address'], -}); -``` - -## NestJS - -### `AutomapperModule.forRoot` - -```ts -// before -AutomapperModule.forRoot({ - singular: true, - options: [ - { - pluginInitializer: classes, - namingConventions: new CamelCaseNamingConvention(), - }, - ], - globalErrorHandler, - globalNamingConventions, -}); - -AutomapperModule.forRoot({ - options: [ - { - name: 'classes', - pluginInitializer: classes, - }, - { - name: 'pojos', - pluginInitializer: pojos, - }, - ], - globalErrorHandler, - globalNamingConventions: new CamelCaseNamingConvention(), -}); - -// after -AutomapperModule.forRoot({ - strategyInitializer: classes(), - namingConventions: new CamelCaseNamingConvention(), -}); -AutomapperModule.forRoot( - [ - { - name: 'classes', - strategyInitializer: classes(), - }, - { - name: 'pojos', - strategyInitializer: pojos(), - }, - ], - { - globalErrorHandler, - globalNamingConventions: new CamelCaseNamingConvention(), - } -); -``` - -### `AutomapperModule.forRootAsync` - -```ts -import { EntityManager } from '@mikro-orm/mongodb'; - -AutomapperModule.forRootAsync({ - inject: [EntityManager], - useFactory: (em: EntityManager) => ({ - strategyInitializer: classes({ - destinationConstructor: (sourceObject, destinationIdentifier) => - em.create(destinationIdentifier, {}), - }), - }), -}); -``` - -### `AutomapperProfile` - -- `mapProfile` has been changed to `get profile` - -```ts -@Injectable() -export class UserProfile extends AutomapperProfile { - constructor(@InjectMapper() mapper: Mapper) { - super(mapper); - } - - // before - override mapProfile(): MappingProfile { - return (mapper) => { - mapper.createMap(/*...*/); - }; - } - - // after - override get profile(): MappingProfile { - return (mapper) => { - createMap(mapper /*...*/); - }; - } -} -``` - -- A new getter `get mappingConfigurations` that returns a `MappingConfiguration[]` to be passed to all `createMap()` inside the Profile - -```ts -@Injectable() -export class UserProfile extends AutomapperProfile { - constructor(@InjectMapper() mapper: Mapper) { - super(mapper); - } - - get profile(): MappingProfile { - return (mapper) => { - createMap(mapper, UserEntity, UserDto); - createMap(mapper, UserEntity, UserInformationDto); - createMap(mapper, UserEntity, AuthUserDto); - }; - } - - protected get mappingConfigurations(): MappingConfiguration[] { - // the 3 createMap() above will get this `extend()` - return [extend(BaseEntity, BaseDto)]; - } -} -``` - -### `MapPipe` - -```ts -export class SomeController { - // before - @Post() - someMethod(@Body(MapPipe(UserDto, User)) dto: UserDto) { - /*..*/ - } - - // after - @Post() - someMethod(@Body(MapPipe(User, UserDto)) dto: UserDto) { - /*..*/ - } -} -``` - -### `MapInterceptor` - -```ts -export class SomeController { - // before - @Get() - @UseInterceptors(MapInterceptor(UserDto, User)) - get() { - /*...*/ - } - - // after - @Get() - @UseInterceptors(MapInterceptor(User, UserDto)) - get() { - /*...*/ - } -} -``` diff --git a/packages/documentation/docs/getting-started/overview.mdx b/packages/documentation/docs/getting-started/overview.mdx deleted file mode 100644 index 23cddbd4e..000000000 --- a/packages/documentation/docs/getting-started/overview.mdx +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: overview -title: Overview -sidebar_label: Overview -sidebar_position: 1 ---- - -## What is AutoMapper? - -AutoMapper (TypeScript) is an object-object mapper by _convention_. When two objects' models are _conventionally matching_, AutoMapper can map the two objects with almost zero mapping configuration. - -## Why use AutoMapper? - -Writing code for mapping (especially when they are _conventionally matching_) is boring; writing tests for these mappings is even more boring. With AutoMapper, you can automate these tasks and separate the logic of transforming one Object Type to another. - -However, AutoMapper is an _opinionated_ tool. While mapping configuration is an essential API of AutoMapper that provides customizations, you are probably better off **not** using AutoMapper if you find your mappings are mostly _manual_ mapping configurations. - -[Jimmy Bogard](https://jimmybogard.com/), the author of .NET AutoMapper, writes a [blog post](https://jimmybogard.com/automappers-design-philosophy/) to express his design philosophy when he worked on .NET AutoMapper. The summary is below - -> AutoMapper works because it enforces a convention. It assumes that your destination types are a subset of the source type. It assumes that everything on your destination type is meant to be mapped. It assumes that the destination member names follow the exact name of the source type. It assumes that you want to flatten complex models into simple ones.

-> All of these assumptions come from our original use case - view models for MVC, where all of those assumptions are in line with our view model design. With AutoMapper, we could enforce our view model design philosophy. This is the true power of conventions - laying down a set of enforceable design rules that help you streamline development along the way.

-> By enforcing conventions, we let our developers focus on the value add activities, and less on the activities that provided zero or negative value, like designing bespoke view models or writing a thousand dumb unit tests.

-> And this is why our usage of AutoMapper has stayed so steady over the years - because our design philosophy for view models hasn't changed. If you find yourself hating a tool, it's important to ask - for what problems was this tool designed to solve? And if those problems are different than yours, perhaps that tool isn't a good fit. - -## Ecosystem - -AutoMapper comes with a `core` library and many **strategies** that allow you to work with different use-case in your JS/TS projects. - -### Core - -As the name suggests, `@automapper/core` deals with tracking models' metadata, setting up mapping configurations, storing Mappings, and executing the mapping operations between the models. - -### Strategies - -| Strategy | Description | -| ----------------------- | --------------------------------------------------------------- | -| `@automapper/classes` | Works with TS/ES6 Class | -| `@automapper/pojos` | Works with plain objects and Interface | -| `@automapper/mikro` | Works with TS/ES6 Class and [MikroORM](https://mikro-orm.io/) | -| `@automapper/sequelize` | Works with TS/ES6 Class and [Sequelize](https://sequelize.org/) | - -### NestJS - -AutoMapper has an official integration with [NestJS](https://nestjs.com) framework with the `@automapper/nestjs` package. diff --git a/packages/documentation/docs/mapping-configuration/after-map.mdx b/packages/documentation/docs/mapping-configuration/after-map.mdx deleted file mode 100644 index 41d20248c..000000000 --- a/packages/documentation/docs/mapping-configuration/after-map.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: after-map -title: AfterMap -sidebar_label: AfterMap -sidebar_position: 3 ---- - -As the name suggests, `afterMap()` sets up a `MapCallback` to be called **after** the map operation. - -## Configure on `Mapping` - -Pass `afterMap()` in `createMap()` to sets up the `MapCallback` - -```ts -createMap( - mapper, - User, - UserDto, - afterMap((source, destination) => {}) -); -``` - -## Configure on `map()` - -Pass `afterMap` in `MapOptions` when calling `map()` to sets up the `MapCallback` - -```ts -mapper.map(user, User, UserDto, { - afterMap: (source, destination) => {}, -}); -``` - -:::info - -- `afterMap()` on `map()` has precedence over `Mapping` -- For `mapArray` (and its variants), `afterMap()` on `Mapping` is **ignored** because it would be bad for performance if we run `afterMap` for each and every item of the array. `afterMap()` on `mapArray()` will be invoked with `(sourceArray, destinationArray)` instead - -::: - -## Async Mapping - -One of the common use-cases of `afterMap` is to execute some asynchronous operation. Let's assume our `Destination` have some property whose value can only be computed from an asynchronous operation, we can leverage `mapAsync()` and `afterMap()` for it. - -```ts -createMap( - mapper, - User, - UserDto, - // 👇 We are fetching the "fullName" manually - // 👇 👇 so we need to ignore it - forMember((d) => d.fullName, ignore()), - afterMap(async (source, destination) => { - const fullName = await fetchFullName(source); - Object.assign(destination, { fullName }); - }) -); - -// 👇 mapAsync is needed if we use the above "trick" with afterMap -const dto = await mapper.mapAsync(user, User, UserDto); -``` - -:::caution - -Simple asynchronous operations should be fine with this approach. However due to [Fake Async](../misc/fake-async), we should **NOT** use AutoMapper for a particular pair of models if those models require some heavy and complex asynchronous operations. - -::: - -## What about `postMap`? - -When create the `Mapper`, we can customize the `postMap` function on the `MappingStrategy`. The differences between `postMap` and `afterMap` are: - -- `postMap` runs after every **map** operation -- There is only one `postMap` per `Mapper` -- `postMap` runs **AFTER** `afterMap` diff --git a/packages/documentation/docs/mapping-configuration/auto-map.mdx b/packages/documentation/docs/mapping-configuration/auto-map.mdx deleted file mode 100644 index 30438fd13..000000000 --- a/packages/documentation/docs/mapping-configuration/auto-map.mdx +++ /dev/null @@ -1,57 +0,0 @@ ---- -id: auto-map -title: AutoMap -sidebar_label: AutoMap -sidebar_position: 2 ---- - -`autoMap()` is an alternative to the `@AutoMap()` decorator. It trivially maps a property with the **same name and type** on the `Source` and `Destination` objects. - -## Decoratorless entities and DTOs - -Use this specially when your entities and DTOs cannot have the `@AutoMap()` decorator (e.g. when using **constructor assignments**), or when you would rather avoid them: - -```ts -import { - autoMap, - createMap, - forMember, - mapFrom, - Mapper, -} from '@automapper/core'; -export class DecoratorlessUserEntity { - constructor( - public readonly firstName: string, - public readonly lastName: string, - public readonly birthday: Date - ) {} -} -export class DecoratorlessUserDto { - firstName!: string; - lastName!: string; - birthday!: string; - fullName!: string; -} -export function decoratorlessUserProfile(mapper: Mapper) { - createMap( - mapper, - DecoratorlessUserEntity, - DecoratorlessUserDto, - // Use `autoMap()` on properties that can be trivially mapped. - autoMap('firstName'), - autoMap('lastName'), - // Use more elaborate mapping configurations when necessary: - // 'birthday' exists on both `Source` and `Destination`, but with - // different types. - forMember( - (d) => d.birthday, - mapFrom((s) => s.birthday.toDateString()) - ), - // 'fullName' doesn't exist on `Source` and must be mapped manually. - forMember( - (d) => d.fullName, - mapFrom((s) => `${s.firstName} ${s.lastName}`) - ) - ); -} -``` diff --git a/packages/documentation/docs/mapping-configuration/before-map.mdx b/packages/documentation/docs/mapping-configuration/before-map.mdx deleted file mode 100644 index 86cd2981b..000000000 --- a/packages/documentation/docs/mapping-configuration/before-map.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: before-map -title: BeforeMap -sidebar_label: BeforeMap -sidebar_position: 4 ---- - -As the name suggests, `beforeMap()` sets up a `MapCallback` to be called **before** the map operation. - -## Configure on `Mapping` - -Pass `beforeMap()` in `createMap()` to sets up the `MapCallback` - -```ts -createMap( - mapper, - User, - UserDto, - beforeMap((source, destination) => {}) -); -``` - -## Configure on `map()` - -Pass `beforeMap` in `MapOptions` when calling `map()` to sets up the `MapCallback` - -```ts -mapper.map(user, User, UserDto, { - beforeMap: (source, destination) => {}, -}); -``` - -:::info - -- `beforeMap()` on `map()` has precedence over `Mapping` -- For `mapArray` (and its variants), `beforeMap()` on `Mapping` is **ignored** because it would be bad for performance if we run `beforeMap` for each and every item of the array. `beforeMap()` on `mapArray()` will be invoked with `(sourceArray, [])` instead - -::: - -## What about `preMap`? - -When create the `Mapper`, we can customize the `preMap` function on the `MappingStrategy`. The differences between `preMap` and `beforeMap` are: - -- `preMap` runs before every **map** operation -- There is only one `preMap` per `Mapper` -- `preMap` runs **BEFORE** `beforeMap` diff --git a/packages/documentation/docs/mapping-configuration/construct-using.mdx b/packages/documentation/docs/mapping-configuration/construct-using.mdx deleted file mode 100644 index 727e09ea2..000000000 --- a/packages/documentation/docs/mapping-configuration/construct-using.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: construct-using -title: ConstructUsing -sidebar_label: ConstructUsing -sidebar_position: 5 ---- - -Call `constructUsing()` and pass in a `DestinationConstructor` to customize how AutoMapper should construct the `Destination` before every map operation against that `Destination`. - -```ts -createMap( - mapper, - User, - UserDto, // 👈 --the destination modifier--👇 - constructUsing((sourceObject, destinationIdentifier) => { - // sourceObject is the data when run: mapper.map(sourceObject...); - }) -); -``` - -:::info - -All built-in `MappingStrategy` should have a default `destinationConstructor` (e.g: `@automapper/classes` default is `new Destination()`). - -::: diff --git a/packages/documentation/docs/mapping-configuration/extend.mdx b/packages/documentation/docs/mapping-configuration/extend.mdx deleted file mode 100644 index 4d823efd5..000000000 --- a/packages/documentation/docs/mapping-configuration/extend.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: extend -title: Extend -sidebar_label: Extend -sidebar_position: 6 ---- - -Call `extend()` and pass in either a `Mapping` or a pair of models to tell AutoMapper to extend the `MappingProperties` to the `Mapping` we are creating - -```ts -const baseMapping = createMap(mapper, Base, BaseDto); -createMap( - // 👆 the Mapping we are creating - mapper, - User, - UserDto, // 👇 the Mapping we are extending - extend(baseMapping) -); - -// or -createMap(mapper, User, UserDto, extend(Base, BaseDto)); -``` - -:::tip - -We can still override the extended `MappingProperties` with `forMember()` **after** the `extend()` - -::: diff --git a/packages/documentation/docs/mapping-configuration/for-member/condition.mdx b/packages/documentation/docs/mapping-configuration/for-member/condition.mdx deleted file mode 100644 index fba10c262..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/condition.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: condition -title: Condition -sidebar_label: Condition -sidebar_position: 4 ---- - -Call `condition()` to _conditionally_ execute the auto-map operation for the property (e.g: `Source#propertyName -> Destination#propertyName`) by passing in a `predicateFn` that will be called with the `sourceObject` - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.petName, - condition((source) => source.hasPet) - ) -); -``` - -If `source.hasPet` is evaluated to truthy, then `destination.petName` will be mapped with `source.petName`. Otherwise, `destination.petName` will be `undefined`. - -## Default Value - -`condition()` accepts an optional `defaultValue`. In the case that the `predicateFn` is evaluated to falsy, the `defaultValue` will be used to mapped to the configured property instead of `undefined` - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.petName, - condition((source) => source.hasPet, 'default pet name') - ) -); -``` - -`condition()` sets the `TransformationType` to `TransformationType.Condition` diff --git a/packages/documentation/docs/mapping-configuration/for-member/convert-using.mdx b/packages/documentation/docs/mapping-configuration/for-member/convert-using.mdx deleted file mode 100644 index 796ad6c78..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/convert-using.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -id: convert-using -title: ConvertUsing -sidebar_label: ConvertUsing -sidebar_position: 7 ---- - -Call `convertUsing()` and pass in a `Converter` to map the configured property with the `Converter#convert` method. - -```ts -export interface Converter { - convert(source: TheSource): TheResult; -} -``` - -`Converter` can be used to extract common logic where we want to map one data type to another. `Converter` can be reused across different Mappings in the application. For example, we might have a `dateToStringConverter` - -```ts -export const dateToStringConverter: Converter = { - convert(source) { - // maybe handle validation, additional parsing, or format here - return source.toDateString(); - }, -}; - -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.birthday, - convertUsing(dateToStringConverter, (source) => source.birthday) - ) -); -``` - -:::tip - -If we have simple logic, we can use [Type Converter](../type-converters) to also map from one data type to another on the Mapping level instead of `convertUsing` on the property level. - -::: - -`convertUsing()` sets the `TransformationType` to `TransformationType.ConvertUsing` diff --git a/packages/documentation/docs/mapping-configuration/for-member/from-value.mdx b/packages/documentation/docs/mapping-configuration/for-member/from-value.mdx deleted file mode 100644 index 4ca2f4491..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/from-value.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: from-value -title: FromValue -sidebar_label: FromValue -sidebar_position: 5 ---- - -Call `fromValue()` and pass in a raw value to map to the configured property. If we pass in an object, the object will be mapped as-is without any consideration for nested Mapping. - -```ts -createMap( - mapper, - User, - UserDto, - forMember((destination) => destination.fullName, fromValue('John Doe')) -); -``` - -`fromValue()` sets the `TransformationType` to `TransformationType.FromValue` diff --git a/packages/documentation/docs/mapping-configuration/for-member/ignore.mdx b/packages/documentation/docs/mapping-configuration/for-member/ignore.mdx deleted file mode 100644 index 5760788fa..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/ignore.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: ignore -title: Ignore -sidebar_label: Ignore -sidebar_position: 2 ---- - -Call `ignore()` on a property to skip the map operation for the property while still mark the property as _configured_. This ultimately prevents the ignored property from being checked by `assertUnmappedProperties()` and makes the property `undefined` - -```ts -createMap( - mapper, - User, - UserDto, - forMember((d) => d.fullName, ignore()) -); -``` - -`ignore()` sets the `TransformationType` to `TransformationType.Ignore` diff --git a/packages/documentation/docs/mapping-configuration/for-member/map-defer.mdx b/packages/documentation/docs/mapping-configuration/for-member/map-defer.mdx deleted file mode 100644 index 1ddebada7..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/map-defer.mdx +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: map-defer -title: MapDefer -sidebar_label: MapDefer -sidebar_position: 11 ---- - -`mapDefer()` is a _special_ type of `MemberMapFunction` that can be used to _defer_ another `MemberMapFunction` based on some logic in `forMember()` - -Call `mapDefer()` and pass in the `DeferFunction` which will be called with the `sourceObject`. We can then use this `sourceObject` and return another `MemberMapFunction` - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.profile, - mapDefer((source) => { - if (source.profile.type === 'A') - return mapWith( - ProfileDto, - ProfileA, - (source) => source.profile - ); - return mapWith(ProfileDto, Profile, (source) => source.profile); - }) - ) -); -``` - -`mapDefer()` sets the `TransformationType` to `TransformationType.MapDefer` diff --git a/packages/documentation/docs/mapping-configuration/for-member/map-from.mdx b/packages/documentation/docs/mapping-configuration/for-member/map-from.mdx deleted file mode 100644 index cb580a393..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/map-from.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: map-from -title: MapFrom -sidebar_label: MapFrom -sidebar_position: 3 ---- - -Call `mapFrom()` to select the value, from the `sourceObject`, to map to the property being configured - -## Value Selector - -`mapFrom()` accepts a `ValueSelector` that AutoMapper will use to get the value from the `sourceObject` upon mapping the configured property - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (d) => d.fullName, - mapFrom((source) => source.firstName + ' ' + source.lastName) - ) -); -``` - -## Value Resolver - -A slightly less common approach is to use a `Resolver` with `mapFrom()`. `Resolver` has the following interface: - -```ts -export interface Resolver { - resolve(source: TheSource, destination?: TheDestination): TheReturnType; -} -``` - -`Resolver#resolve()` is called with the whole `sourceObject` and the `destinationObject` which allows us to handle some complex logic to arrive at the result for the configured property. We can reuse `Resolver` as well as separating `Resolver` in a different file to manage easier. - -```ts -export const taxResolver: Resolver = { - resolve(item): number { - return item.type === 'A' ? item.price * 0.5 : item.price * 0.9; - }, -}; - -createMap( - mapper, - Item, - ItemDto, - forMember((d) => d.tax, mapFrom(taxResolver)) -); -``` - -`mapFrom()` sets the `TransformationType` to `TransformationType.MapFrom` diff --git a/packages/documentation/docs/mapping-configuration/for-member/map-with-arguments.mdx b/packages/documentation/docs/mapping-configuration/for-member/map-with-arguments.mdx deleted file mode 100644 index a0a4d4e2c..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/map-with-arguments.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: map-with-arguments -title: MapWithArguments -sidebar_label: MapWithArguments -sidebar_position: 10 ---- - -Call `mapWithArguments()` to map the configured property with extra arguments at the time the map operation occurs (aka `mapper.map()`) - -All `map()` and `mutate()` variants accept an optional `MapOptions` that we can use to pass in `extraArgs` which `mapWithArguments` will have access to. - -## Value Selector - -`mapWithArguments()` accepts a `ValueSelector` that AutoMapper will use to get the value from the `sourceObject` and the `extraArguments` upon mapping the configured property - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.fullName, - mapWithArguments((source, { someArgument }) => { - return getFullName(source, someArgument); - }) - ) -); - -mapper.map(user, User, UserDto, { extraArgs: () => ({ someArgument: 'foo' }) }); -``` - -## Value Resolver - -We can also pass in a `Resolver` to `mapWithArguments` - -```ts -export const taxResolver: Resolver = { - resolve(source, { percentage }) { - return source.price * percentage; - }, -}; - -createMap( - mapper, - Item, - ItemDto, - forMember((destination) => destination.tax, mapWithArguments(taxResolver)) -); - -mapper.map(item, Item, ItemDto, { extraArgs: () => ({ percentage: 0.5 }) }); -``` - -`mapWithArguments()` sets the `TransformationType` to `TransformationType.MapWithArguments` diff --git a/packages/documentation/docs/mapping-configuration/for-member/map-with.mdx b/packages/documentation/docs/mapping-configuration/for-member/map-with.mdx deleted file mode 100644 index 8bfc602d0..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/map-with.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: map-with -title: MapWith -sidebar_label: MapWith -sidebar_position: 6 ---- - -In some cases where AutoMapper fails to auto-map nested models, call `mapWith()` to take over this operation for the configured property. - -`mapWith()` accepts 3 arguments: - -- `withDestination`: the `NestedDestination` model to map to -- `withSource`: the `NestedSource` model to map from -- `withSourceValue`: the `ValueSelector` to select a property from the parent `sourceObject` whose value is the `NestedSource` - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.profile, - mapWith(ProfileDto, Profile, (source) => source.profile) - ) -); -``` - -:::tip - -In the case where the property on `Destination` has a different name than `Source` (e.g: `Source.originalProfile` vs `Destination.otherProfile`), we can use `mapWith()` as well. Although it is possible and valid, we should avoid this case because it is against the _Convention_ - -::: - -:::info - -`mapWith()` calls the normal map operation for `NestedSource` and `NestedDestination`. In other words, it is the same as we call `mapper.map(nestedSourceObject, NestedSource, NestedDestination) ourselves. - -::: - -`mapWith()` sets the `TransformationType` to `TransformationType.MapWith` diff --git a/packages/documentation/docs/mapping-configuration/for-member/null-substitution.mdx b/packages/documentation/docs/mapping-configuration/for-member/null-substitution.mdx deleted file mode 100644 index f2f225d0a..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/null-substitution.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: null-substitution -title: NullSubstitution -sidebar_label: NullSubstitution -sidebar_position: 8 ---- - -Call `nullSubstitution()` and pass in a raw value to map to the configured property in the case of the same property on `Source` is `null`. If we pass in an object, AutoMapper will map the object as-is without any consideration for nested mapping. - -:::info - -AutoMapper uses strict equality check against `null` (`=== null`) to make the comparison. Hence, `undefined` value will **not** be substituted. - -::: - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.fullName, - nullSubstitution('raw value') - ) -); - -const user = { fullName: null }; -mapper.map(user, User, UserDto); // UserDto { fullName: 'raw value' } -``` - -`nullSubstitution()` sets the `TransformationType` to `TransformationType.NullSubstitution` diff --git a/packages/documentation/docs/mapping-configuration/for-member/overview.mdx b/packages/documentation/docs/mapping-configuration/for-member/overview.mdx deleted file mode 100644 index 36b030fa2..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/overview.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: overview -title: Overview -sidebar_label: Overview -sidebar_position: 1 ---- - -Call `forMember()` and pass in a `Selector` along with a `MemberMapFunction` to customize the [MappingTransformation](../../fundamentals/mapping#mappingtransformation) of a particular property on the `Destination` - -
- ForMember gif to showcase developer experience -
- - forMember() is strongly-typed, providing good developer - experience with autocomplete - -
-
- -:::caution - -To iterate once again, if the Mapping has a lot of `forMember()`, it is time to re-evaluate the models. - -::: - -## PreCondition - -Call `preCondition()` before a `MemberMapFunction` will tell AutoMapper to do a pre-check against some condition before executing the `MemberMapFunction`. - -`preCondition()` takes a `predicateFn` that will be called with the `sourceObject` and an optional `defaultValue` that will be assigned to the configured property if `preCondtion()` check yields falsy - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.fullName, - preCondition((source) => source.age > 10, 'default full name'), - mapFrom(fullNameResolver) - ) -); -``` diff --git a/packages/documentation/docs/mapping-configuration/for-member/undefined-substitution.mdx b/packages/documentation/docs/mapping-configuration/for-member/undefined-substitution.mdx deleted file mode 100644 index 2ff514371..000000000 --- a/packages/documentation/docs/mapping-configuration/for-member/undefined-substitution.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: undefined-substitution -title: UndefinedSubstitution -sidebar_label: UndefinedSubstitution -sidebar_position: 9 ---- - -Call `undefinedSubstitution()` and pass in a raw value to map to the configured property in the case of the same property on `Source` is `undefined`. If we pass in an object, AutoMapper will map the object as-is without any consideration for nested mapping. - -:::info - -AutoMapper uses strict equality check against `undefined` (`=== undefined`) to make the comparison. Hence, `null` value will **not** be substituted. - -::: - -```ts -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.fullName, - undefinedSubstitution('raw value') - ) -); - -mapper.map({}, User, UserDto); // UserDto { fullName: 'raw value' } -``` - -`undefinedSubstitution()` sets the `TransformationType` to `TransformationType.UndefinedSubstitution` diff --git a/packages/documentation/docs/mapping-configuration/for-self.mdx b/packages/documentation/docs/mapping-configuration/for-self.mdx deleted file mode 100644 index b43d05d1e..000000000 --- a/packages/documentation/docs/mapping-configuration/for-self.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -id: for-self -title: ForSelf -sidebar_label: ForSelf -sidebar_position: 8 ---- - -In previous sections, we've learned that we can have [Auto Flattening](../fundamentals/auto-flattening) with [Naming Conventions](../fundamentals/naming-convention). - -Let's assume we have the following models - -```ts -class Item { - @AutoMap() - name: string; - @AutoMap() - price: number; - @AutoMap() - stock: number; -} - -class CartItem { - @AutoMap(() => Item) - item: Item; - @AutoMap() - quantity: number; -} - -class CartItemDto { - @AutoMap() - itemName: string; - @AutoMap() - itemPrice: number; - @AutoMap() - quantity: number; - - get total() { - return this.price * this.quantity; - } -} -``` - -From [Auto Flattening](../fundamentals/auto-flattening) documentation, we know that `CartItemDto.itemName` will be mapped automatically from `CartItem.item.name` and `CartItemDto.itemPrice` will be mapped automatically from `CartItem.item.price`. - -While that works, we want to keep out DTOs cleaner sometimes without having to prefix some fields to achieve Auto Flattening. Let's adjust our models a little - -```ts -class Item { - @AutoMap() - name: string; - @AutoMap() - price: number; - @AutoMap() - stock: number; -} - -class CartItem { - @AutoMap(() => Item) - item: Item; - @AutoMap() - quantity: number; -} - -class CartItemDto { - // highlight-start - @AutoMap() - name: string; - @AutoMap() - price: number; - // highlight-end - @AutoMap() - quantity: number; - - get total() { - return this.price * this.quantity; - } -} -``` - -There are two approaches we can go about this - -1. Use `forMember()` explicitly - -```ts -createMap( - mapper, - CartItem, - CartItemDto, - forMember( - (destination) => destination.name, - mapFrom((source) => source.item.name) - ), - forMember( - (destination) => destination.price, - mapFrom((source) => source.item.price) - ) -); -``` - -2. Use `forSelf()` - -Call `forSelf()` and pass in the nested model so AutoMapper will map the matching properties between the `Destination` and that nested model. In other words, AutoMapper creates a Mapping between the nested model and `Destination` then have the original Mapping extend it. The second argument lets AutoMapper knows where to find the data whose value is of type nested model. - -```ts -createMap( - mapper, - CartItem, - CartItemDto, - forSelf(Item, (source) => source.item) -); -``` - -:::tip - -`forSelf()` also accepts a `Mapping` instead of just the nested model. - -```ts -const mapping = createMap(mapper, Item, CartItemDto); -createMap( - mapper, - CartItem, - CartItemDto, - forSelf(mapping, (source) => source.item) -); -``` - -::: diff --git a/packages/documentation/docs/mapping-configuration/naming-conventions.mdx b/packages/documentation/docs/mapping-configuration/naming-conventions.mdx deleted file mode 100644 index 72d340ee7..000000000 --- a/packages/documentation/docs/mapping-configuration/naming-conventions.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: naming-conventions -title: NamingConventions -sidebar_label: NamingConventions -sidebar_position: 9 ---- - -Call `namingConventions()` and pass in a `NamingConventionInput` to customize the Mapping's [NamingConvention](../fundamentals/naming-convention) - -```ts -export type NamingConventionInput = - | NamingConvention - | { - source: NamingConvention; - destination: NamingConvention; - }; -``` - -```ts -createMap( - mapper, - User, - UserDto, - namingConventions(new CamelCaseNamingConvention()) -); - -createMap( - mapper, - Product, - ProductDto, - namingConventions({ - source: new SnakeCaseNamingConvention(), - destination: new CamelCaseNamingConvention(), - }) -); -``` diff --git a/packages/documentation/docs/mapping-configuration/overview.mdx b/packages/documentation/docs/mapping-configuration/overview.mdx deleted file mode 100644 index 8826f77d0..000000000 --- a/packages/documentation/docs/mapping-configuration/overview.mdx +++ /dev/null @@ -1,89 +0,0 @@ ---- -id: overview -title: Overview -sidebar_label: Overview -sidebar_position: 1 ---- - -## Convention over Configuration - -AutoMapper does have _Auto_ in its name. If we follow closely _Conventions_, we rarely need `MappingConfiguration`. - -As we have already seen in previous examples, matching properties are mapped automatically as long as the metadata is provided. - -```ts -class User { - @AutoMap() - firstName!: string; - @AutoMap() - lastName!: string; -} - -class UserDto { - @AutoMap() - firstName!: string; - @AutoMap() - lastName!: string; -} -``` - -Nested models are also _auto-mapped_. - -```ts -class Address { - @AutoMap() - street!: string; -} - -class Bio { - @AutoMap() - text!: string; - @AutoMap(() => [Address]) - addresses: Address[] = []; -} - -class User { - @AutoMap(() => Bio) - bio!: Bio; -} - -class AddressDto { - @AutoMap() - street!: string; -} - -class BioDto { - @AutoMap() - text!: string; - @AutoMap(() => [AddressDto]) - addresses: AddressDto[] = []; -} - -class UserDto { - @AutoMap(() => BioDto) - bio!: BioDto; -} -``` - -In addition, there is [Auto Flattening](../fundamentals/auto-flattening). These features should encourage us to stay as close to the conventions as possible. - -## Custom Configuration - -`MappingConfiguration` are functions that augment a `Mapping`. When creating a `Mapping` with `createMap()`, we can pass in as many `MappingConfiguration` as we like and in any order that we want. - -| mapping configuration | description | -| --------------------- | ----------------------------------------------------------------------- | -| `afterMap()` | Attach a `MapCallback` to run after the map operation | -| `beforeMap()` | Attach a `MapCallback` to run before the map operation | -| `constructUsing()` | Set a custom constructor for the `Destination` before the map operation | -| `extend()` | Extend another `Mapping` | -| `forMember()` | Configure a `MappingTransformation` for a property on the `Destination` | -| `forSelf()` | Configure flattening for `Destination` from a different `Source` | -| `namingConventions()` | Configure the `NamingConvention` for this `Mapping` | -| `typeConverters()` | Configure the `TypeConverter` for this `Mapping` | - -:::caution - -If the Mapping have an absurd amount of custom `MappingConfiguration`, it's time to re-evaluate the models or if AutoMapper is the right tool for the project. - -::: diff --git a/packages/documentation/docs/mapping-configuration/type-converters.mdx b/packages/documentation/docs/mapping-configuration/type-converters.mdx deleted file mode 100644 index 1a14063e0..000000000 --- a/packages/documentation/docs/mapping-configuration/type-converters.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -id: type-converters -title: TypeConverters -sidebar_label: TypeConverters -sidebar_position: 10 ---- - -## What is Type Converter? - -Sometimes, we would want to take complete control over the conversion of one data type to another. Suppose we have the following model: - -```ts -export class Source { - @AutoMap() - value1!: string; - @AutoMap() - value2!: string; - @AutoMap() - value3!: string; -} -``` - -and we would like to map it to: - -```ts -export class Destination { - @AutoMap() - value1!: number; - @AutoMap() - value2!: Date; - @AutoMap() - value3!: boolean; -} -``` - -If we were to try and map `Source` to `Destination` as-is, we would end up with mismatch values and types on the `Destination`. For example, `Source.value1` will be mapped to `Destination.value1` even though the types of each `value1` are different. Instead of throwing an error, AutoMapper will map as-is to respect the dynamic nature of JavaScript. To control the conversions for these types when the properties are _matching_, we need to supply Type Converters to a specific Mapping - -Call `typeConverter()` in a `createMap()` to supply a Type Converter to the Mapping - -```ts -createMap( - mapper, - Source, - Destination, - typeConverter(String, Date, (str) => new Date(str)), - typeConverter(String, Number, (str) => parseInt(str, 10)), - typeConverter(String, Boolean, (str) => Boolean(str)) -); -``` - -Here, we're telling AutoMapper: - -- If you are mapping from a `String` to a `Number`, use `parseInt()` -- If you are mapping from a `String` to a `Date`, use `new Date()` -- If you are mapping from a `String` to a `Boolean`, use `Boolean()` - -```ts -const source = new Source(); -source.value1 = '123'; -source.value2 = '10/14/1991'; -source.value3 = 'truthy'; - -const destination = mapper.map(source, Destination, Source); -/** - * Destination { - value1: 123, // number - value2: Mon Oct 14 1991 00:00:00 GMT-0500 (Central Daylight Time), // a Date instance - value3; true // boolean - * } - */ -``` - -:::caution - -Properties (on the Destination) that are subject to Type Converters will be treated as-is in the mapping pipeline. In other words, they will be mapped like a primitive and will **NOT** go through any automatic nested mapping even if the properties' types are **Object** types. - -::: - -## Type of Type Converters - -There are 4 types of Type Converters: - -- `Type -> Type`: This is what we've just used above. A single Type to another single Type -- `Type -> [Type]`: AutoMapper can also set up Type Converter from a single Type to an Array Type. -- `[Type] -> Type`: The opposite is also true -- `[Type] -> [Type]`: Last but not least, AutoMapper can set up Type Converter between two Array Types. - -```ts -// a more complex example -createMap( - mapper, - TypeConverter, - TypeConverterDto, - typeConverter(String, Number, (str) => parseInt(str) + 1), - typeConverter(String, Boolean, (str) => Boolean(str)), - typeConverter(String, Date, (str) => new Date(str)), - typeConverter([String], [Number], (manyStrs) => - manyStrs.map((str) => parseInt(str)) - ), - typeConverter(DateString, String, (dateStr) => dateStr.toDateString()), - typeConverter(TimestampString, String, (timestampStr) => - timestampStr.toISOString() - ) -); -``` diff --git a/packages/documentation/docs/misc/fake-async.mdx b/packages/documentation/docs/misc/fake-async.mdx deleted file mode 100644 index d81a05062..000000000 --- a/packages/documentation/docs/misc/fake-async.mdx +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: fake-async -title: Fake Async -sidebar_label: Fake Async -sidebar_position: 4 ---- - -## "Fake" Async - -Currently, AutoMapper is manipulating the [Event Loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop) to provide a "fake" async support for the `mapAsync()` and `mutateAsync()` variants. - -```ts -// 👇 simplified for brevity -function mapAsync(...args) { - const result = map(...args); - return new Promise((res) => { - setTimeout(res, 0, result); - }); -} - -// 👇 simplified for brevity -function mutateAsync(...args) { - return new Promise((res) => { - mutate(...args); - setTimeout(res); - }); -} -``` - -## Help wanted - -Real async support can be achieved by some Isomorphic Worker that would execute the map operations on the Worker thread. However, AutoMapper implementation is full of `Function` which cannot be serialized (easily) to transfer to the Worker thread. If anyone wants to contribute Asynchronous support, I'm happy to walk you through the repository. diff --git a/packages/documentation/docs/misc/mapped-types.mdx b/packages/documentation/docs/misc/mapped-types.mdx deleted file mode 100644 index e938d785e..000000000 --- a/packages/documentation/docs/misc/mapped-types.mdx +++ /dev/null @@ -1,115 +0,0 @@ ---- -id: mapped-types -title: Mapped Types -sidebar_label: Mapped Types -sidebar_position: 2 ---- - -`@automapper/classes/mapped-types` is part of the public API of `@automapper/classes`. - -`@automapper/classes/mapped-types` is inspired by `@nestjs/mapped-types` to provide mixins to reduce some boilerplate code. - -## Usage - -All `Mapper*Type` are exported from `@automapper/classes/mapped-types` - -### `MapperPickType` - -`MapperPickType` accepts an original class, and an array of property keys to **pick** from the original class. - -```ts -class Foo { - @AutoMap() - foo!: string; - @AutoMap() - bar!: number; - @AutoMap() - baz!: boolean; -} - -class PickFooBar extends MapperPickType(Foo, ['foo', 'bar']) {} - -createMap(mapper, Foo, PickFooBar); - -const foo = new Foo(); -foo.foo = 'foo'; -foo.bar = 123; -foo.baz = true; - -const pickedFooBar = mapper.map(foo, Foo, PickFooBar); -console.log(pickedFooBar); -/** - * PickFooBar { foo: 'foo', bar: 123 } - * only foo and bar have been picked - */ -``` - -### `MapperOmitType` - -`MapperOmitType` accepts an original class, and an array of property keys to **omit** from the original class. - -```ts -class Foo { - @AutoMap() - foo!: string; - @AutoMap() - bar!: number; - @AutoMap() - baz!: boolean; -} - -class OmitFooBar extends MapperOmitType(Foo, ['foo', 'bar']) {} - -createMap(mapper, Foo, OmitFooBar); - -const foo = new Foo(); -foo.foo = 'foo'; -foo.bar = 123; -foo.baz = true; - -const omittedFooBar = mapper.map(foo, Foo, OmitFooBar); -console.log(omittedFooBar); -/** - * OmitFooBar { baz: true } - * foo and bar have been omitted - */ -``` - -### `MapperIntersectionType` - -`MapperIntersectionType` accepts two parent classes to receive all properties from both classes. - -```ts -class Foo { - @AutoMap() - foo!: string; -} - -class Bar { - @AutoMap() - bar!: number; -} - -class IntersectFooBar extends MapperIntersectionType(Foo, Bar) {} - -createMap(mapper, IntersectFooBar, Foo); -createMap(mapper, IntersectFooBar, Bar); - -const intersect = new IntersectFooBar(); -intersect.foo = 'foo'; -intersect.bar = 123; - -const foo = mapper.map(intersect, IntersectFooBar, Foo); -console.log(foo); -/** - * Foo { foo: 'foo' } - */ - -const bar = mapper.map(intersect, IntersectFooBar, Bar); -console.log(bar); -/** - * Bar { bar: 123 } - */ -``` - -> AutoMapper does not have the concept of mapping multiple `Sources` to a `Destination`. Hence, please be cautious when to utilize `MapperIntersectionType` diff --git a/packages/documentation/docs/misc/self-mapping.mdx b/packages/documentation/docs/misc/self-mapping.mdx deleted file mode 100644 index 660fe1fbe..000000000 --- a/packages/documentation/docs/misc/self-mapping.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -id: self-mapping -title: Self Mapping (Same Identifier) -sidebar_label: Self Mapping -sidebar_position: 3 ---- - -In some cases, we might want to map a model (identifier) to itself. In AutoMapper TypeScript, this is called **Self Mapping**. Let's explore the following models - -```ts -export class Person { - @AutoMap() - name!: string; // always required - @AutoMap() - nickname?: string; // can be optional -} - -export class Org { - @AutoMap(() => [Person]) - people!: Person[]; -} - -export class OrgDto { - @AutoMap(() => [Person]) - people!: Person[]; -} -``` - -Instead of having a `PersonDto`, our `Org` and `OrgDto` use `Person` for the field `people`. There are situations where this is the case. With this in mind, we can create our mappings as follow: - -```ts -/** - * Short-hand syntax for - * - * createMap( - * mapper, - * Person, - * Person, - * forMember(...) - * ) - */ -createMap(mapper, Person, forMember(d => d.nickname, mapFrom(s => s.nickname ?? s.name)); -createMap(mapper, Org, OrgDto); -``` - -We can then map `Org` to `OrgDto` as normal - -```ts -const dto = mapper.map(org, Org, OrgDto); -// we can also map the "people" -/** - * Short-hand syntax for: mapper.mapArray(org.people, Person, Person); - */ -const mappedPeople = mapper.mapArray(org.people, Person); -``` diff --git a/packages/documentation/docs/misc/transformer-plugin.mdx b/packages/documentation/docs/misc/transformer-plugin.mdx deleted file mode 100644 index 5112649ab..000000000 --- a/packages/documentation/docs/misc/transformer-plugin.mdx +++ /dev/null @@ -1,281 +0,0 @@ ---- -id: transformer-plugin -title: Transformer Plugin -sidebar_label: Transformer Plugin -sidebar_position: 1 ---- - -`@automapper/classes/transformer-plugin` is part of the public API of `@automapper/classes`. - -## Problem - -Decorating Classes' members with `@AutoMap()` is verbose, even when we're being meticulous about what members are being **auto-configured** vs **custom-configured**. In some other cases, the Classes themselves are being **generated**, and/or from **external libraries** that the consumers **cannot** touch. - -`@automapper/classes/transformer-plugin` is to ease this pain point when using `@automapper/classes` - -## How it works - -Let's look at the following classes - -```ts -class Profile { - bio!: string; - age!: number; -} -class User { - firstName!: string; - lastName!: string; - profile!: Profile; -} -``` - -Throughout the documentation, we all know that the above code will be compiled to - -```js -class Profile {} -class User {} -``` - -The requirement for `@automapper/classes` to work is to decorate all the members of both classes with `@AutoMap` in order for `@automapper/classes` to keep track of the metadata of each class. - -```ts -class Profile { - @AutoMap() - bio!: string; - @AutoMap() - age!: number; -} -class User { - @AutoMap() - firstName!: string; - @AutoMap() - lastName!: string; - @AutoMap(() => Profile) - profile!: Profile; -} -``` - -This will get very verbose very soon. - -`@automapper/classes/transformer-plugin` runs a `before` transformer that affects the **AST** directly before the Compilation step. - -The transformer will - -- Look at files that end with `.entity.ts`, `.model.ts`, `.vm.ts`, and `.dto.ts` (this can be changed via transformer plugin options) -- Iterate through all the members (`PropertyDeclaration`) of each class (`ClassDeclaration`) that it finds -- Store the members in a list that `@automapper/classes` can understand -- Add to each class a `static method` and return the list. - -Let's look at the above snippet again - -```ts -// your code -class Profile { - bio!: string; - age!: number; -} -class User { - firstName!: string; - lastName!: string; - profile!: Profile; -} - -// after "before" transformer runs through your code - -class Profile { - bio!: string; - age!: number; - - static __AUTOMAPPER_METADATA_FACTORY__() { - return [ - ['bio', { type: () => String, depth: 1 }], - ['age', { type: () => Number, depth: 1 }], - ]; - } -} -class User { - firstName!: string; - lastName!: string; - profile!: Profile; - - static __AUTOMAPPER_METADATA_FACTORY__() { - return [ - ['firstName', { type: () => String, depth: 1 }], - ['lastName', { type: () => String, depth: 1 }], - ['profile', { type: () => Profile, depth: 1 }], - ]; - } -} -``` - -After compilation, the members will be gone, but the static function will stay making it available to be called at runtime. Hence, the metadata will be available. `@automapper/classes/transformer-plugin` only adds the minimum amount of code needed to keep track of the metadata. - -## Limitations - -Currently, `@automapper/classes/transformer-plugin` will handle most `Nullable` (`type | null`) and `Maybe` (`propKey?: type`) cases. However, for complex cases where you have unions with different types (`string | number | boolean` or `ClassA | ClassB`), please consider decorate the property (field) manually with `@AutoMap()` decorator. - -## Usage - -This is utilizing an experimental feature of TypeScript. Hence, you need to modify the build step of your project to use `@automapper/classes/transformer-plugin` - -### Ignore a property - -The plugin will automatically construct the metadata for all properties that aren't decorated with `@AutoMap`. However, there are also cases where you neither want `@AutoMap` nor having the plugin processing a property (eg: you want to take the control 100% with manual configuration). To ignore a property completely, you can use a JSDoc tag `@autoMapIgnore` on a property - -```ts -class User { - firstName!: string; - lastName!: string; - profile!: Profile; - /** - * @autoMapIgnore - */ - ignoreMe!: string; -} -``` - -### Options - -```ts -export interface AutomapperTransformerPluginOptions { - modelFileNameSuffix?: string[]; -} -``` - -`modelFileNameSuffix` is default to `['.entity.ts', '.model.ts', '.vm.ts', '.dto.ts']` - -### Webpack - -If you use `ts-loader` or some fork of `ts-loader`, you can configure Webpack config to turn on Transformers - -```ts -// snip -const automapperTransformerPlugin = require('@automapper/classes/transformer-plugin'); -const pluginOptions = { - modelFileNameSuffix: [ - /*...*/ - ], -}; -module.exports = { - // snip - module: { - rules: [ - // snip - { - test: /\.tsx?$/, - loader: 'ts-loader', - options: { - getCustomTransformers: (program) => ({ - before: [ - automapperTransformerPlugin(program, pluginOptions) - .before, - ], - }), - }, - }, - // snip - ], - }, - // snip -}; -``` - -### Rollup - -Use `rollup-plugin-typescript2` as it has `transformers` capability - -```ts -import automapperTransformerPlugin from '@automapper/classes/transformer-plugin'; -import typescript from 'rollup-plugin-typescript2'; -const pluginOptions = { - modelFileNameSuffix: [ - /*...*/ - ], -}; -export default { - // snip - preserveModules: true, // <-- turn on preserveModules - plugins: [ - // snip - typescript({ - transformers: [ - (service) => ({ - before: [ - automapperTransformerPlugin( - service.getProgram(), - pluginOptions - ).before, - ], - }), - ], - }), - // snip - ], -}; -``` - -### ttypescript - -`ttypescript` patches `typescript` in order to use transformers in `tsconfig.json`. See [ttypescript's README](https://github.com/cevek/ttypescript) for how to use this with module bundlers such as webpack or Rollup. - -``` -{ - "compilerOptions": { - ..., - "plugins": [ - { - "transform": "@automapper/classes/transformer-plugin", - "modelFileNameSuffix": [...] - } - ], - ... - } -} -``` - -### NestJS CLI - -`nestjs/cli` can enable Transformers by default. To use this plugin with `nestjs/cli`, modify your `nest-cli.json` - -```json -{ - "collection": "@nestjs/schematics", - "sourceRoot": "src", - "compilerOptions": { - "plugins": ["@automapper/classes/transformer-plugin"] - } -} -``` - -or with options - -```json -{ - "collection": "@nestjs/schematics", - "sourceRoot": "src", - "compilerOptions": { - "plugins": [ - { - "name": "@automapper/classes/transformer-plugin", - "options": { - "modelFileNameSuffix": [".dto.ts", ".vm.ts"] - } - } - ] - } -} -``` - -### NestJS with Nx - -Nx v12.8 adds support for TypeScript Compiler plugins via an option called `tsPlugins` (now `transformers`) in their `@nrwl/node:webpack` executor, which is what `@nx/nest` is using for building the application. - -Read more about the usage here: [Nx 12.8 Blog post](https://blog.nrwl.io/micro-frontends-using-module-federation-presets-for-react-and-storybook-typescript-compiler-4120cf134816) - -#### Pre 12.8 - -**NestJS** in Nx workspace utilizes `nrwl/node:build` executor (formerly, builder) which allows you to pass in a custom Webpack config. However, to turn on Transformer, there's still this [open issue](https://github.com/nrwl/nx/issues/2147) in which you can find multiple solutions/workarounds as of the moment. - -### Angular - -Angular CLI has sophisticated build process so please take a look at [this article](https://indepth.dev/posts/1045/having-fun-with-angular-and-typescript-transformers) and related articles mentioned to come up with your approach of turning on Transformers for Angular projects diff --git a/packages/documentation/docs/nestjs.mdx b/packages/documentation/docs/nestjs.mdx deleted file mode 100644 index ecb3e4dcf..000000000 --- a/packages/documentation/docs/nestjs.mdx +++ /dev/null @@ -1,200 +0,0 @@ ---- -id: nestjs -title: Usage with NestJS -sidebar_label: Usage with NestJS ---- - -`@automapper/nestjs` is the official integration for [NestJS](https://nestjs.com). - -## Installation - -```shell -npm i @automapper/core @automapper/nestjs -``` - -```shell -yarn add @automapper/core @automapper/nestjs -``` - -### Strategy - -Recommendation is to use `@automapper/classes` in a NestJS application. - -## Usage - -- Call `AutomapperModule.forRoot()` in `AppModule` - -```ts -import { AutomapperModule } from '@automapper/nestjs'; -import { classes } from '@automapper/classes'; - -// single strategy -@Module({ - imports: [ - AutomapperModule.forRoot({ - strategyInitializer: classes(), - }), - ], -}) -export class AppModule {} - -// multiple strategies -@Module({ - imports: [ - AutomapperModule.forRoot( - [ - { - name: 'classes', - strategyInitializer: classes(), - }, - { - name: 'pojos', - strategyInitializer: pojos(), - }, - ], - { - globalErrorHandler, - globalNamingConventions, - } - ), - ], -}) -export class AppModule {} -``` - -- Use `@InjectMapper()` to inject the `Mapper` in NestJS's `Injectable` -- `@InjectMapper()` accepts an optional argument `name`. This is the name of the `CreateMapperOptions` passed to `AutomapperModule.forRoot()` -- `AutomapperModule` is a `Global` module, so it is only needed to be imported once to have the `Mapper` available across the application - -## Async Configuration - -TBD: `AutomapperModule.forRootAsync()` - -## `AutomapperProfile` - -`AutomapperProfile` is an `Injectable` in NestJS. Make sure to `extends AutomapperProfile` - -```ts -import { AutomapperProfile, InjectMapper } from '@automapper/nestjs'; -import type { Mapper } from '@automapper/core'; -import { Injectable } from '@nestjs/common'; -import { createMap } from '@automapper/core'; - -@Injectable() -export class UserProfile extends AutomapperProfile { - constructor(@InjectMapper() mapper: Mapper) { - super(mapper); - } - - override get profile() { - return (mapper) => { - createMap(mapper, User, UserDto); - }; - } -} -``` - -Then provide `UserProfile` in a `Module` - -```ts -@Module({ - providers: [UserProfile], -}) -export class UserModule {} -``` - -- `AutomapperProfile` enforces the sub-classes to implement a `get profile()` method that returns a `MappingProfile`. -- `AutomapperProfile` can have other Services injected to its constructor if needed. - -### `mappingConfigurations` - -Same concept as [Share Configuration using MappingProfile](./tutorial/mapping-profile#share-mappingconfiguration), `AutomapperProfile` has an optional `protected get mappingConfigurations()` that subclasses can override to provide an array of `MappingConfiguration`. These configurations are passed to all `createMap()` in `get profile()` - -```ts -import { AutomapperProfile, InjectMapper } from '@automapper/nestjs'; -import { Injectable } from '@nestjs/common'; - -@Injectable() -export class UserProfile extends AutomapperProfile { - constructor(@InjectMapper() mapper: Mapper) { - super(mapper); - } - - get profile(): MappingProfile { - return (mapper) => { - createMap(mapper, UserEntity, UserDto); - createMap(mapper, UserEntity, UserInformationDto); - createMap(mapper, UserEntity, AuthUserDto); - }; - } - - protected get mappingConfigurations(): MappingConfiguration[] { - // the 3 createMap() above will get this `extend()` - return [extend(BaseEntity, BaseDto)]; - } -} -``` - -## `MapInterceptor` - -`@automapper/nestjs` provides `MapInterceptor`. In cases where you do not care about annotating the correct return type for a **Controller#method** and want your **Service** to be a little cleaner, you can utilize the `MapInterceptor` to execute the mapping. - -```ts -import { UseInterceptors } from '@nestjs/common'; -import { MapInterceptor } from '@automapper/nestjs'; - -export class UserController { - @Get('me') - @UseInterceptors(MapInterceptor(User, UserDto)) - me() { - // userService.getMe() returns a User here and does not have mapping logic in it. - return this.userService.getMe(); - } -} -``` - -`MapInterceptor` has the following signature: - -```ts -MapInterceptor(sourceModelType, destinationModelType, { - isArray?: boolean; - mapperName?: string; -} & MapOptions) -``` - -## `MapPipe` - -`@automapper/nestjs` provides `MapPipe`. When you want to transform the incoming request body before it gets to the route handler, you can utilize `MapPipe` to achieve this behavior - -```ts -import { MapPipe } from '@automapper/nestjs'; - -@Post('/from-body') -postFromBody(@Body(MapPipe(User, UserDto)) user: UserDto) { - // from the request perspective, user coming in as an User object but will be mapped to UserDto with MapPipe - return user; -} -``` - -`MapPipe` only works with `@Body` or `@Query`. - -```ts -import { MapPipe } from '@automapper/nestjs'; - -@Get('/from-query') -getFromQuery(@Query(MapPipe(User, UserDto)) user: UserDto) { - // from the request perspective, user coming in as an User object but will be mapped to UserDto with MapPipe - return user; -} -``` - -> Note that when we send a request with `Body` or `Query`, the data is serialized. Data-type like `Date` will come in the request handler as `string`. Hence, please be cautious of the mapping configuration when you use `MapPipe` - -`MapPipe` has the same signature as `MapInterceptor` - -```ts -MapPipe(sourceModelType, destinationModelType, { - isArray?: boolean; - mapperName?: string; -} & MapOptions) -``` diff --git a/packages/documentation/docs/strategies/classes.mdx b/packages/documentation/docs/strategies/classes.mdx deleted file mode 100644 index 7d3b9da9a..000000000 --- a/packages/documentation/docs/strategies/classes.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -id: classes -title: automapper/classes -sidebar_label: automapper/classes -sidebar_position: 1 ---- - -## Overview - -`@automapper/classes` is an official strategy that works with ES6/TS Class-based projects. It is recommended to use with [NestJS](https://nestjs.com) backend as NestJS works very well with Classes. - -## Installation - -```shell -npm i @automapper/core @automapper/classes -``` - -```shell -yarn add @automapper/core @automapper/classes -``` - -## Usage - -We have been using `@automapper/classes` throughout the documentation. Check [Tutorial](../tutorial/preface) for more information about usage. - -## Metadata - -### `AutoMap` - -`AutoMap` is a `PropertyDecorator` to track a property's metadata on a class. `@AutoMap()` has 3 overloads: - -- `@AutoMap()`: Use on primitives like `string`, `number`, and `boolean`. `Date` is also acceptable. -- `@AutoMap(() => Type | [Type])`: Supply a `Type` so `AutoMap` does not have to guess (or cannot guess). Use on nested models, enums, array types, complex union types, or ambiguous types (e.g: `any`, `Record`) - -- `@AutoMap(AutoMapOptions)`: Take complete control of the data that `AutoMap` stores - -#### Enum - -In TypeScript, there are 2 main types of Enums that we can have: String and Numeric. In order for AutoMapper to work correctly with Enums, we need to supply the type of our enums with `AutoMap()` - -```ts -enum Color { - Red, - Green, - Blue, -} - -enum Role { - Admin = 'admin', - User = 'user', -} - -class User { - @AutoMap(() => String) // string enum - role!: Role; - @AutoMap(() => Number) // numeric enum - color!: Color; -} -``` - -#### Array type - -As mentioned above, we need to explicitly supply a type to `AutoMap` if the property has an Array type - -```ts -class User { - @AutoMap(() => [Date]) - logins!: Date[]; -} -``` - -#### Circular Dependency - -It is common to have circular dependency in terms of models when we work with an ORM. By default, AutoMapper sets a `depth` value of `1` for nested models. - -In other words, let's assume we have a circular dependency: `A <-> B` - -```ts -class A { - b: B; -} - -class B { - a: A; -} - -// depth 1 -A { - b: B { - a: A { - b: undefined - } - } -} - -// depth 2 -A { - b: B { - a: A { - b: B { - a: undefined - } - } - } -} -``` - -We can configure the `depth` by using the `AutoMapOptions` with `AutoMap` - -### Transformer Plugin - -This section is meant to be a placeholder because `Transformer Plugin` is related to `@automapper/classes`. Please check the dedicated [TransformerPlugin](../misc/transformer-plugin) - -### Mapped Types - -This section is meant to be a placeholder because `Mapped Types` is related to `@automapper/classes`. Please check the dedicated [MappedTypes](../misc/mapped-types) diff --git a/packages/documentation/docs/strategies/mikro.mdx b/packages/documentation/docs/strategies/mikro.mdx deleted file mode 100644 index 118942076..000000000 --- a/packages/documentation/docs/strategies/mikro.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: mikro -title: automapper/mikro -sidebar_label: automapper/mikro -sidebar_position: 3 ---- - -## Overview - -`@automapper/mikro` is an official strategy that works with [MikroORM](https://mikro-orm.io/). `@automapper/mikro` is an extension of `@automapper/classes` - -## Installation - -```shell -npm i @automapper/core @automapper/classes @automapper/mikro -``` - -```shell -yarn add @automapper/core @automapper/classes @automapper/mikro -``` - -## Usage - -Using `@automapper/mikro` isn't different from using [`@automapper/classes`](./classes#usage). The difference is `@automapper/mikro` has a custom `preMap` that handles how to serialize the `sourceObject` because of how MikroORM returns the object upon a Retrieve operation. - -### `preMap` - -The default `preMap` from `@automapper/mikro` checks for Collection, Reference, and Entity recursively to serialize the `sourceObject` to their raw JSON data. - -We can customize this `preMap` via `MappingStrategyInitializerOptions` - -```ts -const mapper = createMapper({ - strategyInitializer: mikro({ preMap: customPreMap }), -}); -``` - -## Metadata - -See [@automapper/classes](./classes#metadata) diff --git a/packages/documentation/docs/strategies/pojos.mdx b/packages/documentation/docs/strategies/pojos.mdx deleted file mode 100644 index 2bd1bc35b..000000000 --- a/packages/documentation/docs/strategies/pojos.mdx +++ /dev/null @@ -1,206 +0,0 @@ ---- -id: pojos -title: automapper/pojos -sidebar_label: automapper/pojos -sidebar_position: 2 ---- - -## Overview - -`@automapper/pojos` is an official strategy that works with TS Interface-based projects. - -## Installation - -```shell -npm i @automapper/core @automapper/pojos -``` - -```shell -yarn add @automapper/core @automapper/pojos -``` - -## Usage - -Different from `@automapper/classes`, `@automapper/pojos` exports a singleton `PojosMetadataMap` so we can provide the metadata for `pojos`. - -```ts -interface User { - firstName: string; - lastName: string; -} - -interface UserDto { - firstName: string; - lastName: string; - fullName: string; -} - -export function createUserMetadata() { - PojosMetadataMap.create('User', { - firstName: String, - lastName: String, - }); - - PojosMetadataMap.create('UserDto', { - firstName: String, - lastName: String, - fullName: String, - }); -} - -createUserMetadata(); - -const mapper = createMapper({ strategyInitializer: pojos() }); - -createMap( - mapper, - 'User', // this needs to match what we passed in PojosMetadataMap.create() - 'UserDto', // this needs to match what we passed in PojosMetadataMap.create() - forMember( - (destination) => destination.fullName, - mapFrom((source) => source.firstName + ' ' + source.lastName) - ) -); - -const dto = mapper.map( - { firstName: 'Chau', lastName: 'Tran' }, - 'User', // this needs to match what we passed in PojosMetadataMap.create() - 'UserDto' // this needs to match what we passed in PojosMetadataMap.create() -); // { firstName: 'Chau', lastName: 'Tran', fullName: 'Chau Tran' -``` - -:::caution - -`PojosMetadataMap.create()` needs to be called before we attempt to call `createMap()` - -::: - -## Metadata - -As seen above, `PojosMetadataMap` is a way that `@automapper/pojos` use to keep track of the Interface's metadata. - -### `PojosMetadataMap.create()` - -`PojosMetadataMap.create()` accepts a `string` or a `symbol` as the identifier and a metadata object. - -```ts -PojosMetadataMap.create('User', { - firstName: String, - lastName: String, -}); -``` - -:::tip - -Supply the type parameter `PojosMetadataMap.create()` will provide intellisense for the fields in the metadata object - -::: - -#### Nested model - -Nested model's metadata needs to be created before the parent model. - -```ts -interface Bio { - birthday: Date; -} - -interface User { - firstName: string; - lastName: string; - bio: Bio; -} - -PojosMetadataMap.create('Bio', { - birthday: Date, -}); - -PojosMetadataMap.create('User', { - firstName: String, - lastName: String, - bio: 'Bio', // <-- use what we passed in PojosMetadataMap.create() for Bio -}); -``` - -#### Enum - -Same as `@automapper/classes`, we still need to explicitly supply the Enum type - -```ts -enum Role { - Admin = 'admin', - User = 'user', -} - -interface User { - role: Role; -} - -PojosMetadataMap.create('User', { - role: String, -}); -``` - -#### Array type - -Same as `@automapper/classes`, we still need to explicitly supply the Array type - -```ts -interface Address { - street: string; -} - -interface Bio { - birthday: Date; - addresses: Address[]; -} - -interface User { - firstName: string; - lastName: string; - bio: Bio; - logins: Date[]; -} - -PojosMetadataMap.create
('Address', { - street: String, -}); - -PojosMetadataMap.create('Bio', { - birthday: Date, - addresses: ['Address'], // <-- array of the identifier -}); - -PojosMetadataMap.create('User', { - firstName: String, - lastName: String, - bio: 'Bio', - logins: [Date], // <-- array of the Date constructor -}); -``` - -#### Circular Dependency - -Same as `@automapper/classes`, we can also have circular dependency with Interfaces. - -```ts -PojosMetadataMap.create('Bio', { - birthday: Date, - addresses: ['Address'], -}); - -PojosMetadataMap.create('User', { - firstName: String, - lastName: String, - bio: { - // pass in an object instead - type: () => 'Bio', - depth: 2, // default to 1 - }, - logins: [Date], -}); -``` - -### `PojosMetadataMap.reset()` - -To clear all the metadata, we can call `PojosMetadataMap.reset()`. This is useful in testing environment where we want to start fresh for each test suite. diff --git a/packages/documentation/docs/strategies/sequelize.mdx b/packages/documentation/docs/strategies/sequelize.mdx deleted file mode 100644 index 42cf91ea2..000000000 --- a/packages/documentation/docs/strategies/sequelize.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: sequelize -title: automapper/sequelize -sidebar_label: automapper/sequelize -sidebar_position: 4 ---- - -## Overview - -`@automapper/sequelize` is an official strategy that works with [Sequelize](https://sequelize.org/). `@automapper/sequelize` is an extension of `@automapper/classes` - -## Installation - -```shell -npm i @automapper/core @automapper/classes @automapper/sequelize -``` - -```shell -yarn add @automapper/core @automapper/classes @automapper/sequelize -``` - -## Usage - -Using `@automapper/sequelize` isn't different from using [`@automapper/classes`](./classes#usage). The difference is `@automapper/sequelize` has a custom `preMap` that handles how to serialize the `sourceObject` because of how Sequelize returns the object upon a Retrieve operation and a custom `destinationConstructor`. - -### `preMap` - -Use `Sequelize#Model.get()` if it's available to serialize the `sourceObject` - -### `destinationConstructor` - -Use `Sequelize#Model.build()` if it's available to construct the `destinationObject`. - -We can customize this `preMap` via `MappingStrategyInitializerOptions` - -```ts -const mapper = createMapper({ - strategyInitializer: sequelize({ - preMap: customPreMap, - destinationConstructor: customDestinationConstructor, - }), -}); -``` - -## Metadata - -See [@automapper/classes](./classes#metadata) diff --git a/packages/documentation/docs/tutorial/create-mapper.mdx b/packages/documentation/docs/tutorial/create-mapper.mdx deleted file mode 100644 index 73195996e..000000000 --- a/packages/documentation/docs/tutorial/create-mapper.mdx +++ /dev/null @@ -1,165 +0,0 @@ ---- -id: create-mapper -title: Create a Mapper -sidebar_label: Create a Mapper -sidebar_position: 2 ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## Installation - -First step is to install `@automapper/*` via `npm` or `yarn` - -```shell -npm i @automapper/core @automapper/classes reflect-metadata -``` - -```shell -yarn add @automapper/core @automapper/classes reflect-metadata -``` - -:::info - -- We are using `@automapper/classes` for this tutorial. Check [Installation](../getting-started/installation) for more details. -- The rest of the tutorial will apply to `@automapper/classes` only. If you're using `@automapper/pojos`, please check [POJOs Strategy](../strategies/pojos) - -::: - -Next, let's adjust the `tsconfig` of your project. Make sure that you have the following options: - -```json -{ - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "skipLibCheck": true -} -``` - -## Create your first Mapper - -Now that you have everything installed and configured, let's start creating the Mapper. - -```ts title="/src/mappings/mapper.ts" -import { createMapper } from '@automapper/core'; -import { classes } from '@automapper/classes'; - -// Create and export the mapper -export const mapper = createMapper({ - strategyInitializer: classes(), -}); -``` - -:::tip - -A typical project should only have a singleton `Mapper` with a certain `MappingStrategy`. - -::: - -:::info - -`createMapper()` accepts a `CreateMapperOptions` which allows to customize the `Mapper`. Read more at [createMapper() API](../api/core/modules#createmapper) - -::: - -## Metadata Discovery - -For AutoMapper to do the _Auto_ part, you need to tell AutoMapper about your models. In other words, let AutoMapper know what your models have, what properties, what types those properties have. - -With `@automapper/classes`, you will use `@AutoMap()` decorator to do so. Let's bring back the models - - - - -```ts -export class User { - @AutoMap() - firstName: string; - - @AutoMap() - lastName: string; - - @AutoMap() - username: string; - - password: string; // <- we purposely left this one out because we don't want to map "password" - - @AutoMap(() => Bio) - bio: Bio; -} - -export class Bio { - @AutoMap(() => Job) - job: Job; - - @AutoMap() - birthday: Date; - - @AutoMap() - avatarUrl: string; -} - -export class Job { - @AutoMap() - title: string; - - @AutoMap() - salary: number; -} -``` - - - - -```ts -export class UserDto { - @AutoMap() - firstName: string; - - @AutoMap() - lastName: string; - - @AutoMap() - fullName: string; - - @AutoMap() - username: string; - - @AutoMap(() => BioDto) - bio: BioDto; -} - -export class BioDto { - @AutoMap() - jobTitle: string; - - @AutoMap() - jobSalary: number; - - @AutoMap() - birthday: string; - - @AutoMap() - avatarUrl: string; -} -``` - - - - -In addition to attaching `@AutoMap()` on most properties of both `User` and `UserDto`, we also remove all the existing mapping logics in `UserDto`. The result is `UserDto` no longer needs to be aware of `User`. - -`@AutoMap()` can help AutoMapper to track the property and its type. For nested model like `Bio`, we help `@AutoMap()` by providing a function that returns the type (e.g.: `() => Bio`) - -:::info - -Read more about [@AutoMap()](../strategies/classes#automap) - -::: - -:::tip - -If you want to remove the verbosity with `@AutoMap()`, check out [Transformer Plugin](../misc/transformer-plugin) - -::: diff --git a/packages/documentation/docs/tutorial/create-mapping.mdx b/packages/documentation/docs/tutorial/create-mapping.mdx deleted file mode 100644 index 085c9e11c..000000000 --- a/packages/documentation/docs/tutorial/create-mapping.mdx +++ /dev/null @@ -1,89 +0,0 @@ ---- -id: create-mapping -title: Create Mappings -sidebar_label: Create Mappings -sidebar_position: 3 ---- - -Our models have been prepped from the last step. It is time to create the `Mapping` between them. - -:::tip - -Mappings creation are fast and should be placed where the application starts so that they are only created **once**. - -::: - -## `createMap()` - -```ts title="/src/main.ts" -import { createMap } from '@automapper/core'; -import { mapper } from './mappings/mapper'; -import { Bio, BioDto } from './models/bio'; -import { User, UserDto } from './models/user'; - -createMap(mapper, Bio, BioDto); -createMap(mapper, User, UserDto); -``` - -:::tip - -Order of `createMap()` matters. Since `Bio` and `BioDto` are nested models on `User` and `UserDto`, the `Mapping` needs to be created first in order for `Mapping` to be initialized correctly. - -::: - -`createMap(mapper, Source, Destination)` will create and return a `Mapping`. Let's test the Mappings out with the following `User` - -```ts -const user = new User(); -user.firstName = 'Chau'; -user.lastName = 'Tran'; -user.username = 'ctran'; -user.password = '123456'; -user.bio = new Bio(); -user.bio.avatarUrl = 'google.com'; -user.bio.birthday = new Date(); -user.bio.job = new Job(); -user.bio.job.title = 'Developer'; -user.bio.job.salary = 99999; -``` - -## `map()` - -To execute a map operation from `User` to `UserDto`, you invoke: - -```ts -const dto = mapper.map(user, User, UserDto); -``` - -You will notice that the call runs successfully but with two errors logged to the console. - -``` -[AutoMapper] -Unmapped properties for Bio -> BioDto: -------------------- -jobTitle, -jobSalary - -[AutoMapper] -Unmapped properties for User -> UserDto: -------------------- -fullName -``` - -Let's also take a look at the `dto` - -``` -UserDto { - bio: BioDto { - avatarUrl: 'google.com', - birthday: 2022-03-23T22:46:17.110Z - }, - username: 'ctran', - lastName: 'Tran', - firstName: 'Chau' -} -``` - -It is clear that `bio.jobTitle`, `bio.jobSalary`, and `fullName` are missing. The errors are correct. Additionally, there's also another "error": `UserDto#birthday` is a `string` but it holds a `Date` value now because it was mapped from `User#birthday`. - -Let's fix the issues one by one in the next section. diff --git a/packages/documentation/docs/tutorial/mapping-configurations.mdx b/packages/documentation/docs/tutorial/mapping-configurations.mdx deleted file mode 100644 index 75e2f70f0..000000000 --- a/packages/documentation/docs/tutorial/mapping-configurations.mdx +++ /dev/null @@ -1,251 +0,0 @@ ---- -id: mapping-configurations -title: Use Mapping Configurations -sidebar_label: Use Mapping Configurations -sidebar_position: 4 ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## `fullName` - -In this particular case, you can call `fullName` a _computed_ property because the Source (`User`) -does not have a `fullName` property. Hence, it must be computed from something else. To configure the mapping instruction for a property, you can use `forMember()` with `createMap()` - -```ts -import { createMap, forMember, mapFrom } from '@automapper/core'; - -createMap( - mapper, - User, - UserDto, - // highlight-start - forMember( - (destination) => destination.fullName, - mapFrom((source) => source.firstName + ' ' + source.lastName) - ) - // highlight-end -); -``` - -`forMember()` accepts two arguments: - -- A `Selector` to select the property you want to configure the instruction for. -- A `MemberMapFn` that carries a specific instruction. - -:::info - -Read more about [ForMember](../mapping-configuration/for-member/overview) - -::: - -Here, `forMember()` is saying: For `destination.fullName`, use `source.firstName + ' ' + source.lastName` as the result. - -## `birthday` - -For `birthday`, let's try using another `MappingConfiguration` function: `typeConverter`. Here, we want to convert from `Date` to `string`. - -```ts -createMap( - mapper, - Bio, - BioDto, - // highlight-next-line - typeConverter(Date, String, (date) => date.toDateString()) -); -``` - -`typeConverter()` is saying: If a property on the Source is of type `Date` and the matching property on the Destination is of type `String`, use the conversion of `date.toDateString()` - -:::note - -- `typeConverter` will apply `Date -> String` conversion for ALL pairs of `Date, String`, not just `birthday` -- Instead of `typeConverter`, you can also use `forMember()` to map `BioDto#birthday` by itself. - -::: - -## `jobTitle` and `jobSalary` - -These two properties are a bit different from `fullName` and `birthday`. If you notice, you will see that `jobTitle` and `jobSalary` are **flatten** properties of `job.title` and `job.salary`. - -AutoMapper supports [Auto Flattening](../fundamentals/auto-flattening) out of the box with the concept of [Naming Conventions](../fundamentals/naming-convention). With that in mind, let's provide a `NamingConvention` for `Mapping` by using yet another `MappingConfiguration` function: `namingConventions()` - -```ts -createMap( - mapper, - Bio, - BioDto, - typeConverter(Date, String, (date) => date.toDateString()), - // highlight-next-line - namingConventions(new CamelCaseNamingConvention()) -); -``` - -Let's execute the map operation again, you'll get the complete `UserDto` 🎉 - -``` -UserDto { - bio: BioDto { - avatarUrl: 'google.com', - birthday: 'Wed Mar 23 2022', - jobSalary: 99999, - jobTitle: 'Developer' - }, - username: 'ctran', - lastName: 'Tran', - firstName: 'Chau', - fullName: 'Chau Tran' -} -``` - -## Summary - -- Without AutoMapper, mapping logic is repetitive and hard to scale. DTOs and Entities are coupling. -- With AutoMapper, matching properties are mapped _automatically_ (`firstName`, `lastName`, `username`, `bio`, and `bio.avatarUrl`) -- [Auto Flattening](../fundamentals/auto-flattening) with [Naming Conventions](../fundamentals/naming-convention) -- [Type Converter](../mapping-configuration/type-converters) allows for using the same conversion for the same pair of types. - - - - -```ts -export class User { - @AutoMap() - firstName: string; - - @AutoMap() - lastName: string; - - @AutoMap() - username: string; - - password: string; // <- we purposely left this one out because we don't want to map "password" - - @AutoMap(() => Bio) - bio: Bio; -} - -export class Bio { - @AutoMap(() => Job) - job: Job; - - @AutoMap() - birthday: Date; - - @AutoMap() - avatarUrl: string; -} - -export class Job { - @AutoMap() - title: string; - - @AutoMap() - salary: number; -} -``` - - - - -```ts -export class UserDto { - @AutoMap() - firstName: string; - - @AutoMap() - lastName: string; - - @AutoMap() - fullName: string; - - @AutoMap() - username: string; - - @AutoMap(() => BioDto) - bio: BioDto; -} - -export class BioDto { - @AutoMap() - jobTitle: string; - - @AutoMap() - jobSalary: number; - - @AutoMap() - birthday: string; - - @AutoMap() - avatarUrl: string; -} -``` - - - - -```ts -import { createMapper } from '@automapper/core'; -import { classes } from '@automapper/classes'; - -// Create and export the mapper -export const mapper = createMapper({ - strategyInitializer: classes(), -}); -``` - - - - -```ts -createMap( - mapper, - Bio, - BioDto, - typeConverter(Date, String, (date) => date.toDateString()), - namingConventions(new CamelCaseNamingConvention()) -); -createMap( - mapper, - User, - UserDto, - forMember( - (destination) => destination.fullName, - mapFrom((source) => source.firstName + ' ' + source.lastName) - ) -); -``` - - - - -```ts -export class UserService { - testMapping() { - const user = new User(); - user.firstName = 'Chau'; - user.lastName = 'Tran'; - user.username = 'ctran'; - user.password = '123456'; - user.bio = new Bio(); - user.bio.avatarUrl = 'google.com'; - user.bio.birthday = new Date(); - user.bio.job = new Job(); - user.bio.job.title = 'Developer'; - user.bio.job.salary = 99999; - - const dto = mapper.map(user, User, UserDto); - } -} -``` - - - - -