diff --git a/.eslintrc.js b/.eslintrc.js index 0791fd27..c032d595 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -31,7 +31,7 @@ module.exports = { }, extends: [ "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", + "plugin:@typescript-eslint/recommended-type-checked", ], rules: { "@typescript-eslint/no-use-before-define": [ @@ -68,6 +68,40 @@ module.exports = { "eslint-comments/require-description": "off", }, }, + { + // These packages pre-date strict type-checked linting and have many existing violations. + // Rules are relaxed to match the historical behaviour before the ESLint crash was fixed. + // TODO: clean up violations and tighten these rules incrementally. + files: [ + "packages/app-studio-remote-access/**/*.ts", + "packages/app-studio-toolkit/**/*.ts", + "packages/app-studio-toolkit-themes/**/*.ts", + "packages/app-studio-toolkit-types/**/*.d.ts", + "packages/npm-dependencies-validation/**/*.ts", + "packages/vscode-dependencies-validation/**/*.ts", + "packages/vscode-deps-upgrade-tool/**/*.ts", + "packages/vscode-disk-usage/**/*.ts", + ], + rules: { + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-require-imports": "off", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-unsafe-argument": "off", + "@typescript-eslint/no-unsafe-function-type": "off", + "@typescript-eslint/no-unnecessary-type-assertion": "off", + "@typescript-eslint/no-redundant-type-constituents": "off", + "@typescript-eslint/no-misused-promises": "off", + "@typescript-eslint/no-duplicate-type-constituents": "off", + "@typescript-eslint/no-empty-object-type": "off", + "@typescript-eslint/only-throw-error": "off", + "@typescript-eslint/prefer-promise-reject-errors": "off", + "@typescript-eslint/no-unsafe-enum-comparison": "off", + "@typescript-eslint/no-base-to-string": "off", + "@typescript-eslint/prefer-as-const": "off", + "@typescript-eslint/no-use-before-define": "off", + }, + }, { // Additional TypeScript rules for yeoman-ui packages. files: ["projects/yeoman-ui/**/*.ts"], @@ -76,6 +110,13 @@ module.exports = { "no-extra-semi": "error", "no-eval": "error", "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-require-imports": "off", + "@typescript-eslint/no-redundant-type-constituents": "off", + "@typescript-eslint/no-wrapper-object-types": "off", + "@typescript-eslint/no-unsafe-function-type": "off", + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-misused-promises": "off", + "@typescript-eslint/no-unnecessary-type-assertion": "off", "@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-unsafe-return": "off", @@ -83,7 +124,7 @@ module.exports = { "@typescript-eslint/unbound-method": "off", "@typescript-eslint/no-unused-vars": [ "error", - { argsIgnorePattern: "^_" }, + { argsIgnorePattern: "^_", caughtErrors: "none" }, ], "no-async-promise-executor": "off", "no-irregular-whitespace": "off", @@ -97,7 +138,7 @@ module.exports = { parser: "vue-eslint-parser", // Using the smaller vue rule subset (essential) to avoid including formatting rules // as formatting is handled by prettier **directly**. - extends: ["plugin:vue/essential"], + extends: ["plugin:vue/vue3-essential"], }, ], }; diff --git a/examples/sample-action-client/tsconfig.json b/examples/sample-action-client/tsconfig.json index d03da124..c7f0fdd5 100644 --- a/examples/sample-action-client/tsconfig.json +++ b/examples/sample-action-client/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/examples/telemetry-reporter-sample/tsconfig.json b/examples/telemetry-reporter-sample/tsconfig.json index d03da124..c7f0fdd5 100644 --- a/examples/telemetry-reporter-sample/tsconfig.json +++ b/examples/telemetry-reporter-sample/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/examples/vscode-using-upgrade-tool/tsconfig.json b/examples/vscode-using-upgrade-tool/tsconfig.json index d03da124..c7f0fdd5 100644 --- a/examples/vscode-using-upgrade-tool/tsconfig.json +++ b/examples/vscode-using-upgrade-tool/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/examples/vscode-using-workspace-api/tsconfig.json b/examples/vscode-using-workspace-api/tsconfig.json index d03da124..c7f0fdd5 100644 --- a/examples/vscode-using-workspace-api/tsconfig.json +++ b/examples/vscode-using-workspace-api/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/package.json b/package.json index ad897972..3d95afad 100644 --- a/package.json +++ b/package.json @@ -44,17 +44,17 @@ "@types/node": "16.11.10", "@types/sinon": "17.0.4", "@types/vscode": "1.75.0", - "@typescript-eslint/eslint-plugin": "4.33.0", - "@typescript-eslint/parser": "4.33.0", + "@typescript-eslint/eslint-plugin": "8.60.1", + "@typescript-eslint/parser": "8.60.1", "chai": "4.5.0", "chai-as-promised": "7.1.2", "coveralls": "3.1.1", "deep-equal-in-any-order": "1.1.20", "dotenv": "16.4.7", - "eslint": "7.30.0", - "eslint-config-prettier": "8.3.0", + "eslint": "8.57.1", + "eslint-config-prettier": "9.1.0", "eslint-plugin-eslint-comments": "3.2.0", - "eslint-plugin-vue": "9.14.1", + "eslint-plugin-vue": "9.33.0", "glob": "11.1.0", "husky": "7.0.4", "lint-staged": "11.2.0", @@ -68,7 +68,7 @@ "rimraf": "3.0.2", "shx": "0.3.3", "sinon": "18.0.1", - "typescript": "4.5.2", + "typescript": "5.7.3", "vsce": "1.100.1", "webpack": "5.104.1", "webpack-cli": "6.0.1" diff --git a/packages/app-studio-toolkit-types/tsconfig.json b/packages/app-studio-toolkit-types/tsconfig.json index c50ee57e..30335f09 100644 --- a/packages/app-studio-toolkit-types/tsconfig.json +++ b/packages/app-studio-toolkit-types/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "noEmit": true, "rootDir": ".", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["api.d.ts"] } diff --git a/packages/npm-dependencies-validation/tsconfig.json b/packages/npm-dependencies-validation/tsconfig.json index f314a02b..283670e8 100644 --- a/packages/npm-dependencies-validation/tsconfig.json +++ b/packages/npm-dependencies-validation/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*", "test/**/*"] } diff --git a/packages/vscode-dependencies-validation/tsconfig.json b/packages/vscode-dependencies-validation/tsconfig.json index f314a02b..283670e8 100644 --- a/packages/vscode-dependencies-validation/tsconfig.json +++ b/packages/vscode-dependencies-validation/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*", "test/**/*"] } diff --git a/packages/vscode-deps-upgrade-tool/tsconfig.json b/packages/vscode-deps-upgrade-tool/tsconfig.json index f314a02b..283670e8 100644 --- a/packages/vscode-deps-upgrade-tool/tsconfig.json +++ b/packages/vscode-deps-upgrade-tool/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*", "test/**/*"] } diff --git a/packages/vscode-disk-usage/tsconfig.json b/packages/vscode-disk-usage/tsconfig.json index f314a02b..283670e8 100644 --- a/packages/vscode-disk-usage/tsconfig.json +++ b/packages/vscode-disk-usage/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "dist", - "baseUrl": "." + "baseUrl": ".", + "skipLibCheck": true }, "include": ["src/**/*", "test/**/*"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 22cc888c..0470fb4c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 2.29.5 '@commitlint/cli': specifier: 19.5.0 - version: 19.5.0(@types/node@16.11.10)(typescript@4.5.2) + version: 19.5.0(@types/node@16.11.10)(typescript@5.7.3) '@commitlint/config-conventional': specifier: 19.5.0 version: 19.5.0 @@ -42,11 +42,11 @@ importers: specifier: 1.75.0 version: 1.75.0 '@typescript-eslint/eslint-plugin': - specifier: 4.33.0 - version: 4.33.0(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0)(typescript@4.5.2) + specifier: 8.60.1 + version: 8.60.1(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3) '@typescript-eslint/parser': - specifier: 4.33.0 - version: 4.33.0(eslint@7.30.0)(typescript@4.5.2) + specifier: 8.60.1 + version: 8.60.1(eslint@8.57.1)(typescript@5.7.3) chai: specifier: 4.5.0 version: 4.5.0 @@ -63,17 +63,17 @@ importers: specifier: 16.4.7 version: 16.4.7 eslint: - specifier: 7.30.0 - version: 7.30.0 + specifier: 8.57.1 + version: 8.57.1 eslint-config-prettier: - specifier: 8.3.0 - version: 8.3.0(eslint@7.30.0) + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.1) eslint-plugin-eslint-comments: specifier: 3.2.0 - version: 3.2.0(eslint@7.30.0) + version: 3.2.0(eslint@8.57.1) eslint-plugin-vue: - specifier: 9.14.1 - version: 9.14.1(eslint@7.30.0) + specifier: 9.33.0 + version: 9.33.0(eslint@8.57.1) glob: specifier: 11.1.0 version: 11.1.0 @@ -114,8 +114,8 @@ importers: specifier: 18.0.1 version: 18.0.1 typescript: - specifier: 4.5.2 - version: 4.5.2 + specifier: 5.7.3 + version: 5.7.3 vsce: specifier: 1.100.1 version: 1.100.1 @@ -199,7 +199,7 @@ importers: version: 3.1.0(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))) ts-loader: specifier: 9.4.2 - version: 9.4.2(typescript@4.5.2)(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))) + version: 9.4.2(typescript@5.7.3)(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))) packages/app-studio-toolkit: dependencies: @@ -293,7 +293,7 @@ importers: version: 3.1.0(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))) ts-loader: specifier: 9.4.2 - version: 9.4.2(typescript@4.5.2)(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))) + version: 9.4.2(typescript@5.7.3)(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))) packages/app-studio-toolkit-themes: {} @@ -353,7 +353,7 @@ importers: version: 4.18.1 ts-essentials: specifier: 9.1.2 - version: 9.1.2(typescript@4.5.2) + version: 9.1.2(typescript@5.7.3) vscode-languageserver-textdocument: specifier: 1.0.4 version: 1.0.4 @@ -369,7 +369,7 @@ importers: version: 2.0.8 jest-mock-vscode: specifier: 0.1.6 - version: 0.1.6(jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))) + version: 0.1.6(jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))) proxyquire: specifier: 2.1.3 version: 2.1.3 @@ -528,13 +528,13 @@ importers: version: 1.6.0(chai@4.4.1) eslint-config-airbnb-base: specifier: 15.0.0 - version: 15.0.0(eslint-plugin-import@2.25.3(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0))(eslint@7.30.0) + version: 15.0.0(eslint-plugin-import@2.25.3(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-import: specifier: 2.25.3 - version: 2.25.3(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0) + version: 2.25.3(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1) jest: specifier: 27.5.1 - version: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10) + version: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10) projects/yeoman-ui/packages/backend: dependencies: @@ -553,6 +553,12 @@ importers: '@vscode-logging/logger': specifier: 2.0.9 version: 2.0.9 + '@yeoman/adapter': + specifier: 4.0.2 + version: 4.0.2(@types/node@14.18.63) + '@yeoman/types': + specifier: 1.11.1 + version: 1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4) chalk: specifier: 4.1.2 version: 4.1.2 @@ -587,11 +593,11 @@ importers: specifier: 3.1.0 version: 3.1.0 yeoman-environment: - specifier: 3.19.3 - version: 3.19.3(@types/node@14.18.63) + specifier: 6.1.0 + version: 6.1.0(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4))(mem-fs@4.1.4) yeoman-generator: - specifier: ^4.13.0 - version: 4.13.0(encoding@0.1.13) + specifier: 8.2.2 + version: 8.2.2(@types/node@14.18.63)(@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4))(mem-fs@4.1.4) devDependencies: '@types/cheerio': specifier: ^0.22.31 @@ -623,12 +629,6 @@ importers: '@types/ws': specifier: ^7.4.5 version: 7.4.7 - '@types/yeoman-environment': - specifier: ^2.10.3 - version: 2.10.11(encoding@0.1.13) - '@types/yeoman-generator': - specifier: 5.2.14 - version: 5.2.14(encoding@0.1.13)(mem-fs@2.3.0) '@vscode/vsce': specifier: 2.24.0 version: 2.24.0 @@ -652,10 +652,10 @@ importers: version: 5.5.0(webpack@5.106.2) ts-loader: specifier: ^9.2.3 - version: 9.4.2(typescript@4.5.2)(webpack@5.106.2) + version: 9.4.2(typescript@5.7.3)(webpack@5.106.2) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@14.18.63)(typescript@4.5.2) + version: 10.9.2(@types/node@14.18.63)(typescript@5.7.3) webpack: specifier: ^5.94.0 version: 5.106.2(webpack-cli@5.1.4) @@ -673,28 +673,28 @@ importers: version: 5.9.55 '@sap-devx/inquirer-gui': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/inquirer-gui-auto-complete-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2)(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0)) + version: 3.4.13(typescript@5.7.3)(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0)) '@sap-devx/inquirer-gui-file-browser-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/inquirer-gui-folder-browser-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/inquirer-gui-label-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/inquirer-gui-login-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/inquirer-gui-radio-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/inquirer-gui-tiles-plugin': specifier: 3.4.13 - version: 3.4.13(typescript@4.5.2) + version: 3.4.13(typescript@5.7.3) '@sap-devx/webview-rpc': specifier: 0.4.1 version: 0.4.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -712,44 +712,44 @@ importers: version: 6.1.0 vue: specifier: ^3.3.4 - version: 3.5.34(typescript@4.5.2) + version: 3.5.34(typescript@5.7.3) vue-loading-overlay: specifier: ^6.0.0 - version: 6.0.6(vue@3.5.34(typescript@4.5.2)) + version: 6.0.6(vue@3.5.34(typescript@5.7.3)) vuetify: specifier: ^3.5.7 - version: 3.12.6(typescript@4.5.2)(vue@3.5.34(typescript@4.5.2)) + version: 3.12.6(typescript@5.7.3)(vue@3.5.34(typescript@5.7.3)) devDependencies: '@babel/core': specifier: ^7.22.0 version: 7.29.0 + '@babel/eslint-parser': + specifier: 7.29.7 + version: 7.29.7(@babel/core@7.29.0)(eslint@8.57.1) '@babel/preset-env': specifier: 7.11.5 version: 7.11.5(@babel/core@7.29.0) '@vitejs/plugin-vue': specifier: 4.5.2 - version: 4.5.2(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0))(vue@3.5.34(typescript@4.5.2)) + version: 4.5.2(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0))(vue@3.5.34(typescript@5.7.3)) '@vue/compiler-sfc': specifier: 3.3.4 version: 3.3.4 '@vue/test-utils': specifier: 2.4.1 - version: 2.4.1(@vue/server-renderer@3.5.34(vue@3.5.34(typescript@4.5.2)))(vue@3.5.34(typescript@4.5.2)) + version: 2.4.1(@vue/server-renderer@3.5.34(vue@3.5.34(typescript@5.7.3)))(vue@3.5.34(typescript@5.7.3)) '@vue/vue3-jest': specifier: 29.2.6 - version: 29.2.6(@babel/core@7.29.0)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)))(typescript@4.5.2)(vue@3.5.34(typescript@4.5.2)) - babel-eslint: - specifier: ^10.0.1 - version: 10.1.0(eslint@7.30.0) + version: 29.2.6(@babel/core@7.29.0)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)))(typescript@5.7.3)(vue@3.5.34(typescript@5.7.3)) babel-jest: specifier: 29.7.0 version: 29.7.0(@babel/core@7.29.0) eslint-plugin-vue: specifier: 9.14.1 - version: 9.14.1(eslint@7.30.0) + version: 9.14.1(eslint@8.57.1) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + version: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) jest-environment-jsdom: specifier: ^29.7.0 version: 29.7.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -767,7 +767,7 @@ importers: version: 1.56.1 ts-jest: specifier: ^29.1.1 - version: 29.4.11(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)))(typescript@4.5.2) + version: 29.4.11(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)))(typescript@5.7.3) vite: specifier: 4.5.11 version: 4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0) @@ -787,11 +787,39 @@ importers: specifier: ^7.3.3 version: 7.3.3 yeoman-generator: - specifier: ^4.12.0 - version: 4.13.0(encoding@0.1.13) + specifier: 8.2.2 + version: 8.2.2(@types/node@25.9.1)(@yeoman/types@1.11.1(@types/node@25.9.1)(@yeoman/adapter@4.0.2(@types/node@25.9.1))(mem-fs@4.1.4))(mem-fs@4.1.4) projects/yeoman-ui/packages/types: {} + projects/yeoman-ui/packages/yeoman-env-compat: + dependencies: + yeoman-environment: + specifier: 3.19.3 + version: 3.19.3(@types/node@25.9.1) + yeoman-generator: + specifier: 4.13.0 + version: 4.13.0(encoding@0.1.13) + devDependencies: + null-loader: + specifier: 4.0.1 + version: 4.0.1(webpack@5.106.2) + shx: + specifier: 0.3.3 + version: 0.3.3 + string-replace-loader: + specifier: 3.0.3 + version: 3.0.3(webpack@5.106.2) + ts-loader: + specifier: 9.4.2 + version: 9.4.2(typescript@5.7.3)(webpack@5.106.2) + webpack: + specifier: 5.106.2 + version: 5.106.2(webpack-cli@5.1.4) + webpack-cli: + specifier: 5.1.4 + version: 5.1.4(webpack@5.106.2) + packages: '@asamuzakjp/css-color@3.2.0': @@ -859,9 +887,6 @@ packages: resolution: {integrity: sha512-8R+gRqNhbK1lv6CIGt55a73LsuK9EKU54323FFrQqSpGduQjENpRa3Wy+AWzw/i5YGzTuLL8NN5vifCOJdeJcg==} engines: {node: '>=18.0.0'} - '@babel/code-frame@7.12.11': - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - '@babel/code-frame@7.29.0': resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} @@ -882,6 +907,13 @@ packages: resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} + '@babel/eslint-parser@7.29.7': + resolution: {integrity: sha512-zxt+UJTOMKvUt3yOg+D58MLuz334pHp93qifMFcjIIO+9hN6t+ufw2gi7vDPMpxvfnHRR+3VVXvIjineCcgyXw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + '@babel/generator@7.29.1': resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} @@ -1016,10 +1048,6 @@ packages: resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.16.0': - resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} - engines: {node: '>=6.9.0'} - '@babel/parser@7.29.3': resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} engines: {node: '>=6.0.0'} @@ -1918,22 +1946,87 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint/eslintrc@0.4.3': - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} + '@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} + + '@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} + + '@gar/promise-retry@1.0.3': + resolution: {integrity: sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==} + engines: {node: ^20.17.0 || >=22.9.0} '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - '@humanwhocodes/config-array@0.5.0': - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + '@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 + '@inquirer/ansi@2.0.7': + resolution: {integrity: sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + + '@inquirer/checkbox@5.2.1': + resolution: {integrity: sha512-b6xmA/VlTe0ZgDQHDui+Nav470u7u49nRd8/iuhOcQPO9Ch7lGuogydhi2VOmNlZ+zXcM8IcPuNSwQcdJaF/kw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@6.1.1': + resolution: {integrity: sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@11.2.1': + resolution: {integrity: sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@5.2.2': + resolution: {integrity: sha512-ZRVd/oD+sYsUd5zVm0NflqEzlqfYCyHNsqkHl2oWXEUHs12tCbcSFi+wVFEvD8+LGRaMUsVrE7qeo6lSG/S1Vg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@5.1.1': + resolution: {integrity: sha512-YmQpenjbFSHAK3sOd44puHh3V1KXXr+JiNpUztoSQ4drLh2rTVzTap/YtlAVu/5xavifIlBfNEzJ/neZJ1a/1g==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/external-editor@1.0.3': resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} @@ -1943,10 +2036,99 @@ packages: '@types/node': optional: true + '@inquirer/external-editor@3.0.3': + resolution: {integrity: sha512-6thf5I8q7lZwzGLAxPaaGEREEkZ3nyePPDQ1oyobblxmEE8mqTLguScP7pDjUTAibiyb4hfXl+qjUEJ+di/aNA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@2.0.7': + resolution: {integrity: sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + + '@inquirer/input@5.1.2': + resolution: {integrity: sha512-9K/DDBSQpOyZSkt6sOVP9Vo0TR7atX2kuILsUu0x3wVcVbe97lJwIJKMLdMw25tDYuXl/qp6erT0Xs1rfmcfZg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@4.1.1': + resolution: {integrity: sha512-XF4IXAbPnGPgw0wsbC/i2tPcyfdZgDpUlhsqU0SfT4IRIGWha6Xm9VRgN5yYxJq+jnyXlfXI/nQ3ulfk0iEICA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@5.1.1': + resolution: {integrity: sha512-3XBfF7DAsp5qeDsvN5Rd1HmbNokVvEQoUM0QLrRcybC9nX96w3Pbmu7qUsb3IT3J3jBvs2+mTXaKHOUsgHMLzg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@8.5.2': + resolution: {integrity: sha512-IYR/3C/paEVVQYQvdDlFZVjRCJVYHHON0XXMH91KO9GSxs0TdKYWlUdvfQl2EfAHDxUaN3IBffkE/BDTh5nJ6g==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@5.3.1': + resolution: {integrity: sha512-QqdTqQddL3qPX/PPrjobpsO25NZ4dWXgTLenrR445L2ptLEYE6Z+PD5c5CNDJNx4ugRgELAIpSIJxZaO2jJ2Og==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@4.2.1': + resolution: {integrity: sha512-xJj8QWKRSrfKoBIITLZK61dD3zwo0Rz11fgDImku30/Oe81zMdIdGgrLY2h6RkJ+KZ/GhNYIRMKnH/62qBTA5g==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@5.2.1': + resolution: {integrity: sha512-FlDndEUww8m7BfukO2nJa25vhD+H5jxxCv4oGioKqzyWz3nPHhhw4LKdYRSlXuAx7DsdWia7iyaBPKKS95Evfw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@4.0.7': + resolution: {integrity: sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@isaacs/string-locale-compare@1.1.0': resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} @@ -2137,6 +2319,9 @@ packages: resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} engines: {node: '>=4'} + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2157,11 +2342,20 @@ packages: resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} engines: {node: ^16.14.0 || >=18.0.0} + '@npmcli/agent@4.0.2': + resolution: {integrity: sha512-EUEuWAxnL07Sp5/iC/1X6Xj+XThUvnbei9zfRWZdEXa7lss9RTHMhAHBeg+MZ5To9s/gGaSI+UwZTPdYMvKSeg==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/arborist@4.3.1': resolution: {integrity: sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==} engines: {node: ^12.13.0 || ^14.15.0 || >=16} hasBin: true + '@npmcli/arborist@9.8.0': + resolution: {integrity: sha512-bqjei/1+uait6wA30G7IElMs5VCyGpuVPFQYsvzqhTEEAVmDMsHBCFstcT2lLfeQDvi8MeUQHStfHSArvdTQuw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + '@npmcli/fs@1.1.1': resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} @@ -2173,22 +2367,43 @@ packages: resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/fs@5.0.0': + resolution: {integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/git@2.1.0': resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} + '@npmcli/git@7.0.2': + resolution: {integrity: sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/installed-package-contents@1.0.7': resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} engines: {node: '>= 10'} hasBin: true + '@npmcli/installed-package-contents@4.0.0': + resolution: {integrity: sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + '@npmcli/map-workspaces@2.0.4': resolution: {integrity: sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + '@npmcli/map-workspaces@5.0.3': + resolution: {integrity: sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/metavuln-calculator@2.0.0': resolution: {integrity: sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16} + '@npmcli/metavuln-calculator@9.0.3': + resolution: {integrity: sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/move-file@1.1.2': resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} engines: {node: '>=10'} @@ -2202,15 +2417,43 @@ packages: '@npmcli/name-from-folder@1.0.1': resolution: {integrity: sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==} + '@npmcli/name-from-folder@4.0.0': + resolution: {integrity: sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/node-gyp@1.0.3': resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} + '@npmcli/node-gyp@5.0.0': + resolution: {integrity: sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/package-json@1.0.1': resolution: {integrity: sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==} + '@npmcli/package-json@7.0.5': + resolution: {integrity: sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/promise-spawn@1.3.2': resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} + '@npmcli/promise-spawn@9.0.1': + resolution: {integrity: sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/query@5.0.0': + resolution: {integrity: sha512-8TZWfTQOsODpLqo9SVhVjHovmKXNpevHU0gO9e+y4V4fRIOneiXy0u0sMP9LmS71XivrEWfZWg50ReH4WRT4aQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/redact@4.0.0': + resolution: {integrity: sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/run-script@10.0.4': + resolution: {integrity: sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/run-script@2.0.0': resolution: {integrity: sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==} @@ -2368,6 +2611,18 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} + engines: {node: '>=12'} + '@sap-devx/feature-toggle-node@2.0.3': resolution: {integrity: sha512-OxdJigAFybeZH9Uxm14EXp0NAb+pWzU4U0CvttJgmrRx+NL1loL0/o8gb/Vqk8wHAtNTqXjhz7GvLZ4tfDjUrA==} engines: {node: '>=14.21.2'} @@ -2428,6 +2683,9 @@ packages: '@sap/swa-for-sapbas-vsx@2.0.16': resolution: {integrity: sha512-aEp/NYhvYUnoYrKUJvWDA3icfgXDyEsM3YHGrYDoGI/YmdZDjSVOLuYWl4DabO0x+gxpZREQEVS3thSyuyawgg==} + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@secretlint/config-creator@10.1.1': resolution: {integrity: sha512-TJ42CHZqqnEe9ORvIXVVMqdu3KAtyZRxLspjFexo6XgrwJ6CoFHQYzIihilqRjo2sJh9HMrpnYSj/5hopofGrA==} engines: {node: '>=20.0.0'} @@ -2473,6 +2731,30 @@ packages: resolution: {integrity: sha512-/JGAvVkurVHkargk3AC7UxRy+Ymc+52AVBO/fZA5pShuLW2dX4O/rKc4n8cyhQiOb/3ym5ACSlLQuQ8apPfxrQ==} engines: {node: '>=20.0.0'} + '@sigstore/bundle@4.0.0': + resolution: {integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/core@3.2.1': + resolution: {integrity: sha512-qRsxPnCrbC/puegGxKuynfnxgLiHqWStrSjxkoB4YKqq3Z3s4cyZyj42ZdWFAEblNP65C+rBH8EuREHIXoi83g==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/protobuf-specs@0.5.1': + resolution: {integrity: sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/sign@4.1.1': + resolution: {integrity: sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/tuf@4.0.2': + resolution: {integrity: sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/verify@3.1.1': + resolution: {integrity: sha512-qv7+G3J2cc6wwFj3yKvXOamzqhMwSk1ogPGmhpS8iXllcPrJaIIBA+4HbttlHVu1pqWTdmaCH/WE7UOC51kdoA==} + engines: {node: ^20.17.0 || >=22.9.0} + '@simple-git/args-pathspec@1.0.3': resolution: {integrity: sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==} @@ -2486,6 +2768,10 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@sinonjs/commons@1.8.6': resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} @@ -2557,6 +2843,14 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tufjs/canonical-json@2.0.0': + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@tufjs/models@4.1.0': + resolution: {integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==} + engines: {node: ^20.17.0 || >=22.9.0} + '@types/aws-lambda@8.10.147': resolution: {integrity: sha512-nD0Z9fNIZcxYX5Mai2CTmFD7wX7UldCkW2ezCF8D1T5hdiLsnTWDGRpfRYntU6VjTdLQjOvyszru7I1c1oCQew==} @@ -2602,10 +2896,6 @@ packages: '@types/deep-equal-in-any-order@1.0.4': resolution: {integrity: sha512-nkgl+KTkRWeybgMSBCrWrc1YHFrLADVxZ6Kllj40p9U499NGsCrFUjzgHgQY+Upsa/VWOc3YlsFEvhg+drUmkA==} - '@types/diff@8.0.0': - resolution: {integrity: sha512-o7jqJM04gfaYrdCecCVMbZhNdG6T1MHg/oQoRFdERLV+4d+V7FijhiEAbFu0Usww84Yijk9yH58U4Jk4HbtzZw==} - deprecated: This is a stub types definition. diff provides its own type definitions, so you do not need this installed. - '@types/ejs@3.1.5': resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==} @@ -2648,9 +2938,6 @@ packages: '@types/inquirer@7.3.3': resolution: {integrity: sha512-HhxyLejTHMfohAuhRun4csWigAMjXTmRyiJTU1Y/I1xmggikFMkOUoMQRlFm+zQcPEGHSs3io/0FAmNZf8EymQ==} - '@types/inquirer@8.2.12': - resolution: {integrity: sha512-YxURZF2ZsSjU5TAe06tW0M3sL4UI9AMPA6dd8I72uOtppzNafcY38xkYgCZ/vsVOAyNdzHmvtTpLWilOrbP0dQ==} - '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -2678,20 +2965,15 @@ packages: '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + '@types/lodash@4.14.177': resolution: {integrity: sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw==} '@types/lodash@4.14.202': resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - '@types/mem-fs-editor@10.0.1': - resolution: {integrity: sha512-x8YRuVyEsp7AwHXwnOwjsroItyadmXHi3qglNHbzdCr/X9ofOn4IcTZl6RHEKtBJcYXK6KzX2N98kNVhUefbSA==} - deprecated: This is a stub types definition. mem-fs-editor provides its own type definitions, so you do not need this installed. - - '@types/mem-fs@2.2.0': - resolution: {integrity: sha512-G7D5J0wx7jMJ5dBMDFYcbE/VXol/51o/vpJu3DqRk1R7SrZYtzhDMf1eFoG8A/HOTM7EAbov/euJkULhwvLK1Q==} - deprecated: This is a stub types definition. mem-fs provides its own type definitions, so you do not need this installed. - '@types/mime@1.3.2': resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} @@ -2750,6 +3032,9 @@ packages: '@types/parse-json@4.0.0': resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + '@types/picomatch@4.0.3': + resolution: {integrity: sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==} + '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} @@ -2801,9 +3086,6 @@ packages: '@types/strip-json-comments@0.0.30': resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} - '@types/text-table@0.2.5': - resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} - '@types/through@0.0.33': resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} @@ -2849,68 +3131,72 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@types/yeoman-environment@2.10.11': - resolution: {integrity: sha512-kIDgoiuPnL9HGHwa2t6h4FiUgYFb411/okY0nKhRKw+IMsRxMOWzQUFhZ/CKQvwXvKoCjFTj+MZI2KXAKxVmug==} - - '@types/yeoman-generator@5.2.14': - resolution: {integrity: sha512-eIYBqQyURXiAaoU6jvJqMI+tNSG4s7EXtcHucLCgb8EV2vqz4x1WPr91MT0MiWHV8+9dDRrMkc1VZ6LduexuyA==} + '@typescript-eslint/eslint-plugin@8.60.1': + resolution: {integrity: sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.60.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@types/yeoman-generator@6.0.0': - resolution: {integrity: sha512-K3UaW2Y2o1g+0bbaMtdtWA1oQe//W4AD8LYxDXT/qhjeLies35CV/2zWK9Rx32WYqp3FaYbHYKAS9e/5oZqvrw==} - deprecated: This is a stub types definition. yeoman-generator provides its own type definitions, so you do not need this installed. + '@typescript-eslint/parser@8.60.1': + resolution: {integrity: sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==} + 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' - '@typescript-eslint/eslint-plugin@4.33.0': - resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} - engines: {node: ^10.12.0 || >=12.0.0} + '@typescript-eslint/project-service@8.60.1': + resolution: {integrity: sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/experimental-utils@4.33.0': - resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} - engines: {node: ^10.12.0 || >=12.0.0} + '@typescript-eslint/scope-manager@8.60.1': + resolution: {integrity: sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.60.1': + resolution: {integrity: sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '*' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@4.33.0': - resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} - engines: {node: ^10.12.0 || >=12.0.0} + '@typescript-eslint/type-utils@8.60.1': + resolution: {integrity: sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@4.33.0': - resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + '@typescript-eslint/types@8.60.1': + resolution: {integrity: sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@4.33.0': - resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + '@typescript-eslint/typescript-estree@8.60.1': + resolution: {integrity: sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@4.33.0': - resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} - engines: {node: ^10.12.0 || >=12.0.0} + '@typescript-eslint/utils@8.60.1': + resolution: {integrity: sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@4.33.0': - resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + '@typescript-eslint/visitor-keys@8.60.1': + resolution: {integrity: sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typespec/ts-http-runtime@0.2.3': resolution: {integrity: sha512-oRhjSzcVjX8ExyaF8hC0zzTqxlVuRlgMHL/Bh4w3xB9+wjbm0FpXylVU/lBrn+kgphwYTrOk3tp+AVShGmlYCg==} engines: {node: '>=18.0.0'} + '@ungap/structured-clone@1.3.1': + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + '@vitejs/plugin-vue@4.5.2': resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3161,6 +3447,41 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + '@yeoman/adapter@4.0.2': + resolution: {integrity: sha512-4uttbNuZ/guMBRhf7R6TCfnLT6XY1HGpxsq6vpHRM3AVr5G6Qz7xXqxG2kdMzBGtIuH5CkXz0k/Byl27GsvIkg==} + engines: {node: 20 || >=22} + + '@yeoman/conflicter@4.1.0': + resolution: {integrity: sha512-Py62rJdWHf1zMpf801Ql7kg+sbUeVmvfmZf++mgA1SOk/uByLIfcXUMDzQPSHkW4Y7I2yVWLKZATRGjoczXVFQ==} + engines: {node: 20 || >=22} + peerDependencies: + '@types/node': '>=20.14.8' + '@yeoman/types': ^1.0.0 + mem-fs: ^4.0.0 + + '@yeoman/namespace@2.1.0': + resolution: {integrity: sha512-/BxsZlALPRp34juAzzh9QUr2hR9w9o+dBSw8sF/iv7NfUU/A/QI0xOyVtQJz2uCPuvtY6nkGDxYxZoKI/lnFQg==} + engines: {node: ^16.13.0 || >=18.12.0} + + '@yeoman/transform@2.1.2': + resolution: {integrity: sha512-LdPNm5Moc+Z8l2YeQ0IzsybXoV531o7RmGJB8lpFr8SjtqqGkT2bZYlS1LftPpCcPJ//yE0MbI/fPGh1WWlabg==} + engines: {node: '>=18.19.0'} + peerDependencies: + '@types/node': '>=18.19.44' + + '@yeoman/types@1.11.1': + resolution: {integrity: sha512-27CI5hHQAHfq8ohYILmLNzClbdzBJzu+ny9AzUVV6naJO0l4/+t+67QDKlwQvt+TW3oE5j74I/Mh4Kn14rsVXA==} + engines: {node: ^16.13.0 || >=18.12.0} + peerDependencies: + '@types/node': '>=16.18.26' + '@yeoman/adapter': ^1.6.0 || ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0 + mem-fs: ^3.0.0 || ^4.0.0-beta.1 + peerDependenciesMeta: + '@yeoman/adapter': + optional: true + mem-fs: + optional: true + JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -3176,6 +3497,10 @@ packages: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + abbrev@4.0.0: + resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} + engines: {node: ^20.17.0 || >=22.9.0} + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -3262,15 +3587,9 @@ packages: peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} @@ -3309,6 +3628,10 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@2.2.1: resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} engines: {node: '>=0.10.0'} @@ -3400,6 +3723,10 @@ packages: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} engines: {node: '>=8'} + array-differ@4.0.0: + resolution: {integrity: sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + array-find-index@1.0.2: resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} engines: {node: '>=0.10.0'} @@ -3422,6 +3749,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array-union@3.0.1: + resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} + engines: {node: '>=12'} + array-uniq@1.0.3: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} @@ -3450,6 +3781,10 @@ packages: resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} engines: {node: '>=8'} + arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -3530,13 +3865,6 @@ packages: react-native-b4a: optional: true - babel-eslint@10.1.0: - resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==} - engines: {node: '>=6'} - deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. - peerDependencies: - eslint: '>= 4.12.1' - babel-jest@27.5.1: resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -3626,10 +3954,18 @@ packages: resolution: {integrity: sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + bin-links@6.0.2: + resolution: {integrity: sha512-frE1t78WOwJ45PKV2cF2tNPjTcs9L1J9s6VkrV59wanRP4GlaomuxYPVma7BwthMg8WnfSory4w5PTE6FZZ81w==} + engines: {node: ^20.17.0 || >=22.9.0} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + binary-extensions@3.1.0: + resolution: {integrity: sha512-Jvvd9hy1w+xUad8+ckQsWA/V1AoyubOvqn0aygjMOVM4BfIaRav1NFS3LsTSDaV4n4FtcCtQXvzep1E6MboqwQ==} + engines: {node: '>=18.20'} + binaryextensions@2.3.0: resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==} engines: {node: '>=0.8'} @@ -3753,6 +4089,10 @@ packages: resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} engines: {node: ^16.14.0 || >=18.0.0} + cacache@20.0.4: + resolution: {integrity: sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==} + engines: {node: ^20.17.0 || >=22.9.0} + cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} @@ -3847,6 +4187,10 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -3885,6 +4229,10 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} @@ -3908,10 +4256,18 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-spinners@3.4.0: + resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} + engines: {node: '>=18.20'} + cli-table@0.3.11: resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} engines: {node: '>= 0.2.0'} @@ -3924,6 +4280,10 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -3964,6 +4324,10 @@ packages: resolution: {integrity: sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + cmd-shim@8.0.0: + resolution: {integrity: sha512-Jk/BK6NCapZ58BKUxlSI+ouKRbjH1NLZCgJkYoab+vEHUY3f6OzpNBN9u7HFSv9J6TRDGs4PLOHezoKGaFRSCA==} + engines: {node: ^20.17.0 || >=22.9.0} + co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -4034,6 +4398,10 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -4049,13 +4417,13 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + common-ancestor-path@2.0.0: + resolution: {integrity: sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==} + engines: {node: '>= 18'} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -4193,10 +4561,6 @@ packages: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -4319,6 +4683,10 @@ packages: dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dateformat@5.0.3: + resolution: {integrity: sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA==} + engines: {node: '>=12.20'} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -4362,15 +4730,6 @@ packages: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -4547,6 +4906,10 @@ packages: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} + diff@9.0.0: + resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==} + engines: {node: '>=0.3.1'} + diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} @@ -4720,10 +5083,6 @@ packages: resolution: {integrity: sha512-8p7DUVq6XJnZEz9W4oSwiwycxBIjHjRzYb3Je3zVN+geKTRQKzAkR/K4PBExlS0090d9nshak6phMUxr3PDjmQ==} engines: {node: '>=10.13.0'} - enhanced-resolve@5.8.3: - resolution: {integrity: sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==} - engines: {node: '>=10.13.0'} - enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -4761,6 +5120,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + envinfo@7.14.0: resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} @@ -4887,8 +5250,8 @@ packages: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.2 - eslint-config-prettier@8.3.0: - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -4939,28 +5302,20 @@ packages: peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + eslint-plugin-vue@9.33.0: + resolution: {integrity: sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.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} - eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - - eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - eslint-visitor-keys@2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} @@ -4969,9 +5324,13 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@7.30.0: - resolution: {integrity: sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==} - engines: {node: ^10.12.0 || >=12.0.0} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + 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 @@ -4979,10 +5338,6 @@ packages: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} engines: {node: '>=0.10'} - espree@7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} - espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4997,8 +5352,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -5038,6 +5393,9 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + events-universal@1.0.1: resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} @@ -5057,6 +5415,10 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} + engines: {node: ^18.19.0 || >=20.5.0} + exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -5077,6 +5439,9 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} + express@4.22.1: resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} engines: {node: '>= 0.10.0'} @@ -5152,9 +5517,18 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + fast-uri@3.1.2: resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + fastest-levenshtein@1.0.12: resolution: {integrity: sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==} @@ -5167,6 +5541,15 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} @@ -5174,6 +5557,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -5208,6 +5595,10 @@ packages: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} + find-up-simple@1.0.1: + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} + engines: {node: '>=18'} + find-up@1.1.2: resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} engines: {node: '>=0.10.0'} @@ -5247,12 +5638,13 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.2.4: - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} - flatted@3.4.2: resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + fly-import@1.0.0: + resolution: {integrity: sha512-JZEaXZw9QR+DRMClMVJYeY5SNn8zzHBuc+KTreFGDBghRXzCiGR9aDgYGP7O/EeoxwHBZ2Brl+2ixlH/Jmt/qg==} + engines: {node: ^20.17.0 || >=22.9.0} + fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} @@ -5386,9 +5778,6 @@ packages: resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} - functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -5417,6 +5806,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} + get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -5459,6 +5852,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -5521,6 +5918,10 @@ packages: 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 + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} + glob@5.0.15: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} 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 @@ -5538,8 +5939,8 @@ packages: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} - globals@13.12.0: - resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} globalthis@1.0.3: @@ -5566,6 +5967,10 @@ packages: resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} engines: {node: '>=18'} + globby@16.2.0: + resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} + engines: {node: '>=20'} + globby@8.0.2: resolution: {integrity: sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==} engines: {node: '>=4'} @@ -5582,12 +5987,18 @@ packages: resolution: {integrity: sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==} engines: {node: '>=4'} + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} graceful-fs@4.2.8: resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + grouped-queue@1.1.0: resolution: {integrity: sha512-rZOFKfCqLhsu5VqjBjEWiwrYqJR07KxIkH4mLZlNlGDfntbb4FbMyGFP14TlvRPrU9S3Hnn/sgxbC5ZeN0no3Q==} @@ -5683,8 +6094,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hasown@2.0.3: - resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} he@1.2.0: @@ -5702,6 +6113,10 @@ packages: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} + hosted-git-info@9.0.3: + resolution: {integrity: sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==} + engines: {node: ^20.17.0 || >=22.9.0} + html-encoding-sniffer@2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -5791,6 +6206,10 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -5822,6 +6241,10 @@ packages: resolution: {integrity: sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==} engines: {node: '>=10'} + ignore-walk@8.0.0: + resolution: {integrity: sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==} + engines: {node: ^20.17.0 || >=22.9.0} + ignore@3.3.10: resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} @@ -5833,10 +6256,6 @@ packages: resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} engines: {node: '>= 4'} - ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -5889,6 +6308,10 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + index-to-position@1.2.0: + resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} + engines: {node: '>=18'} + infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} @@ -5906,6 +6329,23 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@5.0.0: + resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} + engines: {node: ^18.17.0 || >=20.5.0} + + ini@6.0.0: + resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + inquirer@13.4.3: + resolution: {integrity: sha512-EPd3IqieHSavSOXh+LZhrIkdQcOELWeRblLT6kslQr+cF9XTh/HxZdSt1YkHH1iq4dvqBnV42uwg2YlorgOy6g==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + inquirer@7.3.3: resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} engines: {node: '>=8.0.0'} @@ -6052,6 +6492,10 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} @@ -6086,6 +6530,14 @@ packages: is-object@1.0.2: resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -6098,6 +6550,10 @@ packages: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} @@ -6145,6 +6601,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -6172,6 +6632,10 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} @@ -6216,6 +6680,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} + isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} engines: {node: '>=0.10.0'} @@ -6656,6 +7124,10 @@ packages: resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + json-parse-even-better-errors@5.0.0: + resolution: {integrity: sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==} + engines: {node: ^20.17.0 || >=22.9.0} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -6718,6 +7190,9 @@ packages: just-diff@5.2.0: resolution: {integrity: sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw==} + just-diff@6.0.2: + resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==} + just-extend@6.2.0: resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} @@ -6784,6 +7259,14 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + ky@1.14.3: + resolution: {integrity: sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==} + engines: {node: '>=18'} + + latest-version@9.0.0: + resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} + engines: {node: '>=18'} + lazy-cache@2.0.2: resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} engines: {node: '>=0.10.0'} @@ -6883,6 +7366,13 @@ packages: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@8.0.0: + resolution: {integrity: sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg==} + engines: {node: '>=20'} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -6962,6 +7452,10 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + log-symbols@7.0.1: + resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} + engines: {node: '>=18'} + log-update@4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} engines: {node: '>=10'} @@ -6996,6 +7490,10 @@ packages: resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} engines: {node: 20 || >=22} + lru-cache@11.5.1: + resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -7025,6 +7523,10 @@ packages: resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} engines: {node: ^16.14.0 || >=18.0.0} + make-fetch-happen@15.0.6: + resolution: {integrity: sha512-Je0fLJ0F5atA7F+eIlLzk+Wkcl57JDf4kf+EW8xiP5E31xOQxkIxTbgf1Oi1Lw9tRI9UEMRdI5Vz2xTzoNU1Jw==} + engines: {node: ^20.17.0 || >=22.9.0} + make-fetch-happen@9.1.0: resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} @@ -7076,6 +7578,16 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + mem-fs-editor@12.0.4: + resolution: {integrity: sha512-gc8b4VlisaGp5W+ot2f4Xc8jUgKnMn5UR2mKsdm8UdbESYCdSiQKqioktPu8gJ0Uxd8gV/m/M16Pp5n1Ge8pjA==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@types/node': '>=20' + mem-fs: ^4.0.0 + peerDependenciesMeta: + '@types/node': + optional: true + mem-fs-editor@6.0.0: resolution: {integrity: sha512-e0WfJAMm8Gv1mP5fEq/Blzy6Lt1VbLg7gNnZmZak7nhrBTibs+c6nQ4SKs/ZyJYHS1mFgDJeopsLAv7Ow0FMFg==} @@ -7196,6 +7708,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -7204,9 +7720,6 @@ packages: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} - minimatch@3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -7248,6 +7761,10 @@ packages: resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + minipass-fetch@5.0.2: + resolution: {integrity: sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==} + engines: {node: ^20.17.0 || >=22.9.0} + minipass-flush@1.0.7: resolution: {integrity: sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==} engines: {node: '>= 8'} @@ -7263,6 +7780,10 @@ packages: resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} engines: {node: '>=8'} + minipass-sized@2.0.0: + resolution: {integrity: sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==} + engines: {node: '>=8'} + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -7275,10 +7796,18 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} @@ -7342,9 +7871,17 @@ packages: resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} engines: {node: '>=10'} + multimatch@8.0.0: + resolution: {integrity: sha512-0D10M2/MnEyvoog7tmozlpSqL3HEU1evxUFa3v1dsKYmBDFSP1dLSX4CH2rNjpQ+4Fps8GKmUkCwiKryaKqd9A==} + engines: {node: '>=20'} + mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mute-stream@3.0.0: + resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} + engines: {node: ^20.17.0 || >=22.9.0} + nanoid@3.3.12: resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -7364,6 +7901,10 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} + neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -7408,6 +7949,11 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true + node-gyp@12.4.0: + resolution: {integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + node-gyp@8.4.1: resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} engines: {node: '>= 10.12.0'} @@ -7446,6 +7992,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true + nopt@9.0.0: + resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -7453,6 +8004,10 @@ packages: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} + normalize-package-data@8.0.0: + resolution: {integrity: sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==} + engines: {node: ^20.17.0 || >=22.9.0} + normalize-path@2.1.1: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} @@ -7468,10 +8023,18 @@ packages: npm-bundled@1.1.2: resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} + npm-bundled@5.0.0: + resolution: {integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-install-checks@4.0.0: resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} engines: {node: '>=10'} + npm-install-checks@8.0.0: + resolution: {integrity: sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-normalize-package-bin@1.0.1: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} @@ -7479,19 +8042,35 @@ packages: resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + npm-normalize-package-bin@5.0.0: + resolution: {integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-package-arg@11.0.3: resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} + npm-package-arg@13.0.2: + resolution: {integrity: sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-package-arg@8.1.5: resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} engines: {node: '>=10'} + npm-packlist@10.0.4: + resolution: {integrity: sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-packlist@3.0.0: resolution: {integrity: sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==} engines: {node: '>=10'} hasBin: true + npm-pick-manifest@11.0.3: + resolution: {integrity: sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-pick-manifest@6.1.1: resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} @@ -7503,6 +8082,10 @@ packages: resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} engines: {node: ^16.14.0 || >=18.0.0} + npm-registry-fetch@19.1.1: + resolution: {integrity: sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==} + engines: {node: ^20.17.0 || >=22.9.0} + npm-run-all2@5.0.2: resolution: {integrity: sha512-S2G6FWZ3pNWAAKm2PFSOtEAG/N+XO/kz3+9l6V91IY+Y3XFSt7Lp7DV92KCgEboEW0hRTu0vFaMe4zXDZYaOyA==} engines: {node: '>= 10'} @@ -7516,6 +8099,10 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. @@ -7532,6 +8119,12 @@ packages: resolution: {integrity: sha512-j8ZNHg19TyIQOWCGeeQJBuu6xZYIEurf8M1Qsfd8mFrGEfIZytbw18YjKWg+LcO25NowXGZXZpKAx+Ui3TFfDw==} engines: {node: '>=0.10.0'} + null-loader@4.0.1: + resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + nwsapi@2.2.23: resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} @@ -7609,6 +8202,10 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + open@10.1.2: resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==} engines: {node: '>=18'} @@ -7621,14 +8218,18 @@ packages: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} - optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} + ora@9.4.0: + resolution: {integrity: sha512-84cglkRILFxdtA8hAvLNdMrtBpPNBTrQ9/ulg0FA7xLMnD6mifv+enAIeRmvtv+WgdCE+LPGOfQmtJRrVaIVhQ==} + engines: {node: '>=20'} + os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -7708,14 +8309,34 @@ packages: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} engines: {node: '>=8'} + p-queue@8.1.1: + resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==} + engines: {node: '>=18'} + + p-queue@9.3.0: + resolution: {integrity: sha512-7NED7xhQ74Ngp4JP/2e0VZHp7vSWfJfqeiR92jPgxsz6m0Se4P03YoTKa9dDXyZ3r6P616gUXttrB6nnHYKang==} + engines: {node: '>=20'} + p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} + p-timeout@6.1.4: + resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} + engines: {node: '>=14.16'} + + p-timeout@7.0.1: + resolution: {integrity: sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==} + engines: {node: '>=20'} + p-transform@1.3.0: resolution: {integrity: sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==} engines: {node: '>=12.10.0'} + p-transform@5.0.1: + resolution: {integrity: sha512-tb3/zIwbU6Z9RMDxZM3/UsyL5LpIUQj7Drq7iXWG9ilPpzyGG28EEFRRrGTsxHf3sOSOiQEiwevQH/VWtHbZfg==} + engines: {node: '>=18.19.0'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -7731,6 +8352,10 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-json@10.0.1: + resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} + engines: {node: '>=18'} + package-manager-detector@0.2.8: resolution: {integrity: sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==} @@ -7739,6 +8364,11 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16} hasBin: true + pacote@21.5.1: + resolution: {integrity: sha512-KvcJ9iy3crysCsgqc4+PknH/w6jkrp8JN36mpZBPwNaDRwTfMZD37YzRazNstiZUOhuF5pno9f78n9mEJBavwg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + paged-request@2.0.2: resolution: {integrity: sha512-NWrGqneZImDdcMU/7vMcAOo1bIi5h/pmpJqe7/jdsy85BA/s5MSaU/KlpxwW/IVPmIwBcq2uKPrBWWhEWhtxag==} engines: {node: '>=8'} @@ -7751,6 +8381,10 @@ packages: resolution: {integrity: sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + parse-conflict-json@5.0.1: + resolution: {integrity: sha512-ZHEmNKMq1wyJXNwLxyHnluPfRAFSIliBvbK/UiOceROt4Xh9Pz0fq49NytIaeaCUf5VR86hwQ/34FCcNU5/LKQ==} + engines: {node: ^20.17.0 || >=22.9.0} + parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -7763,6 +8397,14 @@ packages: resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} engines: {node: '>=16'} + parse-json@8.3.0: + resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} + engines: {node: '>=18'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-semver@1.1.1: resolution: {integrity: sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==} @@ -7820,6 +8462,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -7831,6 +8477,10 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} + path-to-regexp@0.1.13: resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} @@ -7877,6 +8527,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + pidtree@0.5.0: resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} engines: {node: '>=0.10'} @@ -7932,6 +8586,10 @@ packages: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} + engines: {node: '>=4'} + postcss@8.5.15: resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} engines: {node: ^10 || ^12 || >=14} @@ -7972,6 +8630,10 @@ packages: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} + pretty-bytes@7.1.0: + resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} + engines: {node: '>=20'} + pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -7980,6 +8642,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + pretty@2.0.0: resolution: {integrity: sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w==} engines: {node: '>=0.10.0'} @@ -7995,6 +8661,10 @@ packages: resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + proc-log@6.1.0: + resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} + engines: {node: ^20.17.0 || >=22.9.0} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -8006,9 +8676,9 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} + proggy@4.0.0: + resolution: {integrity: sha512-MbA4R+WQT76ZBm/5JUpV9yqcJt92175+Y0Bodg3HgiXzrmKu7Ggq+bpn6y6wHH+gN9NcyKn3yg1+d47VaKwNAQ==} + engines: {node: ^20.17.0 || >=22.9.0} promise-all-reject-late@1.0.1: resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} @@ -8016,6 +8686,9 @@ packages: promise-call-limit@1.0.2: resolution: {integrity: sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==} + promise-call-limit@3.0.2: + resolution: {integrity: sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==} + promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -8126,10 +8799,18 @@ packages: resolution: {integrity: sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + read-cmd-shim@6.0.0: + resolution: {integrity: sha512-1zM5HuOfagXCBWMN83fuFI/x+T/UhZ7k+KIzhrHXcQoeX5+7gmaDYjELQHmmzIodumBHeByBJT4QYS7ufAgs7A==} + engines: {node: ^20.17.0 || >=22.9.0} + read-package-json-fast@2.0.3: resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} engines: {node: '>=10'} + read-package-up@12.0.0: + resolution: {integrity: sha512-Q5hMVBYur/eQNWDdbF4/Wqqr9Bjvtrw2kjGxxBbKLbx8bVCL8gcArjTy8zDUuLGQicftpMuU0riQNcAsbtOVsw==} + engines: {node: '>=20'} + read-pkg-up@1.0.1: resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} engines: {node: '>=0.10.0'} @@ -8142,6 +8823,10 @@ packages: resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} engines: {node: '>=0.10.0'} + read-pkg@10.1.0: + resolution: {integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==} + engines: {node: '>=20'} + read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -8211,14 +8896,22 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - regexpu-core@6.4.0: resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} + registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + registry-url@7.2.0: + resolution: {integrity: sha512-I5UEBQ+09LWKInA1fPswOMZps0cs2Z+IQXb5Z5EkTJiUmIN52Vm/FD3ji5X82c5jIXL3nWEWOrYK0RkON6Oqyg==} + engines: {node: '>=18'} + regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} @@ -8329,6 +9022,10 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} @@ -8377,6 +9074,10 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} + run-async@4.0.6: + resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==} + engines: {node: '>=0.12.0'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -8482,11 +9183,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - semver@7.5.2: resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==} engines: {node: '>=10'} @@ -8630,6 +9326,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sigstore@4.1.1: + resolution: {integrity: sha512-endqECJkfhozrXMK5ngu/UAA0xVcVEFdnHJCElGaExypjW+HK5i6zu3NteLoaX/iFbRUbC3+DjttQs0GARr+5w==} + engines: {node: ^20.17.0 || >=22.9.0} + simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} @@ -8719,6 +9419,10 @@ packages: sort-any@2.0.0: resolution: {integrity: sha512-T9JoiDewQEmWcnmPn/s9h/PH9t3d/LSWi0RgVmXSuDYeZXTZOZ1/wrK2PHaptuR1VXe3clLLt0pD6sgVOwjNEA==} + sort-keys@6.0.0: + resolution: {integrity: sha512-ueSlHJMwpIw42CJ4B11Uxzh/S0p0AlOyiNktlv2KOu5e1JpUE6DlC4AAUjXqesHdBRv/g0wC9Q4vwq0NP2pA9w==} + engines: {node: '>=20'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -8773,6 +9477,9 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-license-ids@3.0.11: resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} @@ -8799,6 +9506,10 @@ packages: resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@13.0.1: + resolution: {integrity: sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==} + engines: {node: ^20.17.0 || >=22.9.0} + ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} @@ -8845,6 +9556,10 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} + stdin-discarder@0.3.2: + resolution: {integrity: sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==} + engines: {node: '>=18'} + stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -8889,6 +9604,10 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string-width@8.2.1: + resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} + engines: {node: '>=20'} + string.prototype.trim@1.2.10: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} @@ -8931,6 +9650,10 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + strip-bom-buf@1.0.0: resolution: {integrity: sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==} engines: {node: '>=4'} @@ -8967,6 +9690,10 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-indent@1.0.1: resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} engines: {node: '>=0.10.0'} @@ -9018,17 +9745,13 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - table@6.7.3: - resolution: {integrity: sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==} - engines: {node: '>=10.0.0'} - table@6.9.0: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} tapable@2.3.3: resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} @@ -9046,6 +9769,10 @@ packages: engines: {node: '>=10'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + tar@7.5.16: + resolution: {integrity: sha512-56adEpPMouktRlBLXiaYFFzZ/3+JXa8P9n7WbR+ibIjtviN55mEaOkiysCnPnWm+7kkui1Dn8J9l+g6zV8731w==} + engines: {node: '>=18'} + teex@1.0.1: resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} @@ -9123,6 +9850,10 @@ packages: tinyexec@0.3.1: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + titleize@2.1.0: resolution: {integrity: sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g==} engines: {node: '>=6'} @@ -9199,6 +9930,10 @@ packages: treeverse@1.0.4: resolution: {integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==} + treeverse@3.0.0: + resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + trim-newlines@1.0.0: resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} engines: {node: '>=0.10.0'} @@ -9207,6 +9942,12 @@ packages: resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} engines: {node: '>= 14.0.0'} + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-enum-util@4.0.2: resolution: {integrity: sha512-BB5qjvHYgYgOB/CaoA1Cy/B2QNnZ+nVBrJ15VV/AXGWx+AO83k5wgeLOJvkSLoKKavvH/M8Wj4ZbgROjsuYwzw==} @@ -9278,11 +10019,9 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsutils@3.21.0: - 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' + tuf-js@4.1.0: + resolution: {integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==} + engines: {node: ^20.17.0 || >=22.9.0} tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -9338,6 +10077,10 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} + type-fest@5.7.0: + resolution: {integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==} + engines: {node: '>=20'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -9373,9 +10116,9 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@4.5.2: - resolution: {integrity: sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==} - engines: {node: '>=4.2.0'} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} hasBin: true ua-parser-js@0.7.41: @@ -9403,6 +10146,10 @@ packages: undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + undici@6.26.0: + resolution: {integrity: sha512-4yqz8a3n5HmGTlsbADNtr/dJlhkh/55Rq798G6ibiULcXbDtaLpTl1pvdqcbFfeoj3iSi52lePFM7h9H21cw/A==} + engines: {node: '>=18.17'} + undici@7.25.0: resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} engines: {node: '>=20.18.1'} @@ -9431,6 +10178,10 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} + union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} @@ -9491,6 +10242,10 @@ packages: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} + untildify@6.0.0: + resolution: {integrity: sha512-sA2YTBvW2F463GvSbiZtso+dpuQV+B7xX9saX30SGrR5Fyx4AUcvA/zN+ShAkABKUKVyDaHECsJrHv5ToTuHsQ==} + engines: {node: '>=20'} + unzip-response@2.0.1: resolution: {integrity: sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==} engines: {node: '>=4'} @@ -9557,9 +10312,6 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - v8-to-istanbul@8.1.1: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} @@ -9578,6 +10330,10 @@ packages: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@7.0.2: + resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} + engines: {node: ^20.17.0 || >=22.9.0} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -9722,6 +10478,10 @@ packages: walk-up-path@1.0.0: resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==} + walk-up-path@4.0.0: + resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} + engines: {node: 20 || >=22} + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -9873,6 +10633,10 @@ packages: which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + which-package-manager@1.0.1: + resolution: {integrity: sha512-Nse2rVsL302dkEhCyyS1U3iEQ9FRYPPkWJNk188xUVkKIGXjMmDPlA3L1VettE+T2z7SGLsJiDaZw//8CHUQwQ==} + engines: {node: '>=18'} + which-pm@2.2.0: resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} engines: {node: '>=8.15'} @@ -9890,6 +10654,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} @@ -9954,6 +10723,10 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@7.0.1: + resolution: {integrity: sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==} + engines: {node: ^20.17.0 || >=22.9.0} + ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -10053,6 +10826,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -10099,10 +10876,30 @@ packages: engines: {node: '>=12.10.0'} hasBin: true + yeoman-environment@6.1.0: + resolution: {integrity: sha512-QSKMfrSx3js9fxbMDBa+sZG0ctF0NDxcO6VA5BnrWdo6wqhdalT2IUU/ZrNakQLZQ76E3B6b0lXHKEA7ivsWxA==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + peerDependencies: + '@yeoman/adapter': ^4.0.2 + '@yeoman/types': ^1.10.3 + mem-fs: ^4.1.4 + yeoman-generator@4.13.0: resolution: {integrity: sha512-f2/5N5IR3M2Ozm+QocvZQudlQITv2DwI6Mcxfy7R7gTTzaKgvUpgo/pQMJ+WQKm0KN0YMWCFOZpj0xFGxevc1w==} engines: {node: '>=10'} + yeoman-generator@8.2.2: + resolution: {integrity: sha512-GIvRULf09VrTyJ1nMIxCRFTI8gzW9zsAxVXTHOmsWVKZ7QYPdByRQvFtnp0XOObM6dvDSoAwBhuYR6i5inp/ig==} + engines: {node: ^20.17.0 || >=22.9.0} + peerDependencies: + '@types/node': '>=20.19.35' + '@yeoman/types': ^1.1.1 + mem-fs: ^4.0.0 + peerDependenciesMeta: + '@types/node': + optional: true + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -10115,6 +10912,10 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + snapshots: '@asamuzakjp/css-color@3.2.0': @@ -10236,10 +11037,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/code-frame@7.12.11': - dependencies: - '@babel/highlight': 7.16.0 - '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -10276,6 +11073,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/eslint-parser@7.29.7(@babel/core@7.29.0)(eslint@8.57.1)': + dependencies: + '@babel/core': 7.29.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.1 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + '@babel/generator@7.29.1': dependencies: '@babel/parser': 7.29.3 @@ -10443,12 +11248,6 @@ snapshots: '@babel/template': 7.29.7 '@babel/types': 7.29.7 - '@babel/highlight@7.16.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - '@babel/parser@7.29.3': dependencies: '@babel/types': 7.29.0 @@ -11130,11 +11929,11 @@ snapshots: '@colors/colors@1.6.0': {} - '@commitlint/cli@19.5.0(@types/node@16.11.10)(typescript@4.5.2)': + '@commitlint/cli@19.5.0(@types/node@16.11.10)(typescript@5.7.3)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.5.0 - '@commitlint/load': 19.5.0(@types/node@16.11.10)(typescript@4.5.2) + '@commitlint/load': 19.5.0(@types/node@16.11.10)(typescript@5.7.3) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.1 @@ -11181,15 +11980,15 @@ snapshots: '@commitlint/rules': 19.5.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.5.0(@types/node@16.11.10)(typescript@4.5.2)': + '@commitlint/load@19.5.0(@types/node@16.11.10)(typescript@5.7.3)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@4.5.2) - cosmiconfig-typescript-loader: 5.0.0(@types/node@16.11.10)(cosmiconfig@9.0.0(typescript@4.5.2))(typescript@4.5.2) + cosmiconfig: 9.0.0(typescript@5.7.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@16.11.10)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -11415,44 +12214,300 @@ snapshots: '@esbuild/win32-x64@0.25.5': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@7.30.0)': + '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)': dependencies: - eslint: 7.30.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint/eslintrc@0.4.3': + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/eslintrc@2.1.4': dependencies: - ajv: 6.12.6 - debug: 4.4.1 - espree: 7.3.1 - globals: 13.12.0 - ignore: 4.0.6 + ajv: 6.15.0 + debug: 4.4.3 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 import-fresh: 3.3.0 - js-yaml: 3.14.1 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color + '@eslint/js@8.57.1': {} + + '@gar/promise-retry@1.0.3': {} + '@gar/promisify@1.1.3': {} - '@humanwhocodes/config-array@0.5.0': + '@humanwhocodes/config-array@0.13.0': dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.4.1 + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@humanwhocodes/object-schema@1.2.1': {} + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@inquirer/ansi@2.0.7': {} + + '@inquirer/checkbox@5.2.1(@types/node@14.18.63)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/checkbox@5.2.1(@types/node@25.9.1)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/confirm@6.1.1(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/confirm@6.1.1(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/core@11.2.1(@types/node@14.18.63)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@14.18.63) + cli-width: 4.1.0 + fast-wrap-ansi: 0.2.2 + mute-stream: 3.0.0 + signal-exit: 4.1.0 + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/core@11.2.1(@types/node@25.9.1)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@25.9.1) + cli-width: 4.1.0 + fast-wrap-ansi: 0.2.2 + mute-stream: 3.0.0 + signal-exit: 4.1.0 + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/editor@5.2.2(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/external-editor': 3.0.3(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/editor@5.2.2(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/external-editor': 3.0.3(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/expand@5.1.1(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/expand@5.1.1(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 25.9.1 + + '@inquirer/external-editor@3.0.3(@types/node@14.18.63)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 14.18.63 - '@inquirer/external-editor@1.0.3(@types/node@14.18.63)': + '@inquirer/external-editor@3.0.3(@types/node@25.9.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/figures@2.0.7': {} + + '@inquirer/input@5.1.2(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) optionalDependencies: '@types/node': 14.18.63 + '@inquirer/input@5.1.2(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/number@4.1.1(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/number@4.1.1(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/password@5.1.1(@types/node@14.18.63)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/password@5.1.1(@types/node@25.9.1)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/prompts@8.5.2(@types/node@14.18.63)': + dependencies: + '@inquirer/checkbox': 5.2.1(@types/node@14.18.63) + '@inquirer/confirm': 6.1.1(@types/node@14.18.63) + '@inquirer/editor': 5.2.2(@types/node@14.18.63) + '@inquirer/expand': 5.1.1(@types/node@14.18.63) + '@inquirer/input': 5.1.2(@types/node@14.18.63) + '@inquirer/number': 4.1.1(@types/node@14.18.63) + '@inquirer/password': 5.1.1(@types/node@14.18.63) + '@inquirer/rawlist': 5.3.1(@types/node@14.18.63) + '@inquirer/search': 4.2.1(@types/node@14.18.63) + '@inquirer/select': 5.2.1(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/prompts@8.5.2(@types/node@25.9.1)': + dependencies: + '@inquirer/checkbox': 5.2.1(@types/node@25.9.1) + '@inquirer/confirm': 6.1.1(@types/node@25.9.1) + '@inquirer/editor': 5.2.2(@types/node@25.9.1) + '@inquirer/expand': 5.1.1(@types/node@25.9.1) + '@inquirer/input': 5.1.2(@types/node@25.9.1) + '@inquirer/number': 4.1.1(@types/node@25.9.1) + '@inquirer/password': 5.1.1(@types/node@25.9.1) + '@inquirer/rawlist': 5.3.1(@types/node@25.9.1) + '@inquirer/search': 4.2.1(@types/node@25.9.1) + '@inquirer/select': 5.2.1(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/rawlist@5.3.1(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/rawlist@5.3.1(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/search@4.2.1(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/search@4.2.1(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/select@5.2.1(@types/node@14.18.63)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@14.18.63) + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/select@5.2.1(@types/node@25.9.1)': + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@25.9.1) + optionalDependencies: + '@types/node': 25.9.1 + optional: true + + '@inquirer/type@4.0.7(@types/node@14.18.63)': + optionalDependencies: + '@types/node': 14.18.63 + + '@inquirer/type@4.0.7(@types/node@25.9.1)': + optionalDependencies: + '@types/node': 25.9.1 + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -11462,6 +12517,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@isaacs/string-locale-compare@1.1.0': {} '@istanbuljs/load-nyc-config@1.1.0': @@ -11492,7 +12551,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10)': + '@jest/core@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10)': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 @@ -11506,7 +12565,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10) + jest-config: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -11521,7 +12580,7 @@ snapshots: micromatch: 4.0.8 rimraf: 3.0.2 slash: 3.0.0 - strip-ansi: 6.0.1 + strip-ansi: 6.0.0 transitivePeerDependencies: - bufferutil - canvas @@ -11529,7 +12588,7 @@ snapshots: - ts-node - utf-8-validate - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -11543,7 +12602,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -11558,13 +12617,13 @@ snapshots: micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 - strip-ansi: 6.0.1 + strip-ansi: 6.0.0 transitivePeerDependencies: - babel-plugin-macros - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -11578,7 +12637,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -11593,7 +12652,7 @@ snapshots: micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 - strip-ansi: 6.0.1 + strip-ansi: 6.0.0 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -11908,6 +12967,10 @@ snapshots: call-me-maybe: 1.0.2 glob-to-regexp: 0.3.0 + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + dependencies: + eslint-scope: 5.1.1 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -11932,6 +12995,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@npmcli/agent@4.0.2': + dependencies: + agent-base: 7.1.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 11.5.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + '@npmcli/arborist@4.3.1': dependencies: '@isaacs/string-locale-compare': 1.1.0 @@ -11970,6 +13043,45 @@ snapshots: - bluebird - supports-color + '@npmcli/arborist@9.8.0': + dependencies: + '@gar/promise-retry': 1.0.3 + '@isaacs/string-locale-compare': 1.1.0 + '@npmcli/fs': 5.0.0 + '@npmcli/installed-package-contents': 4.0.0 + '@npmcli/map-workspaces': 5.0.3 + '@npmcli/metavuln-calculator': 9.0.3 + '@npmcli/name-from-folder': 4.0.0 + '@npmcli/node-gyp': 5.0.0 + '@npmcli/package-json': 7.0.5 + '@npmcli/query': 5.0.0 + '@npmcli/redact': 4.0.0 + '@npmcli/run-script': 10.0.4 + bin-links: 6.0.2 + cacache: 20.0.4 + common-ancestor-path: 2.0.0 + hosted-git-info: 9.0.3 + json-stringify-nice: 1.1.4 + lru-cache: 11.5.1 + minimatch: 10.2.5 + nopt: 9.0.0 + npm-install-checks: 8.0.0 + npm-package-arg: 13.0.2 + npm-pick-manifest: 11.0.3 + npm-registry-fetch: 19.1.1 + pacote: 21.5.1 + parse-conflict-json: 5.0.1 + proc-log: 6.1.0 + proggy: 4.0.0 + promise-all-reject-late: 1.0.1 + promise-call-limit: 3.0.2 + semver: 7.6.3 + ssri: 13.0.1 + treeverse: 3.0.0 + walk-up-path: 4.0.0 + transitivePeerDependencies: + - supports-color + '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 @@ -11984,6 +13096,10 @@ snapshots: dependencies: semver: 7.6.3 + '@npmcli/fs@5.0.0': + dependencies: + semver: 7.6.3 + '@npmcli/git@2.1.0': dependencies: '@npmcli/promise-spawn': 1.3.2 @@ -11997,11 +13113,27 @@ snapshots: transitivePeerDependencies: - bluebird + '@npmcli/git@7.0.2': + dependencies: + '@gar/promise-retry': 1.0.3 + '@npmcli/promise-spawn': 9.0.1 + ini: 6.0.0 + lru-cache: 11.5.1 + npm-pick-manifest: 11.0.3 + proc-log: 6.1.0 + semver: 7.6.3 + which: 6.0.1 + '@npmcli/installed-package-contents@1.0.7': dependencies: npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 + '@npmcli/installed-package-contents@4.0.0': + dependencies: + npm-bundled: 5.0.0 + npm-normalize-package-bin: 5.0.0 + '@npmcli/map-workspaces@2.0.4': dependencies: '@npmcli/name-from-folder': 1.0.1 @@ -12009,6 +13141,13 @@ snapshots: minimatch: 5.1.6 read-package-json-fast: 2.0.3 + '@npmcli/map-workspaces@5.0.3': + dependencies: + '@npmcli/name-from-folder': 4.0.0 + '@npmcli/package-json': 7.0.5 + glob: 13.0.6 + minimatch: 10.2.5 + '@npmcli/metavuln-calculator@2.0.0': dependencies: cacache: 15.3.0 @@ -12019,6 +13158,16 @@ snapshots: - bluebird - supports-color + '@npmcli/metavuln-calculator@9.0.3': + dependencies: + cacache: 20.0.4 + json-parse-even-better-errors: 5.0.0 + pacote: 21.5.1 + proc-log: 6.1.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + '@npmcli/move-file@1.1.2': dependencies: mkdirp: 1.0.4 @@ -12031,16 +13180,48 @@ snapshots: '@npmcli/name-from-folder@1.0.1': {} + '@npmcli/name-from-folder@4.0.0': {} + '@npmcli/node-gyp@1.0.3': {} + '@npmcli/node-gyp@5.0.0': {} + '@npmcli/package-json@1.0.1': dependencies: json-parse-even-better-errors: 2.3.1 + '@npmcli/package-json@7.0.5': + dependencies: + '@npmcli/git': 7.0.2 + glob: 13.0.6 + hosted-git-info: 9.0.3 + json-parse-even-better-errors: 5.0.0 + proc-log: 6.1.0 + semver: 7.6.3 + spdx-expression-parse: 4.0.0 + '@npmcli/promise-spawn@1.3.2': dependencies: infer-owner: 1.0.4 + '@npmcli/promise-spawn@9.0.1': + dependencies: + which: 6.0.1 + + '@npmcli/query@5.0.0': + dependencies: + postcss-selector-parser: 7.1.4 + + '@npmcli/redact@4.0.0': {} + + '@npmcli/run-script@10.0.4': + dependencies: + '@npmcli/node-gyp': 5.0.0 + '@npmcli/package-json': 7.0.5 + '@npmcli/promise-spawn': 9.0.1 + node-gyp: 12.4.0 + proc-log: 6.1.0 + '@npmcli/run-script@2.0.0': dependencies: '@npmcli/node-gyp': 1.0.3 @@ -12243,62 +13424,74 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@3.0.3': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + '@sap-devx/feature-toggle-node@2.0.3': dependencies: node-cache: 5.1.2 - '@sap-devx/inquirer-gui-auto-complete-plugin@3.4.13(typescript@4.5.2)(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0))': + '@sap-devx/inquirer-gui-auto-complete-plugin@3.4.13(typescript@5.7.3)(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0))': dependencies: strip-ansi: 6.0.0 vite-plugin-css-injected-by-js: 3.5.2(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0)) - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - vite - '@sap-devx/inquirer-gui-file-browser-plugin@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui-file-browser-plugin@3.4.13(typescript@5.7.3)': dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - '@sap-devx/inquirer-gui-folder-browser-plugin@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui-folder-browser-plugin@3.4.13(typescript@5.7.3)': dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - '@sap-devx/inquirer-gui-label-plugin@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui-label-plugin@3.4.13(typescript@5.7.3)': dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - '@sap-devx/inquirer-gui-login-plugin@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui-login-plugin@3.4.13(typescript@5.7.3)': dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - '@sap-devx/inquirer-gui-radio-plugin@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui-radio-plugin@3.4.13(typescript@5.7.3)': dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - '@sap-devx/inquirer-gui-tiles-plugin@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui-tiles-plugin@3.4.13(typescript@5.7.3)': dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) transitivePeerDependencies: - typescript - '@sap-devx/inquirer-gui@3.4.13(typescript@4.5.2)': + '@sap-devx/inquirer-gui@3.4.13(typescript@5.7.3)': dependencies: '@vscode-elements/elements': 1.11.0 lodash: 4.18.1 strip-ansi: 6.0.0 - vue: 3.5.34(typescript@4.5.2) - vuetify: 3.12.6(typescript@4.5.2)(vue@3.5.34(typescript@4.5.2)) + vue: 3.5.34(typescript@5.7.3) + vuetify: 3.12.6(typescript@5.7.3)(vue@3.5.34(typescript@5.7.3)) transitivePeerDependencies: - typescript - vite-plugin-vuetify @@ -12410,6 +13603,8 @@ snapshots: - supports-color - utf-8-validate + '@sec-ant/readable-stream@0.4.1': {} + '@secretlint/config-creator@10.1.1': dependencies: '@secretlint/types': 10.1.1 @@ -12458,7 +13653,7 @@ snapshots: '@secretlint/profiler': 10.1.1 '@secretlint/source-creator': 10.1.1 '@secretlint/types': 10.1.1 - debug: 4.4.1 + debug: 4.4.3 p-map: 7.0.3 transitivePeerDependencies: - supports-color @@ -12484,6 +13679,38 @@ snapshots: '@secretlint/types@10.1.1': {} + '@sigstore/bundle@4.0.0': + dependencies: + '@sigstore/protobuf-specs': 0.5.1 + + '@sigstore/core@3.2.1': {} + + '@sigstore/protobuf-specs@0.5.1': {} + + '@sigstore/sign@4.1.1': + dependencies: + '@gar/promise-retry': 1.0.3 + '@sigstore/bundle': 4.0.0 + '@sigstore/core': 3.2.1 + '@sigstore/protobuf-specs': 0.5.1 + make-fetch-happen: 15.0.6 + proc-log: 6.1.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/tuf@4.0.2': + dependencies: + '@sigstore/protobuf-specs': 0.5.1 + tuf-js: 4.1.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/verify@3.1.1': + dependencies: + '@sigstore/bundle': 4.0.0 + '@sigstore/core': 3.2.1 + '@sigstore/protobuf-specs': 0.5.1 + '@simple-git/args-pathspec@1.0.3': {} '@simple-git/argv-parser@1.1.1': @@ -12494,6 +13721,8 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@sinonjs/commons@1.8.6': dependencies: type-detect: 4.0.8 @@ -12578,6 +13807,13 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tufjs/canonical-json@2.0.0': {} + + '@tufjs/models@4.1.0': + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 10.2.5 + '@types/aws-lambda@8.10.147': {} '@types/babel__core@7.20.5': @@ -12638,10 +13874,6 @@ snapshots: '@types/deep-equal-in-any-order@1.0.4': {} - '@types/diff@8.0.0': - dependencies: - diff: 5.2.0 - '@types/ejs@3.1.5': {} '@types/eslint-scope@3.7.7': @@ -12703,11 +13935,6 @@ snapshots: '@types/through': 0.0.33 rxjs: 6.6.7 - '@types/inquirer@8.2.12': - dependencies: - '@types/through': 0.0.33 - rxjs: 7.4.0 - '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': @@ -12738,23 +13965,14 @@ snapshots: dependencies: '@types/node': 16.11.10 + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.14.202 + '@types/lodash@4.14.177': {} '@types/lodash@4.14.202': {} - '@types/mem-fs-editor@10.0.1(mem-fs@2.3.0)': - dependencies: - mem-fs-editor: 9.7.0(mem-fs@2.3.0) - transitivePeerDependencies: - - mem-fs - - '@types/mem-fs@2.2.0': - dependencies: - mem-fs: 4.1.4 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - '@types/mime@1.3.2': {} '@types/mime@3.0.1': {} @@ -12808,6 +14026,8 @@ snapshots: '@types/parse-json@4.0.0': {} + '@types/picomatch@4.0.3': {} + '@types/prettier@2.7.3': {} '@types/proxyquire@1.3.31': {} @@ -12854,8 +14074,6 @@ snapshots: '@types/strip-json-comments@0.0.30': {} - '@types/text-table@0.2.5': {} - '@types/through@0.0.33': dependencies: '@types/node': 16.11.10 @@ -12901,115 +14119,96 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yeoman-environment@2.10.11(encoding@0.1.13)': + '@typescript-eslint/eslint-plugin@8.60.1(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)': dependencies: - '@types/diff': 8.0.0 - '@types/inquirer': 8.2.12 - '@types/mem-fs': 2.2.0 - '@types/node': 16.11.10 - '@types/text-table': 0.2.5 - '@types/vinyl': 2.0.12 - '@types/yeoman-generator': 6.0.0(encoding@0.1.13) - chalk: 4.1.2 - commander: 9.5.0 - execa: 5.1.1 - rxjs: 6.6.7 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.60.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/type-utils': 8.60.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/utils': 8.60.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.60.1 + eslint: 8.57.1 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - - bare-abort-controller - - encoding - - react-native-b4a - supports-color - '@types/yeoman-generator@5.2.14(encoding@0.1.13)(mem-fs@2.3.0)': + '@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3)': dependencies: - '@types/debug': 4.1.13 - '@types/ejs': 3.1.5 - '@types/inquirer': 8.2.12 - '@types/mem-fs-editor': 10.0.1(mem-fs@2.3.0) - '@types/node': 16.11.10 - '@types/yeoman-environment': 2.10.11(encoding@0.1.13) - rxjs: 6.6.7 + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.60.1 + debug: 4.4.3 + eslint: 8.57.1 + typescript: 5.7.3 transitivePeerDependencies: - - bare-abort-controller - - encoding - - mem-fs - - react-native-b4a - supports-color - '@types/yeoman-generator@6.0.0(encoding@0.1.13)': + '@typescript-eslint/project-service@8.60.1(typescript@5.7.3)': dependencies: - yeoman-generator: 4.13.0(encoding@0.1.13) + '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@5.7.3) + '@typescript-eslint/types': 8.60.1 + debug: 4.4.3 + typescript: 5.7.3 transitivePeerDependencies: - - encoding - supports-color - '@typescript-eslint/eslint-plugin@4.33.0(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0)(typescript@4.5.2)': + '@typescript-eslint/scope-manager@8.60.1': dependencies: - '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.30.0)(typescript@4.5.2) - '@typescript-eslint/parser': 4.33.0(eslint@7.30.0)(typescript@4.5.2) - '@typescript-eslint/scope-manager': 4.33.0 - debug: 4.3.2(supports-color@8.1.1) - eslint: 7.30.0 - functional-red-black-tree: 1.0.1 - ignore: 5.1.9 - regexpp: 3.2.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@4.5.2) - optionalDependencies: - typescript: 4.5.2 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/visitor-keys': 8.60.1 - '@typescript-eslint/experimental-utils@4.33.0(eslint@7.30.0)(typescript@4.5.2)': + '@typescript-eslint/tsconfig-utils@8.60.1(typescript@5.7.3)': dependencies: - '@types/json-schema': 7.0.9 - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.5.2) - eslint: 7.30.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@7.30.0) - transitivePeerDependencies: - - supports-color - - typescript + typescript: 5.7.3 - '@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2)': + '@typescript-eslint/type-utils@8.60.1(eslint@8.57.1)(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.5.2) - debug: 4.3.2(supports-color@8.1.1) - eslint: 7.30.0 - optionalDependencies: - typescript: 4.5.2 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.7.3) + '@typescript-eslint/utils': 8.60.1(eslint@8.57.1)(typescript@5.7.3) + debug: 4.4.3 + eslint: 8.57.1 + ts-api-utils: 2.5.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@4.33.0': - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 + '@typescript-eslint/types@8.60.1': {} - '@typescript-eslint/types@4.33.0': {} + '@typescript-eslint/typescript-estree@8.60.1(typescript@5.7.3)': + dependencies: + '@typescript-eslint/project-service': 8.60.1(typescript@5.7.3) + '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@5.7.3) + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/visitor-keys': 8.60.1 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.8.1 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/typescript-estree@4.33.0(typescript@4.5.2)': + '@typescript-eslint/utils@8.60.1(eslint@8.57.1)(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.6(supports-color@8.1.1) - globby: 11.0.4 - is-glob: 4.0.3 - semver: 7.6.3 - tsutils: 3.21.0(typescript@4.5.2) - optionalDependencies: - typescript: 4.5.2 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.7.3) + eslint: 8.57.1 + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@4.33.0': + '@typescript-eslint/visitor-keys@8.60.1': dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 + '@typescript-eslint/types': 8.60.1 + eslint-visitor-keys: 5.0.1 '@typespec/ts-http-runtime@0.2.3': dependencies: @@ -13019,10 +14218,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@4.5.2(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0))(vue@3.5.34(typescript@4.5.2))': + '@ungap/structured-clone@1.3.1': {} + + '@vitejs/plugin-vue@4.5.2(vite@4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0))(vue@3.5.34(typescript@5.7.3))': dependencies: vite: 4.5.11(@types/node@16.11.10)(sass@1.56.1)(terser@5.48.0) - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) '@vscode-elements/elements@1.11.0': dependencies: @@ -13237,25 +14438,25 @@ snapshots: '@vue/shared': 3.5.34 csstype: 3.2.3 - '@vue/server-renderer@3.5.34(vue@3.5.34(typescript@4.5.2))': + '@vue/server-renderer@3.5.34(vue@3.5.34(typescript@5.7.3))': dependencies: '@vue/compiler-ssr': 3.5.34 '@vue/shared': 3.5.34 - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) '@vue/shared@3.3.4': {} '@vue/shared@3.5.34': {} - '@vue/test-utils@2.4.1(@vue/server-renderer@3.5.34(vue@3.5.34(typescript@4.5.2)))(vue@3.5.34(typescript@4.5.2))': + '@vue/test-utils@2.4.1(@vue/server-renderer@3.5.34(vue@3.5.34(typescript@5.7.3)))(vue@3.5.34(typescript@5.7.3))': dependencies: js-beautify: 1.14.9 - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) vue-component-type-helpers: 1.8.4 optionalDependencies: - '@vue/server-renderer': 3.5.34(vue@3.5.34(typescript@4.5.2)) + '@vue/server-renderer': 3.5.34(vue@3.5.34(typescript@5.7.3)) - '@vue/vue3-jest@29.2.6(@babel/core@7.29.0)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)))(typescript@4.5.2)(vue@3.5.34(typescript@4.5.2))': + '@vue/vue3-jest@29.2.6(@babel/core@7.29.0)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)))(typescript@5.7.3)(vue@3.5.34(typescript@5.7.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) @@ -13263,12 +14464,12 @@ snapshots: chalk: 2.4.2 convert-source-map: 1.8.0 css-tree: 2.3.1 - jest: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + jest: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) source-map: 0.5.6 tsconfig: 7.0.0 - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) optionalDependencies: - typescript: 4.5.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -13363,24 +14564,94 @@ snapshots: webpack: 5.106.2(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.106.2) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': + dependencies: + webpack: 5.104.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.104.1) + + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.106.2)': + dependencies: + webpack: 5.106.2(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.106.2) + + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': + dependencies: + webpack: 5.104.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.104.1) + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + '@yeoman/adapter@4.0.2(@types/node@14.18.63)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/prompts': 8.5.2(@types/node@14.18.63) + chalk: 5.6.2 + inquirer: 13.4.3(@types/node@14.18.63) + log-symbols: 7.0.1 + ora: 9.4.0 + p-queue: 9.3.0 + text-table: 0.2.0 + transitivePeerDependencies: + - '@types/node' + + '@yeoman/adapter@4.0.2(@types/node@25.9.1)': + dependencies: + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/prompts': 8.5.2(@types/node@25.9.1) + chalk: 5.6.2 + inquirer: 13.4.3(@types/node@25.9.1) + log-symbols: 7.0.1 + ora: 9.4.0 + p-queue: 9.3.0 + text-table: 0.2.0 + transitivePeerDependencies: + - '@types/node' + optional: true + + '@yeoman/conflicter@4.1.0(@types/node@14.18.63)(@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4))(mem-fs@4.1.4)': + dependencies: + '@types/node': 14.18.63 + '@yeoman/transform': 2.1.2(@types/node@14.18.63) + '@yeoman/types': 1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4) + binary-extensions: 3.1.0 + cli-table: 0.3.11 + dateformat: 5.0.3 + diff: 9.0.0 + isbinaryfile: 5.0.7 + mem-fs: 4.1.4 + mem-fs-editor: 12.0.4(@types/node@14.18.63)(mem-fs@4.1.4) + minimatch: 10.2.5 + p-transform: 5.0.1 + pretty-bytes: 7.1.0 + slash: 5.1.0 + textextensions: 6.11.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + '@yeoman/namespace@2.1.0': {} + + '@yeoman/transform@2.1.2(@types/node@14.18.63)': dependencies: - webpack: 5.104.1(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.104.1) + '@types/node': 14.18.63 + minimatch: 9.0.9 - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.106.2)': + '@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4)': dependencies: - webpack: 5.106.2(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.106.2) + '@types/node': 14.18.63 + optionalDependencies: + '@yeoman/adapter': 4.0.2(@types/node@14.18.63) + mem-fs: 4.1.4 - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': + '@yeoman/types@1.11.1(@types/node@25.9.1)(@yeoman/adapter@4.0.2(@types/node@25.9.1))(mem-fs@4.1.4)': dependencies: - webpack: 5.104.1(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.104.1) - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} + '@types/node': 25.9.1 + optionalDependencies: + '@yeoman/adapter': 4.0.2(@types/node@25.9.1) + mem-fs: 4.1.4 JSONStream@1.3.5: dependencies: @@ -13393,6 +14664,8 @@ snapshots: abbrev@2.0.0: {} + abbrev@4.0.0: {} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -13420,10 +14693,6 @@ snapshots: dependencies: acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@7.4.1): - dependencies: - acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.16.0): dependencies: acorn: 8.16.0 @@ -13461,35 +14730,19 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.12.0): - optionalDependencies: - ajv: 8.12.0 - ajv-formats@2.1.1(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 - - ajv-keywords@5.1.0(ajv@8.12.0): + ajv-keywords@3.5.2(ajv@6.15.0): dependencies: - ajv: 8.12.0 - fast-deep-equal: 3.1.3 + ajv: 6.15.0 ajv-keywords@5.1.0(ajv@8.20.0): dependencies: ajv: 8.20.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: - 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 - ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -13497,13 +14750,6 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 @@ -13538,6 +14784,8 @@ snapshots: ansi-regex@6.1.0: {} + ansi-regex@6.2.2: {} + ansi-styles@2.2.1: {} ansi-styles@3.2.1: @@ -13630,6 +14878,8 @@ snapshots: array-differ@3.0.0: {} + array-differ@4.0.0: {} + array-find-index@1.0.2: {} array-flatten@1.1.1: {} @@ -13653,6 +14903,8 @@ snapshots: array-union@2.1.0: {} + array-union@3.0.1: {} + array-uniq@1.0.3: {} array-unique@0.3.2: {} @@ -13686,6 +14938,8 @@ snapshots: arrify@2.0.1: {} + arrify@3.0.0: {} + asap@2.0.6: {} asn1@0.2.6: @@ -13758,18 +15012,6 @@ snapshots: b4a@1.8.1: {} - babel-eslint@10.1.0(eslint@7.30.0): - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - eslint: 7.30.0 - eslint-visitor-keys: 1.3.0 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - babel-jest@27.5.1(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 @@ -13895,8 +15137,18 @@ snapshots: rimraf: 3.0.2 write-file-atomic: 4.0.2 + bin-links@6.0.2: + dependencies: + cmd-shim: 8.0.0 + npm-normalize-package-bin: 5.0.0 + proc-log: 6.1.0 + read-cmd-shim: 6.0.0 + write-file-atomic: 7.0.1 + binary-extensions@2.3.0: {} + binary-extensions@3.1.0: {} + binaryextensions@2.3.0: {} binaryextensions@4.19.0: {} @@ -14089,6 +15341,19 @@ snapshots: tar: 6.2.1 unique-filename: 3.0.0 + cacache@20.0.4: + dependencies: + '@npmcli/fs': 5.0.0 + fs-minipass: 3.0.3 + glob: 13.0.6 + lru-cache: 11.1.0 + minipass: 7.1.2 + minipass-collect: 2.0.1 + minipass-flush: 1.0.7 + minipass-pipeline: 1.2.4 + p-map: 7.0.3 + ssri: 13.0.1 + cache-base@1.0.1: dependencies: collection-visit: 1.0.0 @@ -14214,6 +15479,8 @@ snapshots: chalk@5.3.0: {} + chalk@5.6.2: {} + char-regex@1.0.2: {} chardet@0.7.0: {} @@ -14282,6 +15549,8 @@ snapshots: chownr@2.0.0: {} + chownr@3.0.0: {} + chrome-trace-event@1.0.3: {} ci-info@3.9.0: {} @@ -14301,8 +15570,14 @@ snapshots: dependencies: restore-cursor: 3.1.0 + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + cli-spinners@2.9.2: {} + cli-spinners@3.4.0: {} + cli-table@0.3.11: dependencies: colors: 1.0.3 @@ -14314,6 +15589,8 @@ snapshots: cli-width@3.0.0: {} + cli-width@4.1.0: {} + cliui@6.0.0: dependencies: string-width: 4.2.3 @@ -14362,6 +15639,8 @@ snapshots: dependencies: mkdirp-infer-owner: 2.0.0 + cmd-shim@8.0.0: {} + co@4.6.0: {} cockatiel@3.2.1: {} @@ -14416,6 +15695,8 @@ snapshots: commander@12.1.0: {} + commander@14.0.3: {} + commander@2.20.3: {} commander@6.2.1: {} @@ -14424,10 +15705,10 @@ snapshots: commander@8.3.0: {} - commander@9.5.0: {} - common-ancestor-path@1.0.1: {} + common-ancestor-path@2.0.0: {} + commondir@1.0.1: {} compare-func@2.0.0: @@ -14534,12 +15815,12 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@5.0.0(@types/node@16.11.10)(cosmiconfig@9.0.0(typescript@4.5.2))(typescript@4.5.2): + cosmiconfig-typescript-loader@5.0.0(@types/node@16.11.10)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3): dependencies: '@types/node': 16.11.10 - cosmiconfig: 9.0.0(typescript@4.5.2) + cosmiconfig: 9.0.0(typescript@5.7.3) jiti: 1.21.6 - typescript: 4.5.2 + typescript: 5.7.3 cosmiconfig@7.0.1: dependencies: @@ -14549,14 +15830,14 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@9.0.0(typescript@4.5.2): + cosmiconfig@9.0.0(typescript@5.7.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.1 parse-json: 5.2.0 optionalDependencies: - typescript: 4.5.2 + typescript: 5.7.3 coveralls@3.1.1: dependencies: @@ -14570,13 +15851,13 @@ snapshots: dependencies: capture-stack-trace: 1.0.2 - create-jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)): + create-jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -14585,13 +15866,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)): + create-jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + jest-config: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -14610,12 +15891,6 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -14748,6 +16023,8 @@ snapshots: dateformat@4.6.3: {} + dateformat@5.0.3: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -14772,10 +16049,6 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - debug@4.4.1: - dependencies: - ms: 2.1.3 - debug@4.4.3: dependencies: ms: 2.1.3 @@ -14909,6 +16182,8 @@ snapshots: diff@5.2.0: {} + diff@9.0.0: {} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.0 @@ -15105,11 +16380,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.3 - enhanced-resolve@5.8.3: - dependencies: - graceful-fs: 4.2.8 - tapable: 2.2.1 - enquirer@2.3.6: dependencies: ansi-colors: 4.1.1 @@ -15140,6 +16410,8 @@ snapshots: env-paths@2.2.1: {} + env-paths@3.0.0: {} + envinfo@7.14.0: {} err-code@2.0.3: {} @@ -15359,18 +16631,18 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.25.3(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0))(eslint@7.30.0): + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.25.3(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1): dependencies: confusing-browser-globals: 1.0.11 - eslint: 7.30.0 - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0) + eslint: 8.57.1 + eslint-plugin-import: 2.25.3(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1) object.assign: 4.1.7 object.entries: 1.1.9 semver: 6.3.0 - eslint-config-prettier@8.3.0(eslint@7.30.0): + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 7.30.0 + eslint: 8.57.1 eslint-import-resolver-node@0.3.10: dependencies: @@ -15380,31 +16652,31 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint-import-resolver-node@0.3.10)(eslint@7.30.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.10)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 4.33.0(eslint@7.30.0)(typescript@4.5.2) - eslint: 7.30.0 + '@typescript-eslint/parser': 8.60.1(eslint@8.57.1)(typescript@5.7.3) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.10 transitivePeerDependencies: - supports-color - eslint-plugin-eslint-comments@3.2.0(eslint@7.30.0): + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.1): dependencies: escape-string-regexp: 1.0.5 - eslint: 7.30.0 + eslint: 8.57.1 ignore: 5.1.9 - eslint-plugin-import@2.25.3(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint@7.30.0): + eslint-plugin-import@2.25.3(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1): dependencies: array-includes: 3.1.9 array.prototype.flat: 1.3.3 debug: 2.6.9 doctrine: 2.1.0 - eslint: 7.30.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@4.33.0(eslint@7.30.0)(typescript@4.5.2))(eslint-import-resolver-node@0.3.10)(eslint@7.30.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.60.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.10)(eslint@8.57.1) has: 1.0.3 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15413,21 +16685,35 @@ snapshots: resolve: 1.22.10 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 4.33.0(eslint@7.30.0)(typescript@4.5.2) + '@typescript-eslint/parser': 8.60.1(eslint@8.57.1)(typescript@5.7.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-vue@9.14.1(eslint@7.30.0): + eslint-plugin-vue@9.14.1(eslint@8.57.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + eslint: 8.57.1 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.6.3 + vue-eslint-parser: 9.4.3(eslint@8.57.1) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-vue@9.33.0(eslint@8.57.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@7.30.0) - eslint: 7.30.0 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + eslint: 8.57.1 + globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@7.30.0) + vue-eslint-parser: 9.4.3(eslint@8.57.1) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -15442,63 +16728,52 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-utils@2.1.0: - dependencies: - eslint-visitor-keys: 1.3.0 - - eslint-utils@3.0.0(eslint@7.30.0): - dependencies: - eslint: 7.30.0 - eslint-visitor-keys: 2.1.0 - - eslint-visitor-keys@1.3.0: {} - eslint-visitor-keys@2.1.0: {} eslint-visitor-keys@3.4.3: {} - eslint@7.30.0: + eslint-visitor-keys@5.0.1: {} + + eslint@8.57.1: dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 - ajv: 6.12.6 + '@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.15.0 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.2(supports-color@8.1.1) + cross-spawn: 7.0.6 + debug: 4.4.3 doctrine: 3.0.0 - enquirer: 2.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 - esquery: 1.4.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 13.12.0 - ignore: 4.0.6 - import-fresh: 3.3.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - js-yaml: 3.14.1 + is-path-inside: 3.0.3 + js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.0.4 + minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.6.3 + optionator: 0.9.4 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - table: 6.7.3 text-table: 0.2.0 - v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color @@ -15509,12 +16784,6 @@ snapshots: event-emitter: 0.3.5 type: 2.7.3 - espree@7.3.1: - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - eslint-visitor-keys: 1.3.0 - espree@9.6.1: dependencies: acorn: 8.16.0 @@ -15525,7 +16794,7 @@ snapshots: esprima@4.0.1: {} - esquery@1.4.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -15554,6 +16823,8 @@ snapshots: eventemitter3@4.0.7: {} + eventemitter3@5.0.4: {} + events-universal@1.0.1: dependencies: bare-events: 2.8.3 @@ -15581,7 +16852,7 @@ snapshots: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 strip-final-newline: 2.0.0 optional: true @@ -15597,6 +16868,21 @@ snapshots: signal-exit: 3.0.6 strip-final-newline: 2.0.0 + execa@9.6.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 + exit@0.1.2: {} expand-brackets@2.1.4: @@ -15629,6 +16915,8 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 + exponential-backoff@3.1.3: {} + express@4.22.1: dependencies: accepts: 1.3.8 @@ -15761,8 +17049,18 @@ snapshots: fast-safe-stringify@2.1.1: {} + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + fast-uri@3.1.2: {} + fast-wrap-ansi@0.2.2: + dependencies: + fast-string-width: 3.0.2 + fastest-levenshtein@1.0.12: {} fastq@1.13.0: @@ -15777,12 +17075,20 @@ snapshots: dependencies: pend: 1.2.0 + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 + fecha@4.2.3: {} figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.0.4 @@ -15841,6 +17147,8 @@ snapshots: make-dir: 3.1.0 pkg-dir: 4.2.0 + find-up-simple@1.0.1: {} + find-up@1.1.2: dependencies: path-exists: 2.1.0 @@ -15879,15 +17187,22 @@ snapshots: flat-cache@3.0.4: dependencies: - flatted: 3.2.4 + flatted: 3.4.2 rimraf: 3.0.2 flat@5.0.2: {} - flatted@3.2.4: {} - flatted@3.4.2: {} + fly-import@1.0.0: + dependencies: + '@npmcli/arborist': 9.8.0 + env-paths: 3.0.0 + registry-auth-token: 5.1.1 + registry-url: 7.2.0 + transitivePeerDependencies: + - supports-color + fn.name@1.1.0: {} follow-redirects@1.15.11: {} @@ -16032,8 +17347,6 @@ snapshots: hasown: 2.0.2 is-callable: 1.2.7 - functional-red-black-tree@1.0.1: {} - functions-have-names@1.2.3: {} gauge@3.0.2: @@ -16043,7 +17356,7 @@ snapshots: console-control-strings: 1.1.0 has-unicode: 2.0.1 object-assign: 4.1.1 - signal-exit: 3.0.6 + signal-exit: 3.0.7 string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 @@ -16067,6 +17380,8 @@ snapshots: get-caller-file@2.0.5: {} + get-east-asian-width@1.6.0: {} + get-func-name@2.0.2: {} get-intrinsic@1.2.4: @@ -16114,6 +17429,11 @@ snapshots: get-stream@6.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -16188,6 +17508,12 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 + glob@13.0.6: + dependencies: + minimatch: 10.2.5 + minipass: 7.1.3 + path-scurry: 2.0.2 + glob@5.0.15: dependencies: inflight: 1.0.6 @@ -16217,7 +17543,7 @@ snapshots: dependencies: ini: 4.1.1 - globals@13.12.0: + globals@13.24.0: dependencies: type-fest: 0.20.2 @@ -16252,7 +17578,7 @@ snapshots: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 @@ -16265,6 +17591,15 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.3.0 + globby@16.2.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + is-path-inside: 4.0.0 + slash: 5.1.0 + unicorn-magic: 0.4.0 + globby@8.0.2: dependencies: array-union: 1.0.2 @@ -16309,10 +17644,14 @@ snapshots: unzip-response: 2.0.1 url-parse-lax: 1.0.0 + graceful-fs@4.2.10: {} + graceful-fs@4.2.11: {} graceful-fs@4.2.8: {} + graphemer@1.4.0: {} + grouped-queue@1.1.0: dependencies: lodash: 4.18.1 @@ -16400,7 +17739,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hasown@2.0.3: + hasown@2.0.4: dependencies: function-bind: 1.1.2 @@ -16416,6 +17755,10 @@ snapshots: dependencies: lru-cache: 10.4.3 + hosted-git-info@9.0.3: + dependencies: + lru-cache: 11.1.0 + html-encoding-sniffer@2.0.1: dependencies: whatwg-encoding: 1.0.5 @@ -16546,6 +17889,8 @@ snapshots: human-signals@2.1.0: {} + human-signals@8.0.1: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -16574,6 +17919,10 @@ snapshots: dependencies: minimatch: 3.1.2 + ignore-walk@8.0.0: + dependencies: + minimatch: 10.2.5 + ignore@3.3.10: optional: true @@ -16581,8 +17930,6 @@ snapshots: ignore@5.1.9: {} - ignore@5.2.4: {} - ignore@5.3.1: {} ignore@5.3.2: {} @@ -16626,6 +17973,8 @@ snapshots: indent-string@4.0.0: {} + index-to-position@1.2.0: {} + infer-owner@1.0.4: {} inflight@1.0.6: @@ -16639,6 +17988,35 @@ snapshots: ini@4.1.1: {} + ini@5.0.0: {} + + ini@6.0.0: {} + + inquirer@13.4.3(@types/node@14.18.63): + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@14.18.63) + '@inquirer/prompts': 8.5.2(@types/node@14.18.63) + '@inquirer/type': 4.0.7(@types/node@14.18.63) + mute-stream: 3.0.0 + run-async: 4.0.6 + rxjs: 7.8.2 + optionalDependencies: + '@types/node': 14.18.63 + + inquirer@13.4.3(@types/node@25.9.1): + dependencies: + '@inquirer/ansi': 2.0.7 + '@inquirer/core': 11.2.1(@types/node@25.9.1) + '@inquirer/prompts': 8.5.2(@types/node@25.9.1) + '@inquirer/type': 4.0.7(@types/node@25.9.1) + mute-stream: 3.0.0 + run-async: 4.0.6 + rxjs: 7.8.2 + optionalDependencies: + '@types/node': 25.9.1 + optional: true + inquirer@7.3.3: dependencies: ansi-escapes: 4.3.2 @@ -16655,9 +18033,9 @@ snapshots: strip-ansi: 6.0.1 through: 2.3.8 - inquirer@8.2.7(@types/node@14.18.63): + inquirer@8.2.7(@types/node@25.9.1): dependencies: - '@inquirer/external-editor': 1.0.3(@types/node@14.18.63) + '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 @@ -16669,7 +18047,7 @@ snapshots: run-async: 2.4.1 rxjs: 7.8.2 string-width: 4.2.3 - strip-ansi: 6.0.1 + strip-ansi: 6.0.0 through: 2.3.8 wrap-ansi: 6.2.0 transitivePeerDependencies: @@ -16695,7 +18073,7 @@ snapshots: is-accessor-descriptor@1.0.2: dependencies: - hasown: 2.0.3 + hasown: 2.0.4 is-array-buffer@3.0.5: dependencies: @@ -16805,6 +18183,8 @@ snapshots: is-interactive@1.0.0: {} + is-interactive@2.0.0: {} + is-lambda@1.0.1: {} is-map@2.0.3: {} @@ -16828,12 +18208,18 @@ snapshots: is-object@1.0.2: {} + is-path-inside@3.0.3: {} + + is-path-inside@4.0.0: {} + is-plain-obj@1.1.0: {} is-plain-obj@2.1.0: {} is-plain-obj@3.0.0: {} + is-plain-obj@4.1.0: {} + is-plain-object@2.0.4: dependencies: isobject: 3.0.1 @@ -16872,6 +18258,8 @@ snapshots: is-stream@2.0.1: {} + is-stream@4.0.1: {} + is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -16899,6 +18287,8 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@2.1.0: {} + is-utf8@0.2.1: {} is-weakmap@2.0.2: {} @@ -16930,6 +18320,8 @@ snapshots: isexe@2.0.0: {} + isexe@4.0.0: {} + isobject@2.1.0: dependencies: isarray: 1.0.0 @@ -16949,7 +18341,7 @@ snapshots: '@babel/core': 7.29.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -17114,16 +18506,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10): + jest-cli@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10) + '@jest/core': 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.0.3 - jest-config: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10) + jest-config: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -17135,16 +18527,16 @@ snapshots: - ts-node - utf-8-validate - jest-cli@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)): + jest-cli@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + create-jest: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) exit: 0.1.2 import-local: 3.0.3 - jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + jest-config: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -17154,16 +18546,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)): + jest-cli@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + create-jest: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) exit: 0.1.2 import-local: 3.0.3 - jest-config: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + jest-config: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -17173,7 +18565,7 @@ snapshots: - supports-color - ts-node - jest-config@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10): + jest-config@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.29.0 '@jest/test-sequencer': 27.5.1 @@ -17200,14 +18592,14 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.2(@types/node@25.9.1)(typescript@4.5.2) + ts-node: 10.9.2(@types/node@25.9.1)(typescript@5.7.3) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - jest-config@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)): + jest-config@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)): dependencies: '@babel/core': 7.29.0 '@jest/test-sequencer': 29.7.0 @@ -17233,12 +18625,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 16.11.10 - ts-node: 10.9.2(@types/node@16.11.10)(typescript@4.5.2) + ts-node: 10.9.2(@types/node@16.11.10)(typescript@5.7.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)): + jest-config@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)): dependencies: '@babel/core': 7.29.0 '@jest/test-sequencer': 29.7.0 @@ -17264,12 +18656,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 16.11.10 - ts-node: 10.9.2(@types/node@25.9.1)(typescript@4.5.2) + ts-node: 10.9.2(@types/node@25.9.1)(typescript@5.7.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)): + jest-config@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)): dependencies: '@babel/core': 7.29.0 '@jest/test-sequencer': 29.7.0 @@ -17295,7 +18687,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 25.9.1 - ts-node: 10.9.2(@types/node@25.9.1)(typescript@4.5.2) + ts-node: 10.9.2(@types/node@25.9.1)(typescript@5.7.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -17493,9 +18885,9 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-vscode@0.1.6(jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))): + jest-mock-vscode@0.1.6(jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))): dependencies: - jest: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + jest: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) vscode-uri: 3.0.3 jest-mock@27.5.1: @@ -17803,11 +19195,11 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10): + jest@27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10) + '@jest/core': 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10) import-local: 3.0.3 - jest-cli: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2))(utf-8-validate@5.0.10) + jest-cli: 27.5.1(bufferutil@4.1.0)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3))(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - canvas @@ -17815,24 +19207,24 @@ snapshots: - ts-node - utf-8-validate - jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)): + jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) '@jest/types': 29.6.3 import-local: 3.0.3 - jest-cli: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + jest-cli: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)): + jest@29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) '@jest/types': 29.6.3 import-local: 3.0.3 - jest-cli: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2)) + jest-cli: 29.7.0(@types/node@25.9.1)(ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -17983,6 +19375,8 @@ snapshots: json-parse-even-better-errors@3.0.2: {} + json-parse-even-better-errors@5.0.0: {} + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -18045,6 +19439,8 @@ snapshots: just-diff@5.2.0: {} + just-diff@6.0.2: {} + just-extend@6.2.0: {} jwa@1.4.2: @@ -18143,6 +19539,12 @@ snapshots: kuler@2.0.0: {} + ky@1.14.3: {} + + latest-version@9.0.0: + dependencies: + package-json: 10.0.1 + lazy-cache@2.0.2: dependencies: set-getter: 0.1.1 @@ -18273,6 +19675,12 @@ snapshots: dependencies: p-locate: 6.0.0 + locate-path@8.0.0: + dependencies: + p-locate: 6.0.0 + + lodash-es@4.18.1: {} + lodash.camelcase@4.3.0: {} lodash.flattendeep@4.4.0: {} @@ -18329,6 +19737,11 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + log-symbols@7.0.1: + dependencies: + is-unicode-supported: 2.1.0 + yoctocolors: 2.1.2 + log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 @@ -18362,7 +19775,7 @@ snapshots: loud-rejection@1.6.0: dependencies: currently-unhandled: 0.4.1 - signal-exit: 3.0.6 + signal-exit: 3.0.7 loupe@2.3.7: dependencies: @@ -18374,6 +19787,8 @@ snapshots: lru-cache@11.1.0: {} + lru-cache@11.5.1: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -18433,6 +19848,23 @@ snapshots: transitivePeerDependencies: - supports-color + make-fetch-happen@15.0.6: + dependencies: + '@gar/promise-retry': 1.0.3 + '@npmcli/agent': 4.0.2 + '@npmcli/redact': 4.0.0 + cacache: 20.0.4 + http-cache-semantics: 4.2.0 + minipass: 7.1.2 + minipass-fetch: 5.0.2 + minipass-flush: 1.0.7 + minipass-pipeline: 1.2.4 + negotiator: 1.0.0 + proc-log: 6.1.0 + ssri: 13.0.1 + transitivePeerDependencies: + - supports-color + make-fetch-happen@9.1.0: dependencies: agentkeepalive: 4.6.0 @@ -18504,6 +19936,54 @@ snapshots: media-typer@0.3.0: {} + mem-fs-editor@12.0.4(@types/node@14.18.63)(mem-fs@4.1.4): + dependencies: + '@types/ejs': 3.1.5 + '@types/picomatch': 4.0.3 + binaryextensions: 6.11.0 + commondir: 1.0.1 + debug: 4.4.3 + deep-extend: 0.6.0 + ejs: 5.0.2 + isbinaryfile: 5.0.7 + mem-fs: 4.1.4 + minimatch: 10.2.5 + multimatch: 8.0.0 + normalize-path: 3.0.0 + textextensions: 6.11.0 + tinyglobby: 0.2.17 + vinyl: 3.0.1 + optionalDependencies: + '@types/node': 14.18.63 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + mem-fs-editor@12.0.4(@types/node@25.9.1)(mem-fs@4.1.4): + dependencies: + '@types/ejs': 3.1.5 + '@types/picomatch': 4.0.3 + binaryextensions: 6.11.0 + commondir: 1.0.1 + debug: 4.4.3 + deep-extend: 0.6.0 + ejs: 5.0.2 + isbinaryfile: 5.0.7 + mem-fs: 4.1.4 + minimatch: 10.2.5 + multimatch: 8.0.0 + normalize-path: 3.0.0 + textextensions: 6.11.0 + tinyglobby: 0.2.17 + vinyl: 3.0.1 + optionalDependencies: + '@types/node': 25.9.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + mem-fs-editor@6.0.0: dependencies: commondir: 1.0.1 @@ -18665,6 +20145,8 @@ snapshots: mimic-fn@2.1.0: {} + mimic-function@5.0.1: {} + mimic-response@3.1.0: optional: true @@ -18672,10 +20154,6 @@ snapshots: dependencies: brace-expansion: 5.0.6 - minimatch@3.0.4: - dependencies: - brace-expansion: 1.1.11 - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -18728,6 +20206,14 @@ snapshots: optionalDependencies: encoding: 0.1.13 + minipass-fetch@5.0.2: + dependencies: + minipass: 7.1.2 + minipass-sized: 2.0.0 + minizlib: 3.1.0 + optionalDependencies: + iconv-lite: 0.7.2 + minipass-flush@1.0.7: dependencies: minipass: 3.3.6 @@ -18745,6 +20231,10 @@ snapshots: dependencies: minipass: 3.3.6 + minipass-sized@2.0.0: + dependencies: + minipass: 7.1.2 + minipass@3.3.6: dependencies: yallist: 4.0.0 @@ -18753,11 +20243,17 @@ snapshots: minipass@7.1.2: {} + minipass@7.1.3: {} + minizlib@2.1.2: dependencies: minipass: 3.3.6 yallist: 4.0.0 + minizlib@3.1.0: + dependencies: + minipass: 7.1.2 + mixin-deep@1.3.2: dependencies: for-in: 1.0.2 @@ -18838,8 +20334,16 @@ snapshots: arrify: 2.0.1 minimatch: 3.1.2 + multimatch@8.0.0: + dependencies: + array-differ: 4.0.0 + array-union: 3.0.1 + minimatch: 10.2.5 + mute-stream@0.0.8: {} + mute-stream@3.0.0: {} + nanoid@3.3.12: {} nanomatch@1.2.13: @@ -18865,6 +20369,8 @@ snapshots: negotiator@0.6.3: {} + negotiator@1.0.0: {} + neo-async@2.6.2: {} next-tick@1.1.0: {} @@ -18909,6 +20415,19 @@ snapshots: node-gyp-build@4.8.4: {} + node-gyp@12.4.0: + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.3 + graceful-fs: 4.2.11 + nopt: 9.0.0 + proc-log: 6.1.0 + semver: 7.6.3 + tar: 7.5.16 + tinyglobby: 0.2.17 + undici: 6.26.0 + which: 6.0.1 + node-gyp@8.4.1: dependencies: env-paths: 2.2.1 @@ -18954,6 +20473,10 @@ snapshots: dependencies: abbrev: 2.0.0 + nopt@9.0.0: + dependencies: + abbrev: 4.0.0 + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -18967,6 +20490,12 @@ snapshots: semver: 7.6.3 validate-npm-package-license: 3.0.4 + normalize-package-data@8.0.0: + dependencies: + hosted-git-info: 9.0.3 + semver: 7.6.3 + validate-npm-package-license: 3.0.4 + normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 @@ -18990,14 +20519,24 @@ snapshots: dependencies: npm-normalize-package-bin: 1.0.1 + npm-bundled@5.0.0: + dependencies: + npm-normalize-package-bin: 5.0.0 + npm-install-checks@4.0.0: dependencies: semver: 7.6.3 + npm-install-checks@8.0.0: + dependencies: + semver: 7.6.3 + npm-normalize-package-bin@1.0.1: {} npm-normalize-package-bin@2.0.0: {} + npm-normalize-package-bin@5.0.0: {} + npm-package-arg@11.0.3: dependencies: hosted-git-info: 7.0.2 @@ -19005,12 +20544,24 @@ snapshots: semver: 7.6.3 validate-npm-package-name: 5.0.1 + npm-package-arg@13.0.2: + dependencies: + hosted-git-info: 9.0.3 + proc-log: 6.1.0 + semver: 7.6.3 + validate-npm-package-name: 7.0.2 + npm-package-arg@8.1.5: dependencies: hosted-git-info: 4.0.2 semver: 7.6.3 validate-npm-package-name: 3.0.0 + npm-packlist@10.0.4: + dependencies: + ignore-walk: 8.0.0 + proc-log: 6.1.0 + npm-packlist@3.0.0: dependencies: glob: 7.2.0 @@ -19018,6 +20569,13 @@ snapshots: npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 + npm-pick-manifest@11.0.3: + dependencies: + npm-install-checks: 8.0.0 + npm-normalize-package-bin: 5.0.0 + npm-package-arg: 13.0.2 + semver: 7.6.3 + npm-pick-manifest@6.1.1: dependencies: npm-install-checks: 4.0.0 @@ -19049,6 +20607,19 @@ snapshots: transitivePeerDependencies: - supports-color + npm-registry-fetch@19.1.1: + dependencies: + '@npmcli/redact': 4.0.0 + jsonparse: 1.3.1 + make-fetch-happen: 15.0.6 + minipass: 7.1.2 + minipass-fetch: 5.0.2 + minizlib: 3.1.0 + npm-package-arg: 13.0.2 + proc-log: 6.1.0 + transitivePeerDependencies: + - supports-color + npm-run-all2@5.0.2: dependencies: ansi-styles: 5.2.0 @@ -19067,6 +20638,11 @@ snapshots: dependencies: path-key: 3.1.1 + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 @@ -19087,6 +20663,12 @@ snapshots: null-check@1.0.0: {} + null-loader@4.0.1(webpack@5.106.2): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.1.1 + webpack: 5.106.2(webpack-cli@5.1.4) + nwsapi@2.2.23: {} nyc@15.1.0: @@ -19203,6 +20785,10 @@ snapshots: dependencies: mimic-fn: 2.1.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + open@10.1.2: dependencies: default-browser: 5.2.1 @@ -19223,7 +20809,7 @@ snapshots: type-check: 0.3.2 word-wrap: 1.2.5 - optionator@0.9.1: + optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -19244,6 +20830,17 @@ snapshots: strip-ansi: 6.0.0 wcwidth: 1.0.1 + ora@9.4.0: + dependencies: + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 3.4.0 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 7.0.1 + stdin-discarder: 0.3.2 + string-width: 8.2.1 + os-homedir@1.0.2: {} os-tmpdir@1.0.2: {} @@ -19314,10 +20911,24 @@ snapshots: eventemitter3: 4.0.7 p-timeout: 3.2.0 + p-queue@8.1.1: + dependencies: + eventemitter3: 5.0.4 + p-timeout: 6.1.4 + + p-queue@9.3.0: + dependencies: + eventemitter3: 5.0.4 + p-timeout: 7.0.1 + p-timeout@3.2.0: dependencies: p-finally: 1.0.0 + p-timeout@6.1.4: {} + + p-timeout@7.0.1: {} + p-transform@1.3.0: dependencies: debug: 4.4.3 @@ -19325,6 +20936,11 @@ snapshots: transitivePeerDependencies: - supports-color + p-transform@5.0.1: + dependencies: + '@types/node': 25.9.1 + p-queue: 8.1.1 + p-try@2.2.0: {} p-wait-for@3.2.0: @@ -19340,6 +20956,13 @@ snapshots: package-json-from-dist@1.0.1: {} + package-json@10.0.1: + dependencies: + ky: 1.14.3 + registry-auth-token: 5.1.1 + registry-url: 6.0.1 + semver: 7.6.3 + package-manager-detector@0.2.8: {} pacote@12.0.3: @@ -19367,6 +20990,28 @@ snapshots: - bluebird - supports-color + pacote@21.5.1: + dependencies: + '@gar/promise-retry': 1.0.3 + '@npmcli/git': 7.0.2 + '@npmcli/installed-package-contents': 4.0.0 + '@npmcli/package-json': 7.0.5 + '@npmcli/promise-spawn': 9.0.1 + '@npmcli/run-script': 10.0.4 + cacache: 20.0.4 + fs-minipass: 3.0.3 + minipass: 7.1.2 + npm-package-arg: 13.0.2 + npm-packlist: 10.0.4 + npm-pick-manifest: 11.0.3 + npm-registry-fetch: 19.1.1 + proc-log: 6.1.0 + sigstore: 4.1.1 + ssri: 13.0.1 + tar: 7.5.16 + transitivePeerDependencies: + - supports-color + paged-request@2.0.2(debug@3.2.7): dependencies: axios: 0.21.4(debug@3.2.7) @@ -19384,6 +21029,12 @@ snapshots: just-diff: 5.2.0 just-diff-apply: 5.5.0 + parse-conflict-json@5.0.1: + dependencies: + json-parse-even-better-errors: 5.0.0 + just-diff: 6.0.2 + just-diff-apply: 5.5.0 + parse-json@2.2.0: dependencies: error-ex: 1.3.2 @@ -19403,6 +21054,14 @@ snapshots: lines-and-columns: 2.0.4 type-fest: 3.13.1 + parse-json@8.3.0: + dependencies: + '@babel/code-frame': 7.29.7 + index-to-position: 1.2.0 + type-fest: 4.41.0 + + parse-ms@4.0.0: {} + parse-semver@1.1.1: dependencies: semver: 5.7.1 @@ -19448,6 +21107,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@1.11.1: @@ -19460,6 +21121,11 @@ snapshots: lru-cache: 11.1.0 minipass: 7.1.2 + path-scurry@2.0.2: + dependencies: + lru-cache: 11.1.0 + minipass: 7.1.2 + path-to-regexp@0.1.13: {} path-to-regexp@6.2.2: {} @@ -19492,6 +21158,8 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.4: {} + pidtree@0.5.0: {} pify@2.3.0: {} @@ -19529,6 +21197,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss@8.5.15: dependencies: nanoid: 3.3.12 @@ -19570,6 +21243,8 @@ snapshots: pretty-bytes@5.6.0: {} + pretty-bytes@7.1.0: {} + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 @@ -19582,6 +21257,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + pretty@2.0.0: dependencies: condense-newlines: 0.2.1 @@ -19594,6 +21273,8 @@ snapshots: proc-log@4.2.0: {} + proc-log@6.1.0: {} + process-nextick-args@2.0.1: {} process-on-spawn@1.0.0: @@ -19602,12 +21283,14 @@ snapshots: process@0.11.10: {} - progress@2.0.3: {} + proggy@4.0.0: {} promise-all-reject-late@1.0.1: {} promise-call-limit@1.0.2: {} + promise-call-limit@3.0.2: {} + promise-inflight@1.0.1: {} promise-retry@2.0.1: @@ -19702,7 +21385,6 @@ snapshots: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - optional: true react-is@17.0.2: {} @@ -19715,11 +21397,19 @@ snapshots: read-cmd-shim@3.0.1: {} + read-cmd-shim@6.0.0: {} + read-package-json-fast@2.0.3: dependencies: json-parse-even-better-errors: 2.3.1 npm-normalize-package-bin: 1.0.1 + read-package-up@12.0.0: + dependencies: + find-up-simple: 1.0.1 + read-pkg: 10.1.0 + type-fest: 5.7.0 + read-pkg-up@1.0.1: dependencies: find-up: 1.1.2 @@ -19736,6 +21426,14 @@ snapshots: normalize-package-data: 2.5.0 path-type: 1.1.0 + read-pkg@10.1.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 8.0.0 + parse-json: 8.3.0 + type-fest: 5.7.0 + unicorn-magic: 0.4.0 + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -19842,8 +21540,6 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regexpp@3.2.0: {} - regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 @@ -19853,6 +21549,19 @@ snapshots: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 + registry-auth-token@5.1.1: + dependencies: + '@pnpm/npm-conf': 3.0.3 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + registry-url@7.2.0: + dependencies: + find-up-simple: 1.0.1 + ini: 5.0.0 + regjsgen@0.8.0: {} regjsparser@0.13.1: @@ -19959,7 +21668,12 @@ snapshots: restore-cursor@3.1.0: dependencies: onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 ret@0.1.15: {} @@ -19998,6 +21712,8 @@ snapshots: run-async@2.4.1: {} + run-async@4.0.6: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -20068,15 +21784,15 @@ snapshots: schema-utils@3.1.1: dependencies: '@types/json-schema': 7.0.9 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + ajv: 6.15.0 + ajv-keywords: 3.5.2(ajv@6.15.0) schema-utils@4.0.0: dependencies: '@types/json-schema': 7.0.9 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - ajv-keywords: 5.1.0(ajv@8.12.0) + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + ajv-keywords: 5.1.0(ajv@8.20.0) schema-utils@4.3.3: dependencies: @@ -20096,7 +21812,7 @@ snapshots: '@secretlint/formatter': 10.1.1 '@secretlint/node': 10.1.1 '@secretlint/profiler': 10.1.1 - debug: 4.4.1 + debug: 4.4.3 globby: 14.1.0 read-pkg: 8.1.0 transitivePeerDependencies: @@ -20110,10 +21826,6 @@ snapshots: semver@6.3.1: {} - semver@7.3.5: - dependencies: - lru-cache: 6.0.0 - semver@7.5.2: dependencies: lru-cache: 6.0.0 @@ -20324,6 +22036,17 @@ snapshots: signal-exit@4.1.0: {} + sigstore@4.1.1: + dependencies: + '@sigstore/bundle': 4.0.0 + '@sigstore/core': 3.2.1 + '@sigstore/protobuf-specs': 0.5.1 + '@sigstore/sign': 4.1.1 + '@sigstore/tuf': 4.0.2 + '@sigstore/verify': 3.1.1 + transitivePeerDependencies: + - supports-color + simple-concat@1.0.1: optional: true @@ -20466,6 +22189,10 @@ snapshots: dependencies: lodash: 4.18.1 + sort-keys@6.0.0: + dependencies: + is-plain-obj: 4.1.0 + source-map-js@1.2.1: {} source-map-resolve@0.5.3: @@ -20527,6 +22254,11 @@ snapshots: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.11 + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.11 + spdx-license-ids@3.0.11: {} split-string@3.1.0: @@ -20555,6 +22287,10 @@ snapshots: dependencies: minipass: 7.1.2 + ssri@13.0.1: + dependencies: + minipass: 7.1.2 + ssri@8.0.1: dependencies: minipass: 3.3.6 @@ -20599,6 +22335,8 @@ snapshots: statuses@2.0.2: {} + stdin-discarder@0.3.2: {} + stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 @@ -20656,6 +22394,11 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string-width@8.2.1: + dependencies: + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 + string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.9 @@ -20714,6 +22457,10 @@ snapshots: dependencies: ansi-regex: 6.1.0 + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + strip-bom-buf@1.0.0: dependencies: is-utf8: 0.2.1 @@ -20744,6 +22491,8 @@ snapshots: strip-final-newline@2.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@1.0.1: dependencies: get-stdin: 4.0.1 @@ -20785,14 +22534,6 @@ snapshots: symbol-tree@3.2.4: {} - table@6.7.3: - dependencies: - ajv: 8.20.0 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - table@6.9.0: dependencies: ajv: 8.20.0 @@ -20801,7 +22542,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tapable@2.2.1: {} + tagged-tag@1.0.0: {} tapable@2.3.3: {} @@ -20831,6 +22572,14 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + tar@7.5.16: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 + teex@1.0.1: dependencies: streamx: 2.25.0 @@ -20915,6 +22664,11 @@ snapshots: tinyexec@0.3.1: {} + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + titleize@2.1.0: {} tldts-core@6.1.86: {} @@ -20988,28 +22742,34 @@ snapshots: treeverse@1.0.4: {} + treeverse@3.0.0: {} + trim-newlines@1.0.0: {} triple-beam@1.4.1: {} + ts-api-utils@2.5.0(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + ts-enum-util@4.0.2: {} - ts-essentials@9.1.2(typescript@4.5.2): + ts-essentials@9.1.2(typescript@5.7.3): dependencies: - typescript: 4.5.2 + typescript: 5.7.3 - ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)))(typescript@4.5.2): + ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)))(typescript@5.7.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.9 - jest: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2)) + jest: 29.7.0(@types/node@16.11.10)(ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.8.1 type-fest: 4.41.0 - typescript: 4.5.2 + typescript: 5.7.3 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.29.0 @@ -21018,25 +22778,25 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.29.0) jest-util: 29.7.0 - ts-loader@9.4.2(typescript@4.5.2)(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))): + ts-loader@9.4.2(typescript@5.7.3)(webpack@5.106.2(webpack-cli@6.0.1(webpack@5.104.1))): dependencies: chalk: 4.1.2 - enhanced-resolve: 5.8.3 - micromatch: 4.0.4 - semver: 7.3.5 - typescript: 4.5.2 + enhanced-resolve: 5.21.1 + micromatch: 4.0.8 + semver: 7.6.3 + typescript: 5.7.3 webpack: 5.106.2(webpack-cli@6.0.1(webpack@5.104.1)) - ts-loader@9.4.2(typescript@4.5.2)(webpack@5.106.2): + ts-loader@9.4.2(typescript@5.7.3)(webpack@5.106.2): dependencies: chalk: 4.1.2 - enhanced-resolve: 5.8.3 - micromatch: 4.0.4 - semver: 7.3.5 - typescript: 4.5.2 + enhanced-resolve: 5.21.1 + micromatch: 4.0.8 + semver: 7.6.3 + typescript: 5.7.3 webpack: 5.106.2(webpack-cli@5.1.4) - ts-node@10.9.2(@types/node@14.18.63)(typescript@4.5.2): + ts-node@10.9.2(@types/node@14.18.63)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -21050,11 +22810,11 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 4.5.2 + typescript: 5.7.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@16.11.10)(typescript@4.5.2): + ts-node@10.9.2(@types/node@16.11.10)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -21068,12 +22828,12 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 4.5.2 + typescript: 5.7.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true - ts-node@10.9.2(@types/node@25.9.1)(typescript@4.5.2): + ts-node@10.9.2(@types/node@25.9.1)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -21087,7 +22847,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 4.5.2 + typescript: 5.7.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true @@ -21112,10 +22872,13 @@ snapshots: tslib@2.8.1: {} - tsutils@3.21.0(typescript@4.5.2): + tuf-js@4.1.0: dependencies: - tslib: 1.14.1 - typescript: 4.5.2 + '@tufjs/models': 4.1.0 + debug: 4.4.3 + make-fetch-happen: 15.0.6 + transitivePeerDependencies: + - supports-color tunnel-agent@0.6.0: dependencies: @@ -21151,6 +22914,10 @@ snapshots: type-fest@4.41.0: {} + type-fest@5.7.0: + dependencies: + tagged-tag: 1.0.0 + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -21205,7 +22972,7 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@4.5.2: {} + typescript@5.7.3: {} ua-parser-js@0.7.41: {} @@ -21227,6 +22994,8 @@ snapshots: undici-types@7.24.6: {} + undici@6.26.0: {} + undici@7.25.0: {} unicode-canonical-property-names-ecmascript@2.0.1: {} @@ -21244,6 +23013,8 @@ snapshots: unicorn-magic@0.3.0: {} + unicorn-magic@0.4.0: {} + union-value@1.0.1: dependencies: arr-union: 3.1.0 @@ -21297,6 +23068,8 @@ snapshots: untildify@4.0.0: {} + untildify@6.0.0: {} + unzip-response@2.0.1: {} update-browserslist-db@1.2.3(browserslist@4.28.2): @@ -21344,8 +23117,6 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - v8-compile-cache@2.3.0: {} - v8-to-istanbul@8.1.1: dependencies: '@types/istanbul-lib-coverage': 2.0.6 @@ -21369,6 +23140,8 @@ snapshots: validate-npm-package-name@5.0.1: {} + validate-npm-package-name@7.0.2: {} + vary@1.1.2: {} verror@1.10.0: @@ -21470,38 +23243,38 @@ snapshots: vue-component-type-helpers@1.8.4: {} - vue-eslint-parser@9.4.3(eslint@7.30.0): + vue-eslint-parser@9.4.3(eslint@8.57.1): dependencies: debug: 4.4.3 - eslint: 7.30.0 + eslint: 8.57.1 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.4.0 + esquery: 1.7.0 lodash: 4.18.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - vue-loading-overlay@6.0.6(vue@3.5.34(typescript@4.5.2)): + vue-loading-overlay@6.0.6(vue@3.5.34(typescript@5.7.3)): dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) - vue@3.5.34(typescript@4.5.2): + vue@3.5.34(typescript@5.7.3): dependencies: '@vue/compiler-dom': 3.5.34 '@vue/compiler-sfc': 3.5.34 '@vue/runtime-dom': 3.5.34 - '@vue/server-renderer': 3.5.34(vue@3.5.34(typescript@4.5.2)) + '@vue/server-renderer': 3.5.34(vue@3.5.34(typescript@5.7.3)) '@vue/shared': 3.5.34 optionalDependencies: - typescript: 4.5.2 + typescript: 5.7.3 - vuetify@3.12.6(typescript@4.5.2)(vue@3.5.34(typescript@4.5.2)): + vuetify@3.12.6(typescript@5.7.3)(vue@3.5.34(typescript@5.7.3)): dependencies: - vue: 3.5.34(typescript@4.5.2) + vue: 3.5.34(typescript@5.7.3) optionalDependencies: - typescript: 4.5.2 + typescript: 5.7.3 w3c-hr-time@1.0.2: dependencies: @@ -21521,6 +23294,8 @@ snapshots: walk-up-path@1.0.0: {} + walk-up-path@4.0.0: {} + walker@1.0.8: dependencies: makeerror: 1.0.12 @@ -21786,6 +23561,11 @@ snapshots: which-module@2.0.0: {} + which-package-manager@1.0.1: + dependencies: + find-up: 7.0.0 + micromatch: 4.0.8 + which-pm@2.2.0: dependencies: load-yaml-file: 0.2.0 @@ -21809,6 +23589,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@6.0.1: + dependencies: + isexe: 4.0.0 + wide-align@1.1.5: dependencies: string-width: 4.2.3 @@ -21907,6 +23691,10 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 + write-file-atomic@7.0.1: + dependencies: + signal-exit: 4.1.0 + ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.1.0 @@ -21964,6 +23752,8 @@ snapshots: yallist@4.0.0: {} + yallist@5.0.0: {} + yaml@1.10.2: {} yargs-parser@18.1.3: @@ -22051,7 +23841,7 @@ snapshots: - supports-color optional: true - yeoman-environment@3.19.3(@types/node@14.18.63): + yeoman-environment@3.19.3(@types/node@25.9.1): dependencies: '@npmcli/arborist': 4.3.1 are-we-there-yet: 2.0.0 @@ -22069,7 +23859,7 @@ snapshots: find-up: 5.0.0 globby: 11.0.4 grouped-queue: 2.1.0 - inquirer: 8.2.7(@types/node@14.18.63) + inquirer: 8.2.7(@types/node@25.9.1) is-scoped: 2.1.0 isbinaryfile: 4.0.10 lodash: 4.18.1 @@ -22086,7 +23876,7 @@ snapshots: readable-stream: 4.7.0 semver: 7.6.3 slash: 3.0.0 - strip-ansi: 6.0.1 + strip-ansi: 6.0.0 text-table: 0.2.0 textextensions: 5.16.0 untildify: 4.0.0 @@ -22095,6 +23885,35 @@ snapshots: - bluebird - supports-color + yeoman-environment@6.1.0(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4))(mem-fs@4.1.4): + dependencies: + '@yeoman/adapter': 4.0.2(@types/node@14.18.63) + '@yeoman/conflicter': 4.1.0(@types/node@14.18.63)(@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4))(mem-fs@4.1.4) + '@yeoman/namespace': 2.1.0 + '@yeoman/transform': 2.1.2(@types/node@14.18.63) + '@yeoman/types': 1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4) + arrify: 3.0.0 + chalk: 5.6.2 + commander: 14.0.3 + debug: 4.4.3 + execa: 9.6.1 + fly-import: 1.0.0 + globby: 16.2.0 + grouped-queue: 2.1.0 + locate-path: 8.0.0 + lodash-es: 4.18.1 + mem-fs: 4.1.4 + mem-fs-editor: 12.0.4(@types/node@14.18.63)(mem-fs@4.1.4) + semver: 7.8.1 + slash: 5.1.0 + untildify: 6.0.0 + which-package-manager: 1.0.1 + transitivePeerDependencies: + - '@types/node' + - bare-abort-controller + - react-native-b4a + - supports-color + yeoman-generator@4.13.0(encoding@0.1.13): dependencies: async: 2.6.4 @@ -22129,8 +23948,64 @@ snapshots: - encoding - supports-color + yeoman-generator@8.2.2(@types/node@14.18.63)(@yeoman/types@1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4))(mem-fs@4.1.4): + dependencies: + '@types/debug': 4.1.13 + '@types/lodash-es': 4.17.12 + '@yeoman/namespace': 2.1.0 + '@yeoman/types': 1.11.1(@types/node@14.18.63)(@yeoman/adapter@4.0.2(@types/node@14.18.63))(mem-fs@4.1.4) + chalk: 5.6.2 + debug: 4.4.3 + execa: 9.6.1 + latest-version: 9.0.0 + lodash-es: 4.18.1 + mem-fs: 4.1.4 + mem-fs-editor: 12.0.4(@types/node@14.18.63)(mem-fs@4.1.4) + minimist: 1.2.8 + read-package-up: 12.0.0 + semver: 7.8.1 + simple-git: 3.36.0 + sort-keys: 6.0.0 + text-table: 0.2.0 + type-fest: 5.7.0 + optionalDependencies: + '@types/node': 14.18.63 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + + yeoman-generator@8.2.2(@types/node@25.9.1)(@yeoman/types@1.11.1(@types/node@25.9.1)(@yeoman/adapter@4.0.2(@types/node@25.9.1))(mem-fs@4.1.4))(mem-fs@4.1.4): + dependencies: + '@types/debug': 4.1.13 + '@types/lodash-es': 4.17.12 + '@yeoman/namespace': 2.1.0 + '@yeoman/types': 1.11.1(@types/node@25.9.1)(@yeoman/adapter@4.0.2(@types/node@25.9.1))(mem-fs@4.1.4) + chalk: 5.6.2 + debug: 4.4.3 + execa: 9.6.1 + latest-version: 9.0.0 + lodash-es: 4.18.1 + mem-fs: 4.1.4 + mem-fs-editor: 12.0.4(@types/node@25.9.1)(mem-fs@4.1.4) + minimist: 1.2.8 + read-package-up: 12.0.0 + semver: 7.8.1 + simple-git: 3.36.0 + sort-keys: 6.0.0 + text-table: 0.2.0 + type-fest: 5.7.0 + optionalDependencies: + '@types/node': 25.9.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + - supports-color + yn@3.1.1: {} yocto-queue@0.1.0: {} yocto-queue@1.1.1: {} + + yoctocolors@2.1.2: {} diff --git a/projects/yeoman-ui/packages/backend/package.json b/projects/yeoman-ui/packages/backend/package.json index 1c6006d9..b45433f6 100644 --- a/projects/yeoman-ui/packages/backend/package.json +++ b/projects/yeoman-ui/packages/backend/package.json @@ -29,7 +29,7 @@ "publisher": "SAPOS", "main": "./dist/extension", "scripts": { - "bundle": "webpack --mode production", + "bundle": "pnpm --filter yeoman-env-compat bundle && shx cp ../yeoman-env-compat/dist/index.js ./dist/yeoman-env-compat.js && webpack --mode production", "ci": "npm-run-all clean compile coverage bundle frontend:copy package coverage:copy", "clean": "shx rm -rf ./dist ./coverage *.vsix", "clean:frontend": "cd ./dist && shx rm -rf ./media", @@ -183,6 +183,8 @@ "@sap/bas-sdk": "3.13.7", "@sap/swa-for-sapbas-vsx": "2.0.16", "@vscode-logging/logger": "2.0.9", + "@yeoman/adapter": "4.0.2", + "@yeoman/types": "1.11.1", "chalk": "4.1.2", "cheerio": "^1.0.0-rc.12", "datauri": "4.1.0", @@ -194,8 +196,8 @@ "sudo-prompt": "9.2.1", "titleize": "2.1.0", "vscode-uri": "3.1.0", - "yeoman-environment": "3.19.3", - "yeoman-generator": "^4.13.0" + "yeoman-environment": "6.1.0", + "yeoman-generator": "8.2.2" }, "devDependencies": { "@types/cheerio": "^0.22.31", @@ -208,8 +210,6 @@ "@types/vscode": "^1.50.0", "@types/webpack-env": "^1.16.2", "@types/ws": "^7.4.5", - "@types/yeoman-environment": "^2.10.3", - "@types/yeoman-generator": "5.2.14", "@vscode/vsce": "2.24.0", "copy-webpack-plugin": "^12.0.2", "lcov-result-merger": "5.0.0", diff --git a/projects/yeoman-ui/packages/backend/src/panels/YeomanUIPanel.ts b/projects/yeoman-ui/packages/backend/src/panels/YeomanUIPanel.ts index ca703b22..562df048 100644 --- a/projects/yeoman-ui/packages/backend/src/panels/YeomanUIPanel.ts +++ b/projects/yeoman-ui/packages/backend/src/panels/YeomanUIPanel.ts @@ -34,7 +34,7 @@ export class YeomanUIPanel extends AbstractWebviewPanel { } else { void yeomanUi._notifyGeneratorsInstall(this.installGens); if (isEmpty(this.installGens)) { - Env.loadNpmPath(true); // force to reload the env existing npm paths + Env.loadNpmPath(); void yeomanUi._notifyGeneratorsChange(); this.installGens = undefined; } diff --git a/projects/yeoman-ui/packages/backend/src/replayUtils.ts b/projects/yeoman-ui/packages/backend/src/replayUtils.ts index 5f6b9339..ec5805c0 100644 --- a/projects/yeoman-ui/packages/backend/src/replayUtils.ts +++ b/projects/yeoman-ui/packages/backend/src/replayUtils.ts @@ -1,7 +1,6 @@ -import * as Environment from "yeoman-environment"; import { IPrompt } from "@sap-devx/yeoman-ui-types"; import * as hash from "object-hash"; -import TerminalAdapter = require("yeoman-environment/lib/adapter"); +import type { PromptQuestions, PromptAnswers } from "@yeoman/adapter/types"; export enum ReplayState { Replaying, @@ -11,9 +10,7 @@ export enum ReplayState { export class ReplayUtils { // assuming that order of questions is consistent - private static getQuestionsHash( - questions: TerminalAdapter.Questions - ): string { + private static getQuestionsHash(questions: PromptQuestions): string { // we need exclude members that we manipulate in setDefault() below // we also need to exclude members set by custom event handlers // instead of blacklisting member, we whitelist them based on inquirer.js docs: @@ -39,8 +36,8 @@ export class ReplayUtils { } private static setDefaults( - questions: TerminalAdapter.Questions, - answers: Environment.Answers + questions: PromptQuestions, + answers: PromptAnswers ): void { for (const question of questions as any[]) { const name = question["name"]; @@ -57,9 +54,9 @@ export class ReplayUtils { } public isReplaying: boolean; - private readonly answersCache: Map; - private replayStack: Environment.Answers[]; - private replayQueue: Environment.Answers[]; + private readonly answersCache: Map; + private replayStack: PromptAnswers[]; + private replayQueue: PromptAnswers[]; private numOfSteps: number; private prompts: IPrompt[]; @@ -78,8 +75,8 @@ export class ReplayUtils { } public start( - questions: TerminalAdapter.Questions, - answers: Environment.Answers, + questions: PromptQuestions, + answers: PromptAnswers, numOfSteps: number ): void { this._rememberAnswers(questions, answers); @@ -88,18 +85,18 @@ export class ReplayUtils { this.isReplaying = true; } - public stop(questions: TerminalAdapter.Questions): IPrompt[] { + public stop(questions: PromptQuestions): IPrompt[] { const prompts = this.prompts; this.isReplaying = false; this.prompts = []; this.replayQueue = []; - const answers: Environment.Answers = this.replayStack.pop(); + const answers: PromptAnswers = this.replayStack.pop(); ReplayUtils.setDefaults(questions, answers); this.replayStack.splice(this.replayStack.length - this.numOfSteps + 1); return prompts; } - public next(promptCount: number, promptName: string): Environment.Answers { + public next(promptCount: number, promptName: string): PromptAnswers { if (promptCount > this.prompts.length) { const prompt: IPrompt = { name: promptName, @@ -115,17 +112,14 @@ export class ReplayUtils { this.prompts = prompts; } - public remember( - questions: TerminalAdapter.Questions, - answers: Environment.Answers - ): void { + public remember(questions: PromptQuestions, answers: PromptAnswers): void { this._rememberAnswers(questions, answers); this.replayStack.push(answers); } - public recall(questions: TerminalAdapter.Questions): void { + public recall(questions: PromptQuestions): void { const key: string = ReplayUtils.getQuestionsHash(questions); - const previousAnswers: Environment.Answers = this.answersCache.get(key); + const previousAnswers: PromptAnswers = this.answersCache.get(key); if (previousAnswers !== undefined) { ReplayUtils.setDefaults(questions, previousAnswers); } @@ -144,8 +138,8 @@ export class ReplayUtils { } private _rememberAnswers( - questions: TerminalAdapter.Questions, - answers: Environment.Answers + questions: PromptQuestions, + answers: PromptAnswers ): void { const key: string = ReplayUtils.getQuestionsHash(questions); this.answersCache.set(key, answers); diff --git a/projects/yeoman-ui/packages/backend/src/utils/env.ts b/projects/yeoman-ui/packages/backend/src/utils/env.ts index cfbf43e4..2845f343 100644 --- a/projects/yeoman-ui/packages/backend/src/utils/env.ts +++ b/projects/yeoman-ui/packages/backend/src/utils/env.ts @@ -1,24 +1,100 @@ import * as _ from "lodash"; -import { homedir } from "os"; import * as path from "path"; -import { existsSync } from "fs"; -import { isWin32, NpmCommand } from "./npm"; +import * as fs from "fs"; +import { NpmCommand } from "./npm"; import * as customLocation from "./customLocation"; -import * as Environment from "yeoman-environment"; -import TerminalAdapter = require("yeoman-environment/lib/adapter"); +import Environment, { createEnv } from "yeoman-environment"; +import type { EnvironmentOptions } from "yeoman-environment"; +import type { LookupGeneratorMeta } from "@yeoman/types"; import { IChildLogger } from "@vscode-logging/logger"; import { getClassLogger } from "../logger/logger-wrapper"; const GENERATOR = "generator-"; const NAMESPACE = "namespace"; +// Detects whether a generator requires yeoman-environment v3 (legacy) or v6 (modern) +// +// Detection strategy: +// 1. Private node_modules copy: read yeoman-generator/package.json from the generator's +// own node_modules subtree — version major ≤ 5 → legacy +// 2. Declared dep range: read the generator's own package.json dependencies field — +// covers generators that webpack-bundled their deps (no node_modules subfolder) +// 3. Bundle scan: read the generator's resolved entry file and look for `env.runLoop` — +// the exact property name checked by yeoman-generator ≤ v5 +function isLegacyGenerator(meta: LookupGeneratorMeta): boolean { + // --- Check 1: private node_modules copy --- + const nodeModulesRoots = [ + path.join(meta.packagePath, "node_modules"), + path.join(path.dirname(meta.resolved), "node_modules"), + ]; + + for (const root of nodeModulesRoots) { + const pkgJson = path.join(root, "yeoman-generator", "package.json"); + + try { + const version: string = + JSON.parse(fs.readFileSync(pkgJson, "utf8")).version ?? ""; + const major = parseInt(version.split(".")[0], 10); + + return !isNaN(major) && major <= 5; + } catch { + // not present at this root, try next check + } + } + + // --- Check 2: declared dependency range in generator's package.json --- + // Handles generators that bundled deps and may not have a node_modules subfolder + try { + const genPkg = JSON.parse( + fs.readFileSync(path.join(meta.packagePath, "package.json"), "utf8") + ); + const range: string = + (genPkg.dependencies ?? {})["yeoman-generator"] ?? + (genPkg.devDependencies ?? {})["yeoman-generator"] ?? + (genPkg.peerDependencies ?? {})["yeoman-generator"] ?? + ""; + + if (range) { + const firstDigit = parseInt( + range.replace(/^[^0-9]*/, "").split(".")[0], + 10 + ); + + return !isNaN(firstDigit) && firstDigit <= 5; + } + } catch { + // generator has no readable package.json, try next check + } + + // --- Check 3: scan resolved entry file for env.runLoop usage --- + // yeoman-generator ≤ v5 checks `env.runLoop` in its constructor — this property name + // is structural and survives minification. Generators that fully + // bundle their deps (no node_modules, no dep in package.json) still carry this pattern + try { + const bundle = fs.readFileSync(meta.resolved, "utf8"); + + return bundle.includes("env.runLoop"); + } catch { + // unreadable entry file + } + + return false; +} + +function namespaceToName(ns: string): string { + const base = ns.replace(/:.*$/, ""); + return base.startsWith("@") + ? base.replace(/\/generator-/, "/") + : base.replace(/^generator-/, ""); +} + export type EnvGen = { - env: Environment; + env: Environment; gen: any; }; export type GeneratorData = { - generatorMeta: Environment.LookupGeneratorMeta; + generatorMeta: LookupGeneratorMeta; generatorPackageJson: any; }; @@ -38,8 +114,7 @@ export class GeneratorNotFoundError extends Error { class EnvUtil { private logger: IChildLogger; - private existingNpmPathsPromise: Promise; - private allInstalledGensMeta: Environment.LookupGeneratorMeta[]; + private allInstalledGensMeta: LookupGeneratorMeta[]; constructor() { try { @@ -47,59 +122,24 @@ class EnvUtil { } catch (e) { // nothing TODO : testing scope } - this.loadNpmPath(); } - public loadNpmPath(force = false) { - if (_.isNil(this.existingNpmPathsPromise) || force === true) { - this.existingNpmPathsPromise = this.getExistingNpmPath().then((paths) => { - this.logger?.debug("existing npm paths", { paths: paths.join(";") }); - return paths; - }); - } + public loadNpmPath() { return this; } - private getEnvNpmPath(): Promise { - return new Promise((resolve) => { - setTimeout(() => { - // this operation takes up to 2 seconds - // it should be wrapped with setTimeout to provide promise like behaviour - resolve(this.createEnvInstance().getNpmPaths()); - }, 1); - }); - } - - private async getExistingNpmPath(): Promise { - const globalNpmPaths: string[] = await this.getEnvNpmPath(); - const userNpmPaths = homedir() - .split(path.sep) - .map((part, index, parts) => { - const resPath = path.join(...parts.slice(0, index + 1), "node_modules"); - return isWin32 ? resPath : path.join(path.sep, resPath); - }); - // uniq and existing only paths (global npm path is always added) - const paths: string[] = _.union(globalNpmPaths, userNpmPaths).filter( - (npmPath: string) => existsSync(npmPath) - ); - paths.push(await NpmCommand.getGlobalNodeModulesPath()); - - return _.uniq(paths); - } - private createEnvInstance( - args?: string | string[], - opts?: Environment.Options, - adapter?: TerminalAdapter - ): Environment { - return Environment.createEnv(args, opts, adapter); + opts?: EnvironmentOptions, + adapter?: any + ): Environment { + return createEnv({ ...opts, ...(adapter ? { adapter } : {}) }); } private unloadGeneratorModules(genNamespace: string): void { let generatorName; - const genShortName = Environment.namespaceToName(genNamespace); + const genShortName = namespaceToName(genNamespace); if (genShortName.startsWith("@")) { - const firstSlashIndex = genShortName.indexOf("/"); + const firstSlashIndex: number = genShortName.indexOf("/"); generatorName = `${GENERATOR}${genShortName.substring( firstSlashIndex + 1 )}`; @@ -116,24 +156,20 @@ class EnvUtil { } private lookupGensMeta( - options?: Environment.LookupOptions - ): Environment.LookupGeneratorMeta[] { + options?: Parameters[0] + ): Promise { return this.createEnvInstance().lookup(options); } // returns installed generators meta from global and custom installation location // custom installation generators have priority over global installed generators when names are identical - private async lookupAllGensMeta(): Promise< - Environment.LookupGeneratorMeta[] - > { - const globallyInstalledGensMeta = this.lookupGensMeta({ - npmPaths: await this.existingNpmPathsPromise, - }); + private async lookupAllGensMeta(): Promise { + const globallyInstalledGensMeta = await this.lookupGensMeta(); const customNpmPath = customLocation.getNodeModulesPath(); const customInstalledGensMeta = _.isEmpty(customNpmPath) ? [] - : this.lookupGensMeta({ npmPaths: [customNpmPath] }); + : await this.lookupGensMeta({ npmPaths: [customNpmPath] }); const gensMeta = _.unionBy( customInstalledGensMeta, @@ -145,7 +181,7 @@ class EnvUtil { private async getGenMetadata( genNamespace: string - ): Promise { + ): Promise { this.allInstalledGensMeta = await this.lookupAllGensMeta(); const genMetadata = this.allInstalledGensMeta.find( @@ -161,13 +197,13 @@ class EnvUtil { } private genMainGensMeta( - gensMeta: Environment.LookupGeneratorMeta[] - ): Environment.LookupGeneratorMeta[] { + gensMeta: LookupGeneratorMeta[] + ): LookupGeneratorMeta[] { return gensMeta.filter((genMeta) => genMeta.namespace.endsWith(":app")); } private async getGensMetaByInstallationPath(): Promise< - Environment.LookupGeneratorMeta[] + LookupGeneratorMeta[] > { const npmInstallationPaths = [ customLocation.getNodeModulesPath() ?? @@ -178,7 +214,7 @@ class EnvUtil { private async getGeneratorsMeta( mainOnly = true - ): Promise { + ): Promise { this.allInstalledGensMeta = await this.lookupAllGensMeta(); return mainOnly ? this.genMainGensMeta(this.allInstalledGensMeta) @@ -186,8 +222,7 @@ class EnvUtil { } public async getAllGeneratorNamespaces(): Promise { - const gensMeta: Environment.LookupGeneratorMeta[] = - await this.getGeneratorsMeta(false); + const gensMeta: LookupGeneratorMeta[] = await this.getGeneratorsMeta(false); return _.map(gensMeta, (genMeta) => genMeta.namespace); } @@ -196,39 +231,71 @@ class EnvUtil { options: any, adapter: any ): Promise { - const meta: Environment.LookupGeneratorMeta = await this.getGenMetadata( - genNamespace - ); + const meta: LookupGeneratorMeta = await this.getGenMetadata(genNamespace); this.unloadGeneratorModules(genNamespace); - const env: Environment = this.createEnvInstance( + + if (isLegacyGenerator(meta)) { + return this.createLegacyEnvAndGen(genNamespace, meta, options, adapter); + } + + const env: Environment = this.createEnvInstance( + { + sharedOptions: { forwardErrorToEnvironment: true } as Record< + string, + any + >, + }, + adapter + ); + + env.register(meta.resolved, { + namespace: genNamespace, + packagePath: meta.packagePath, + }); + const gen: any = await env.create(genNamespace, { options } as any); + + return { env, gen }; + } + + private createLegacyEnvAndGen( + genNamespace: string, + meta: LookupGeneratorMeta, + options: any, + adapter: any + ): EnvGen { + // Load yeoman-environment v3 from the bundled yeoman-env-compat.js file. + // __non_webpack_require__ bypasses the webpack bundle and uses Node's native require, + // resolving relative to the extension's dist/ directory at runtime + const compat = __non_webpack_require__("./yeoman-env-compat"); // eslint-disable-line @typescript-eslint/no-var-requires + + // yeoman-environment v3: createEnv() is synchronous and accepts an adapter as the + // second argument. env.register() takes a resolved path and a namespace string + const env = compat.createEnv( undefined, { sharedOptions: { forwardErrorToEnvironment: true } }, adapter ); - // @types/yeoman-environment bug: generatorPath is still not exposed on LookupGeneratorMeta - env.register(_.get(meta, "generatorPath"), genNamespace, meta.packagePath); - let gen: any = env.create(genNamespace, { options } as any); - - // Handle async generator creation (ESM modules) - if (gen && typeof gen.then === "function") { - gen = await gen; - } + env.register(meta.resolved, genNamespace); + const gen = env.create(genNamespace, { options }); return { env, gen }; } public async getGeneratorsData(mainOnly = true): Promise { - const gensMeta: Environment.LookupGeneratorMeta[] = - await this.getGeneratorsMeta(mainOnly); + const gensMeta: LookupGeneratorMeta[] = await this.getGeneratorsMeta( + mainOnly + ); const packageJsons = await NpmCommand.getPackageJsons(gensMeta); - const gensData = packageJsons.map( - (generatorPackageJson: any | undefined, index: number) => { - if (generatorPackageJson) { - const generatorMeta = gensMeta[index]; - return { generatorMeta, generatorPackageJson }; + const gensData: GeneratorData[] = _.compact( + packageJsons.map( + (generatorPackageJson: any | undefined, index: number) => { + if (generatorPackageJson) { + const generatorMeta = gensMeta[index]; + return { generatorMeta, generatorPackageJson }; + } } - } + ) ); // lookup for additional generators @@ -265,11 +332,11 @@ class EnvUtil { gensData.push(...additionalGensData); } - return _.compact(gensData); + return gensData; } public async getGeneratorNamesWithOutdatedVersion(): Promise { - const gensMeta: Environment.LookupGeneratorMeta[] = + const gensMeta: LookupGeneratorMeta[] = await this.getGensMetaByInstallationPath(); return NpmCommand.getPackageNamesWithOutdatedVersion( this.genMainGensMeta(gensMeta) @@ -277,7 +344,7 @@ class EnvUtil { } public getGeneratorFullName(genNamespace: string): string { - const genName = Environment.namespaceToName(genNamespace); + const genName = namespaceToName(genNamespace); const parts = _.split(genName, "/"); return _.size(parts) === 1 ? `${GENERATOR}${genName}` diff --git a/projects/yeoman-ui/packages/backend/src/utils/npm.ts b/projects/yeoman-ui/packages/backend/src/utils/npm.ts index 18871f61..5e47dc43 100644 --- a/projects/yeoman-ui/packages/backend/src/utils/npm.ts +++ b/projects/yeoman-ui/packages/backend/src/utils/npm.ts @@ -9,7 +9,7 @@ import messages from "../messages"; import { vscode } from "./vscodeProxy"; import * as path from "path"; import * as npmFetch from "npm-registry-fetch"; -import { LookupGeneratorMeta } from "yeoman-environment"; +import type { LookupGeneratorMeta } from "@yeoman/types"; import { getConsoleWarnLogger } from "../logger/console-logger"; import { Constants } from "./constants"; import { spawn } from "child_process"; diff --git a/projects/yeoman-ui/packages/backend/src/utils/yeoman-env-all-patch-loader.js b/projects/yeoman-ui/packages/backend/src/utils/yeoman-env-all-patch-loader.js new file mode 100644 index 00000000..ed449625 --- /dev/null +++ b/projects/yeoman-ui/packages/backend/src/utils/yeoman-env-all-patch-loader.js @@ -0,0 +1,97 @@ +"use strict"; + +// Webpack loader that patches all yeoman-environment dist files for CJS bundling. +// +// yeoman-environment v6 is a pure ESM package. When webpack bundles it into a CJS +// output (libraryTarget: "commonjs2"), several patterns break: +// +// 1. createRequire(import.meta.url) +// webpack replaces import.meta.url with undefined in CJS context. +// createRequire(undefined) produces a broken require() that throws at runtime. +// Affected: environment-base.js, store.js +// +// 2. fileURLToPath(import.meta.url) for __filename/__dirname computation +// webpack replaces import.meta.url with the static file:// URL of the SOURCE FILE +// on the BUILD MACHINE. At runtime on a different machine (BAS), those paths +// don't exist and readFileSync/join calls throw ENOENT. +// Affected: module-lookup.js +// +// This loader is applied to ALL files under yeoman-environment/dist/ to ensure +// the patches land regardless of webpack's ESM ModuleConcatenation order. + +"use strict"; + +const path = require("path"); + +module.exports = function yeomanEnvAllPatchLoader(source) { + // Lazily load package.json once per webpack process (loader is called per file). + // Use require.resolve to find the package regardless of where node_modules lives. + const pkgPath = require.resolve("yeoman-environment/package.json", { + paths: [path.resolve(__dirname, "../../../../")], + }); + const pkg = require(pkgPath); + + let result = source; + + // --- environment-base.js patches --- + // Remove createRequire(import.meta.url) — the `require` variable it creates is + // only used to read package.json for the version string (patched below). + result = result.replace( + /^const require = createRequire\(import\.meta\.url\);$/m, + "// createRequire(import.meta.url) removed by yeoman-env-all-patch-loader (CJS bundle: import.meta.url is undefined)" + ); + // Inline the version string so require('../package.json').version never runs. + result = result.replace( + /^const ENVIRONMENT_VERSION = require\(['"]\.\.\/package\.json['"]\)\.version;$/m, + `const ENVIRONMENT_VERSION = ${JSON.stringify( + pkg.version + )}; // inlined by yeoman-env-all-patch-loader` + ); + + // --- store.js patches --- + // Remove createRequire(import.meta.url) (store.js line 15). + // The generated `require` variable is used for require.resolve() and require() of + // generator packages at runtime. Replace those call sites with __non_webpack_require__ + // so the native Node require is used for runtime disk loading. + result = result.replace( + /^const require = createRequire\(import\.meta\.url\);$/m, + "// createRequire(import.meta.url) removed by yeoman-env-all-patch-loader (store.js)" + ); + result = result.replace( + /\brequire\.resolve\(meta\.resolved\)/g, + "__non_webpack_require__.resolve(meta.resolved)" + ); + result = result.replace( + /\brequire\(meta\.resolved\)/g, + "__non_webpack_require__(meta.resolved)" + ); + + // --- module-lookup.js patches --- + // Replace the 4-line block that uses import.meta.url to compute __filename/__dirname. + // webpack provides __filename and __dirname for node-target bundles (they point to + // the bundle file itself, e.g. dist/extension.js). PROJECT_ROOT becomes the bundle + // directory — the npm path fallback heuristics that use it only push candidate paths + // and skip non-existent ones, so this is safe. + result = result.replace( + /^const __filename = fileURLToPath\(import\.meta\.url\);$/m, + "// fileURLToPath(import.meta.url) replaced by yeoman-env-all-patch-loader\n" + + "// webpack provides __filename/__dirname for node-target bundles" + ); + result = result.replace( + /^const __dirname = dirname\(__filename\);$/m, + "// __dirname provided by webpack for node-target" + ); + result = result.replace( + /^const PROJECT_ROOT = join\(__dirname, '\.\.'\);$/m, + "const PROJECT_ROOT = __dirname; // bundle dir; used only as fallback npm path hint" + ); + // Inline PACKAGE_NAME_PATTERN so readFileSync(join(PROJECT_ROOT, 'package.json')) never runs. + result = result.replace( + /^const PACKAGE_NAME_PATTERN = \[JSON\.parse\(readFileSync\(join\(PROJECT_ROOT, 'package\.json'\)\)\.toString\(\)\)\.name\];$/m, + `const PACKAGE_NAME_PATTERN = [${JSON.stringify( + pkg.name + )}]; // inlined by yeoman-env-all-patch-loader` + ); + + return result; +}; diff --git a/projects/yeoman-ui/packages/backend/src/yeomanui.ts b/projects/yeoman-ui/packages/backend/src/yeomanui.ts index c8587999..c2ca1298 100644 --- a/projects/yeoman-ui/packages/backend/src/yeomanui.ts +++ b/projects/yeoman-ui/packages/backend/src/yeomanui.ts @@ -2,6 +2,7 @@ import * as path from "path"; import { promises } from "fs"; import * as _ from "lodash"; import * as inquirer from "inquirer"; +import * as EventEmitter from "events"; import { ReplayUtils, ReplayState } from "./replayUtils"; const datauri = require("datauri"); // eslint-disable-line @typescript-eslint/no-var-requires const titleize = require("titleize"); // eslint-disable-line @typescript-eslint/no-var-requires @@ -23,9 +24,9 @@ import { GeneratorNotFoundError, } from "./utils/env"; import { vscode, getVscode } from "./utils/vscodeProxy"; -import * as Generator from "yeoman-generator"; -import * as Environment from "yeoman-environment"; -import { Questions } from "yeoman-environment/lib/adapter"; +import Generator from "yeoman-generator"; +import Environment from "yeoman-environment"; +import type { PromptQuestions, PromptAnswers } from "@yeoman/adapter/types"; import { State } from "./utils/promise"; import { Constants } from "./utils/constants"; import { isUriFlow } from "./utils/workspaceFile"; @@ -53,10 +54,9 @@ export class YeomanUI { private readonly youiAdapter: YouiAdapter; private gen: Generator | undefined; private promptCount: number; - private currentQuestions: Questions; + private currentQuestions: PromptQuestions | undefined; private generatorName: string; private readonly replayUtils: ReplayUtils; - // eslint-disable-next-line @typescript-eslint/ban-types private readonly customQuestionEventHandlers: Map< string, Map @@ -108,7 +108,7 @@ export class YeomanUI { this.youiAdapter = new YouiAdapter(youiEvents, output); this.youiAdapter.setYeomanUI(this); this.promptCount = 0; - this.currentQuestions = {}; + this.currentQuestions = undefined; this.customQuestionEventHandlers = new Map(); this.typesMap = new Map(); this.generatorsToIgnoreArray = []; @@ -153,13 +153,11 @@ export class YeomanUI { void this.rpc.invoke("resetPromptMessage"); } - // eslint-disable-next-line @typescript-eslint/ban-types public registerCustomQuestionEventHandler( questionType: string, methodName: string, handler: Function ): void { - // eslint-disable-next-line @typescript-eslint/ban-types let entry: Map = this.customQuestionEventHandlers.get(questionType); if (entry === undefined) { @@ -263,7 +261,11 @@ export class YeomanUI { // handles generator install step if exists this.onGenInstall(this.gen); // handles generator errors - this.handleErrors(envGen.env, this.gen, generatorNamespace); + this.handleErrors( + envGen.env as Environment & EventEmitter, + this.gen, + generatorNamespace + ); await envGen.env.runGenerator(envGen.gen); if (!this.errorThrown) { @@ -310,9 +312,13 @@ export class YeomanUI { ); } - private handleErrors(env: Environment, gen: any, generatorName: string) { + private handleErrors( + env: Environment & EventEmitter, + gen: any, + generatorName: string + ) { const errorEventName = "error"; - env.on(errorEventName, (error) => { + env.on(errorEventName, (error: any) => { env.removeAllListeners(errorEventName); this.onGeneratorFailure( generatorName, @@ -370,7 +376,6 @@ export class YeomanUI { "guiOptions.type", relevantQuestion.guiType ); - // eslint-disable-next-line @typescript-eslint/ban-types const customQuestionEventHandler: Function = this.getCustomQuestionEventHandler(guiType, methodName); return _.isUndefined(customQuestionEventHandler) @@ -431,7 +436,7 @@ export class YeomanUI { } public async showPrompt( - questions: Questions + questions: PromptQuestions ): Promise { this.promptCount++; const promptName = this.getPromptName(questions); @@ -446,7 +451,7 @@ export class YeomanUI { this.replayUtils.recall(questions); this.currentQuestions = questions; - const mappedQuestions: Questions = this.normalizeFunctions(questions); + const mappedQuestions: PromptQuestions = this.normalizeFunctions(questions); if (_.isEmpty(mappedQuestions)) { return {}; } @@ -460,7 +465,7 @@ export class YeomanUI { } private async back( - partialAnswers: Environment.Answers, + partialAnswers: PromptAnswers, numOfSteps: number ): Promise { this.replayUtils.start(this.currentQuestions, partialAnswers, numOfSteps); @@ -471,12 +476,10 @@ export class YeomanUI { void this.youiEvents.executeCommand(id, args); } - // eslint-disable-next-line @typescript-eslint/ban-types private getCustomQuestionEventHandler( questionType: string, methodName: string ): Function { - // eslint-disable-next-line @typescript-eslint/ban-types const entry: Map = this.customQuestionEventHandlers.get(questionType); if (entry !== undefined) { @@ -484,7 +487,7 @@ export class YeomanUI { } } - private getPromptName(questions: Questions): string { + private getPromptName(questions: PromptQuestions): string { const firstQuestionName = _.get(questions, "[0].name"); return firstQuestionName ? _.startCase(firstQuestionName) @@ -734,7 +737,9 @@ export class YeomanUI { this.logger.debug(error); } - const genName = Environment.namespaceToName(genNamespace); + const genName = genNamespace + .replace(/:.*$/, "") + .replace(/(?:^|(?<=\/))(generator-)/, ""); const genMessage = _.get( packageJson, "description", @@ -769,7 +774,7 @@ export class YeomanUI { * Functions are lost when being passed to client (using JSON.Stringify) * Also functions cannot be evaluated on client) */ - private normalizeFunctions(questions: Questions): Questions { + private normalizeFunctions(questions: PromptQuestions): PromptQuestions { this.addCustomQuestionEventHandlers(questions); return JSON.parse(JSON.stringify(questions, YeomanUI.funcReplacer)); } @@ -786,7 +791,7 @@ export class YeomanUI { } } - private addCustomQuestionEventHandlers(questions: Questions): void { + private addCustomQuestionEventHandlers(questions: PromptQuestions): void { for (const question of questions as any[]) { const guiType = _.get(question, "guiOptions.type", question.guiType); const questionHandlers = this.customQuestionEventHandlers.get(guiType); diff --git a/projects/yeoman-ui/packages/backend/src/youi-adapter.ts b/projects/yeoman-ui/packages/backend/src/youi-adapter.ts index 3e046484..78d21259 100644 --- a/projects/yeoman-ui/packages/backend/src/youi-adapter.ts +++ b/projects/yeoman-ui/packages/backend/src/youi-adapter.ts @@ -3,7 +3,7 @@ import { YouiEvents } from "./youi-events"; const yoUiLog = require("./utils/log"); // eslint-disable-line @typescript-eslint/no-var-requires import { isFunction, get } from "lodash"; const chalk = require("chalk"); -import { Questions } from "yeoman-environment/lib/adapter"; +import type { PromptQuestions, PromptAnswers } from "@yeoman/adapter/types"; import { Output } from "./output"; export class YouiAdapter { @@ -39,8 +39,8 @@ export class YouiAdapter { * @param {Array} questions * @param {Function} callback */ - public async prompt( - questions: Questions, + public async prompt( + questions: PromptQuestions, cb?: (res: T1) => T2 ): Promise { if (this.yeomanui && questions) { diff --git a/projects/yeoman-ui/packages/backend/test/panels/YeomanUIPanel.spec.ts b/projects/yeoman-ui/packages/backend/test/panels/YeomanUIPanel.spec.ts index c3341a3c..4d7c834d 100644 --- a/projects/yeoman-ui/packages/backend/test/panels/YeomanUIPanel.spec.ts +++ b/projects/yeoman-ui/packages/backend/test/panels/YeomanUIPanel.spec.ts @@ -196,6 +196,21 @@ describe("YeomanUIPanel unit test", () => { mockOutput.expects("show").returns(undefined); panel.toggleOutput(); }); + + it("toggleOutput - output is undefined", () => { + const savedOutput = panel["output"]; + Object.defineProperty(panel, "output", { + value: undefined, + writable: true, + configurable: true, + }); + panel.toggleOutput(); + Object.defineProperty(panel, "output", { + value: savedOutput, + writable: false, + configurable: true, + }); + }); }); describe("notifyGeneratorsChange", () => { @@ -232,7 +247,7 @@ describe("YeomanUIPanel unit test", () => { const args: any[] = []; mockYeomanui.expects("_notifyGeneratorsInstall").withExactArgs(args); mockYeomanui.expects("_notifyGeneratorsChange"); - envUtilsMock.expects("loadNpmPath").withExactArgs(true); + envUtilsMock.expects("loadNpmPath"); panel.notifyGeneratorsChange(args); expect(panel["installGens"]).to.be.undefined; }); diff --git a/projects/yeoman-ui/packages/backend/test/yeomanui.spec.ts b/projects/yeoman-ui/packages/backend/test/yeomanui.spec.ts index 90a02236..8bca4873 100644 --- a/projects/yeoman-ui/packages/backend/test/yeomanui.spec.ts +++ b/projects/yeoman-ui/packages/backend/test/yeomanui.spec.ts @@ -18,7 +18,7 @@ import messages from "../src/messages"; import { AnalyticsWrapper } from "../src/usage-report/usage-analytics-wrapper"; import { AppWizard, MessageType } from "@sap-devx/yeoman-ui-types"; import { Env } from "../src/utils/env"; -import Environment = require("yeoman-environment"); +import Environment, { createEnv } from "yeoman-environment"; import { createFlowPromise } from "../src/utils/promise"; import { Constants } from "../src/utils/constants"; @@ -1215,7 +1215,7 @@ describe("yeomanui unit test", () => { describe("answersUtils", () => { it("setDefaults", () => { - const questions = [ + const questions: any[] = [ { name: "q1", default: "a" }, { name: "q2", default: () => "b" }, { name: "q3" }, @@ -1227,15 +1227,15 @@ describe("yeomanui unit test", () => { }; ReplayUtils["setDefaults"](questions, answers); for (const question of questions) { - expect((question as any)["__origAnswer"]).to.equal( - (answers)[question.name] + expect(question["__origAnswer"]).to.equal( + (answers as any)[question.name] ); - expect((question as any)["__ForceDefault"]).to.be.true; + expect(question["__ForceDefault"]).to.be.true; } }); it("setDefaults", () => { - const questions = [ + const questions: any[] = [ { name: "q1", default: "a" }, { name: "q2", default: () => "b" }, { name: "q3" }, @@ -1246,8 +1246,8 @@ describe("yeomanui unit test", () => { }; ReplayUtils["setDefaults"](questions, answers); const question = _.find(questions, { name: "q2" }); - expect((question as any).__origAnswer).to.be.undefined; - expect((question as any).__ForceDefault).to.be.undefined; + expect(question.__origAnswer).to.be.undefined; + expect(question.__ForceDefault).to.be.undefined; }); }); @@ -1260,7 +1260,7 @@ describe("yeomanui unit test", () => { {}, flowPromise.state ); - const env: Environment = Environment.createEnv(); + const env: Environment = createEnv(); const envMock = sandbox.mock(env); const gen = { on: () => "" }; const genMock = sandbox.mock(gen); @@ -1268,7 +1268,7 @@ describe("yeomanui unit test", () => { envMock.expects("on").withArgs("error"); genMock.expects("on").withArgs("error"); processMock.expects("on").withArgs("uncaughtException"); - yeomanUiInstance["handleErrors"](env, gen, "genName"); + yeomanUiInstance["handleErrors"](env as any, gen, "genName"); envMock.verify(); genMock.verify(); processMock.verify(); @@ -1286,7 +1286,7 @@ describe("yeomanui unit test", () => { ); yeomanUiInstance["onUncaughtException"] = () => ""; const onUncaughtExceptionBefore = yeomanUiInstance["onUncaughtException"]; - const env: Environment = Environment.createEnv(); + const env: Environment = createEnv(); const envMock = sandbox.mock(env); const gen = { on: () => "" }; const genMock = sandbox.mock(gen); @@ -1297,7 +1297,7 @@ describe("yeomanui unit test", () => { processMock .expects("removeListener") .withArgs("uncaughtException", onUncaughtExceptionBefore); - yeomanUiInstance["handleErrors"](env, gen, "genName"); + yeomanUiInstance["handleErrors"](env as any, gen, "genName"); envMock.verify(); genMock.verify(); processMock.verify(); @@ -1392,7 +1392,7 @@ describe("yeomanui unit test", () => { GeneratorFilter.create(), flowPromise.state ); - const questions = [{ name: "q1" }]; + const questions: any[] = [{ name: "q1" }]; const response = await yeomanUiInstance.showPrompt(questions); expect(response.firstName).to.equal(firstName); }); @@ -1428,7 +1428,7 @@ describe("yeomanui unit test", () => { yeomanUiInstance["runGenerator"] = (): Promise => { return Promise.resolve(); }; - let questions = [{ name: "q1" }]; + let questions: any[] = [{ name: "q1" }]; let response = await yeomanUiInstance.showPrompt(questions); expect(response.firstName).to.equal(firstName); @@ -1477,10 +1477,11 @@ describe("yeomanui unit test", () => { expect( doGeneratorDoneSpy.calledWith( true, + // eslint-disable-next-line @typescript-eslint/no-unused-vars _.get( yeomanUi, "uiOptions.messages.artifact_with_name_generated", - (_: string) => "" + (_a: string) => "" )("testGenName"), create_and_close, "files", @@ -1506,10 +1507,11 @@ describe("yeomanui unit test", () => { expect( doGeneratorDoneSpy.calledWith( true, + // eslint-disable-next-line @typescript-eslint/no-unused-vars _.get( yeomanUi, "uiOptions.messages.artifact_with_name_generated", - (_: string) => "" + (_a: string) => "" )("testGenName"), create_and_close, "files", @@ -1535,10 +1537,11 @@ describe("yeomanui unit test", () => { expect( doGeneratorDoneSpy.calledWith( true, + // eslint-disable-next-line @typescript-eslint/no-unused-vars _.get( yeomanUi, "uiOptions.messages.artifact_with_name_generated", - (_: string) => "" + (_a: string) => "" )("testGenName"), create_and_close, "", @@ -1560,10 +1563,11 @@ describe("yeomanui unit test", () => { expect( doGeneratorDoneSpy.calledWith( true, + // eslint-disable-next-line @typescript-eslint/no-unused-vars _.get( yeomanUi, "uiOptions.messages.artifact_with_name_generated", - (_: string) => "" + (_a: string) => "" )("testGenName"), create_and_close, "files", @@ -1603,10 +1607,11 @@ describe("yeomanui unit test", () => { expect( doGeneratorDoneSpy.calledWith( true, + // eslint-disable-next-line @typescript-eslint/no-unused-vars _.get( yeomanUi, "uiOptions.messages.artifact_with_name_generated", - (_: string) => "" + (_a: string) => "" )("foodq:app"), open_in_new_ws, "project", @@ -1635,10 +1640,11 @@ describe("yeomanui unit test", () => { expect( doGeneratorDoneSpy.calledWith( true, + // eslint-disable-next-line @typescript-eslint/no-unused-vars _.get( yeomanUi, "uiOptions.messages.artifact_with_name_generated", - (_: string) => "" + (_a: string) => "" )("fiori-generator:app"), create_and_close, "project", @@ -1653,7 +1659,7 @@ describe("yeomanui unit test", () => { const testEventFunction = () => { return true; }; - const questions = [ + const questions: any[] = [ { name: "q1", guiType: "questionType", @@ -1678,7 +1684,7 @@ describe("yeomanui unit test", () => { ); yeomanUiInstance["addCustomQuestionEventHandlers"](questions); expect(questions[0]).to.have.property("testEvent"); - expect((questions[0] as any)["testEvent"]).to.equal(testEventFunction); + expect(questions[0]["testEvent"]).to.equal(testEventFunction); }); }); @@ -1702,7 +1708,7 @@ describe("yeomanui unit test", () => { testEventFunction ); yeomanUiInstance["currentQuestions"] = [ - { name: "question1", guiType: "questionType" }, + { name: "question1", guiType: "questionType" } as any, ]; const response = await yeomanUiInstance["evaluateMethod"]( null, @@ -1727,7 +1733,7 @@ describe("yeomanui unit test", () => { method1: () => { return true; }, - }, + } as any, ]; const response = await yeomanUiInstance["evaluateMethod"]( null, @@ -1764,14 +1770,14 @@ describe("yeomanui unit test", () => { flowPromise.state ); yeomanUiInstance["gen"] = Object.create({}); - yeomanUiInstance["gen"].options = {}; + (yeomanUiInstance["gen"] as any).options = {}; yeomanUiInstance["currentQuestions"] = [ { name: "question1", method1: () => { throw new Error("Error"); }, - }, + } as any, ]; try { await yeomanUiInstance["evaluateMethod"](null, "question1", "method1"); @@ -1790,7 +1796,7 @@ describe("yeomanui unit test", () => { flowPromise.state ); yeomanUiInstance["gen"] = Object.create({}); - yeomanUiInstance["gen"].options = {}; + (yeomanUiInstance["gen"] as any).options = {}; yeomanUiInstance["currentQuestions"] = undefined; try { await yeomanUiInstance["evaluateMethod"](null, "question1", "method1"); diff --git a/projects/yeoman-ui/packages/backend/test/youi-adapter.spec.ts b/projects/yeoman-ui/packages/backend/test/youi-adapter.spec.ts index b1cf2b87..0e124baa 100644 --- a/projects/yeoman-ui/packages/backend/test/youi-adapter.spec.ts +++ b/projects/yeoman-ui/packages/backend/test/youi-adapter.spec.ts @@ -122,7 +122,7 @@ describe("YouiAdapter", () => { const youiAdapter = new YouiAdapter(youiEvents, outputChannel); youiAdapter.setYeomanUI(yeomanUi); - const questions = [{ name: "q1" }]; + const questions: any[] = [{ name: "q1" }]; const response: any = await youiAdapter.prompt(questions, null); expect(response.firstName).to.equal(firstName); expect(response.lastName).to.equal(lastName); diff --git a/projects/yeoman-ui/packages/backend/webpack.config.js b/projects/yeoman-ui/packages/backend/webpack.config.js index 48799584..73ed9c32 100644 --- a/projects/yeoman-ui/packages/backend/webpack.config.js +++ b/projects/yeoman-ui/packages/backend/webpack.config.js @@ -3,7 +3,7 @@ "use strict"; const path = require("path"); -const TerserPlugin = require("terser-webpack-plugin"); +const webpack = require("webpack"); /** * Investigate the usage of "import(/webpackIgnore: true / 'ignored-module.js');" @@ -27,7 +27,17 @@ const config = { }, externals: { vscode: "commonjs vscode", + // yeoman-environment and yeoman-generator are ESM-only packages (type: "module"). + // They cannot be loaded via CommonJS require() on Node < 22.12 (ERR_REQUIRE_ESM). + // They must be bundled so webpack can handle their ESM internals via the + // string-replace-loader rules below. // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ + "spdx-license-ids": "commonjs spdx-license-ids", + "spdx-license-ids/deprecated": "commonjs spdx-license-ids/deprecated", + "spdx-exceptions": "commonjs spdx-exceptions", + "@azure/functions-core": "commonjs @azure/functions-core", + "applicationinsights-native-metrics": + "commonjs applicationinsights-native-metrics", }, resolve: { modules: ["node_modules"], @@ -54,8 +64,22 @@ const config = { flags: "g", }, }, + // yeoman-environment v6 (dist/) rules — replaces the old lib/ rules. + // environment-base.js uses createRequire(import.meta.url) for package.json and native lookups; + // those require() calls must bypass webpack and use Node's native require at runtime. { - test: /yeoman-environment[/|\\]lib[/|\\]environment.js/, + test: /yeoman-environment[/|\\]dist[/|\\]environment-base\.js/, + loader: "string-replace-loader", + options: { + search: "require[(]", + replace: "__non_webpack_require__(", + flags: "g", + }, + }, + // store.js calls require.resolve(meta.resolved) to resolve generator package paths at runtime. + // Must use the native resolver, not webpack's. + { + test: /yeoman-environment[/|\\]dist[/|\\]store\.js/, loader: "string-replace-loader", options: { search: "require[.]resolve[(]", @@ -63,25 +87,24 @@ const config = { flags: "g", }, }, - // We replace require() with __non_webpack_require__() to bypass webpack's module resolution and use - // Node's native require at runtime, allowing dynamic loading of generators installed globally or locally. + // store.js loads generator modules at runtime via require(meta.resolved); must stay native. + // It also has a dynamic import() fallback for ESM generators — hide it from webpack's + // static analysis so it stays as a real native import() at runtime. { - test: /yeoman-environment[/|\\]lib[/|\\]util[/|\\]esm.js/, + test: /yeoman-environment[/|\\]dist[/|\\]store\.js/, loader: "string-replace-loader", options: { - search: "require[(]", - replace: "__non_webpack_require__(", + search: "require[(]meta[.]resolved[)]", + replace: "__non_webpack_require__(meta.resolved)", flags: "g", }, }, // ESM (ES Module) dynamic import workaround for bundled context: - // Webpack processes dynamic import() calls at build time, converting them to webpack's chunk loading system. - // However, yeoman-environment's esm.js needs to use native Node.js dynamic import() at runtime to load - // external .mjs generator files from the file system (not bundled). - // We wrap import() in a Function constructor to hide it from webpack's static analysis, forcing it to - // use the native import() at runtime. This is similar to __non_webpack_require__ but for ESM modules. + // store.js falls back to import() for ESM generators. Webpack would convert this to + // its own chunk-loading system, breaking runtime loading of generators from disk. + // Wrap in Function constructor to hide it from webpack's static analysis. { - test: /yeoman-environment[/|\\]lib[/|\\]util[/|\\]esm.js/, + test: /yeoman-environment[/|\\]dist[/|\\]store\.js/, loader: "string-replace-loader", options: { search: "return import[(]", @@ -90,57 +113,77 @@ const config = { flags: "g", }, }, + // environment-full.js dynamically imports yeoman-generator at runtime. Must stay native. { - test: /yeoman-environment[/|\\]lib[/|\\]store.js/, + test: /yeoman-environment[/|\\]dist[/|\\]environment-full\.js/, loader: "string-replace-loader", options: { - search: "require[(]path", - replace: "__non_webpack_require__(path", + search: "await import[(]'yeoman-generator'[)]", + replace: + "await new Function('s', 'return import(s)')('yeoman-generator')", flags: "g", }, }, + // generator-lookup.js resolves installed generator packages from disk at runtime. { - test: /yeoman-environment[/|\\]lib[/|\\]util[/|\\]repository.js/, + test: /yeoman-environment[/|\\]dist[/|\\]generator-lookup\.js/, loader: "string-replace-loader", options: { - search: "require[(]packageJson", - replace: "__non_webpack_require__(packageJson", + search: "require[(]", + replace: "__non_webpack_require__(", flags: "g", }, }, + // module-lookup.js resolves npm paths and package locations from disk at runtime. { - test: /yeoman-environment[/|\\]lib[/|\\]util[/|\\]repository.js/, + test: /yeoman-environment[/|\\]dist[/|\\]module-lookup\.js/, loader: "string-replace-loader", options: { - search: "require[(]absolutePath", - replace: "__non_webpack_require__(absolutePath", + search: "require[(]", + replace: "__non_webpack_require__(", flags: "g", }, }, + // yeoman-generator v8 (dist/) — lifecycle.js loads generator sub-generators from disk. { - test: /yeoman-environment[/|\\]lib[/|\\]resolver.js/, + test: /yeoman-generator[/|\\]dist[/|\\]actions[/|\\]lifecycle\.js/, loader: "string-replace-loader", options: { - search: "require[(]path", - replace: "__non_webpack_require__(path", + search: "await import[(]", + replace: "await new Function('s', 'return import(s)')(", flags: "g", }, }, + // fly-import is yeoman-environment's fallback for loading generators dynamically at runtime. + // Its dynamic import() must stay as native import() — wrap in Function to hide from webpack. { - test: /yeoman-environment[/|\\]lib[/|\\]resolver.js/, + test: /fly-import[/|\\]dist[/|\\]fly-import\.js/, loader: "string-replace-loader", options: { - search: "PACKAGE_NAME_PATTERN = [[]require.*", - replace: "PACKAGE_NAME_PATTERN = ['yeoman-environment'];", + search: "async [(][)] => import[(]", + replace: "async () => new Function('s', 'return import(s)')(", flags: "g", }, }, + // @pnpm/npm-conf uses require.resolve() at runtime to find npm installation paths. + // Only require.resolve() calls need to be native — the require('./lib/*') internal requires + // must stay as webpack require so those files get bundled. { - test: /yeoman-environment[/|\\]lib[/|\\]composability.js/, + test: /@pnpm[/|\\]npm-conf[/|\\]index\.js/, loader: "string-replace-loader", options: { - search: "require[(]'yeoman", - replace: "__non_webpack_require__('yeoman", + search: "require[.]resolve", + replace: "__non_webpack_require__.resolve", + flags: "g", + }, + }, + // lib/make.js uses require.resolve('npm/lib/config/defaults') at build-time to parse npm defaults. + { + test: /@pnpm[/|\\]npm-conf[/|\\]lib[/|\\]make\.js/, + loader: "string-replace-loader", + options: { + search: "require[.]resolve", + replace: "__non_webpack_require__.resolve", flags: "g", }, }, @@ -180,24 +223,6 @@ const config = { flags: "g", }, }, - { - test: /yeoman-environment[/|\\]lib[/|\\]util[/|\\]binary-diff.js/, - loader: "string-replace-loader", - options: { - search: "const istextorbinary.*", - replace: "import {isBinary} from 'istextorbinary';", - flags: "g", - }, - }, - { - test: /yeoman-environment[/|\\]lib[/|\\]util[/|\\]binary-diff.js/, - loader: "string-replace-loader", - options: { - search: "istextorbinary[.]isBinary", - replace: "isBinary", - flags: "g", - }, - }, { test: /node_modules[/|\\]download-stats[/|\\]lib[/|\\]utils.js/, loader: "string-replace-loader", @@ -264,21 +289,50 @@ const config = { ], }, optimization: { + // Disable ESM scope hoisting (ModuleConcatenationPlugin) for yeoman-environment. + // yeoman-environment v6 uses import.meta.url patterns that must be patched before bundling. + // With concatenation enabled, webpack merges all ESM modules into one block and our + // per-file loader patches may be overwritten by webpack's own ESM→CJS rewriting. + // Disabling concatenation forces each file through the full loader pipeline individually. + concatenateModules: false, minimizer: [ - new TerserPlugin({ - terserOptions: { - // ecma 2020 required to parse modern class syntax from deep dependencies - // keep_classnames/keep_fnames prevent mangling that breaks dynamic ESM imports - ecma: 2020, - keep_classnames: true, - keep_fnames: true, - mangle: { + (compiler) => { + const TerserPlugin = require("terser-webpack-plugin"); + // Required for ESM generator support: keep_classnames and keep_fnames prevent mangling that breaks dynamic ESM imports + new TerserPlugin({ + terserOptions: { keep_classnames: true, keep_fnames: true, + mangle: { + keep_classnames: true, + keep_fnames: true, + }, }, - }, - }), + }).apply(compiler); + }, ], }, + plugins: [ + // yeoman-environment v6 is pure ESM. Several dist/ files use import.meta.url patterns + // that break when bundled as CJS: + // - createRequire(import.meta.url) → becomes createRequire(undefined) → throws + // - fileURLToPath(import.meta.url) → bakes build-machine absolute path into bundle → ENOENT on other machines + // Apply a single patch loader to all yeoman-environment dist files so the patches + // land regardless of webpack's ESM ModuleConcatenation processing order. + new webpack.NormalModuleReplacementPlugin( + /yeoman-environment[/\\]dist[/\\].+\.js$/, + (resolveData) => { + // NormalModuleReplacementPlugin passes the full resolveData object. + // Loaders are processed right-to-left (last in array runs first on raw source). + // We push (append) so our patch loader runs first on the raw ESM source, + // before string-replace-loader modifies require() calls. + const createData = resolveData.createData || resolveData; + createData.loaders = createData.loaders || []; + createData.loaders.push({ + loader: require.resolve("./src/utils/yeoman-env-all-patch-loader.js"), + }); + } + ), + ], }; module.exports = config; diff --git a/projects/yeoman-ui/packages/frontend/package.json b/projects/yeoman-ui/packages/frontend/package.json index 15cf33de..2886b75e 100644 --- a/projects/yeoman-ui/packages/frontend/package.json +++ b/projects/yeoman-ui/packages/frontend/package.json @@ -34,7 +34,8 @@ "node": true }, "parserOptions": { - "parser": "babel-eslint" + "parser": "@babel/eslint-parser", + "requireConfigFile": false }, "extends": [ "plugin:vue/vue3-recommended", @@ -92,7 +93,7 @@ "@vue/compiler-sfc": "3.3.4", "@vue/test-utils": "2.4.1", "@vue/vue3-jest": "29.2.6", - "babel-eslint": "^10.0.1", + "@babel/eslint-parser": "7.29.7", "babel-jest": "29.7.0", "eslint-plugin-vue": "9.14.1", "jest": "29.7.0", diff --git a/projects/yeoman-ui/packages/generator-foodq/package.json b/projects/yeoman-ui/packages/generator-foodq/package.json index fc7d3ed5..3a203da5 100644 --- a/projects/yeoman-ui/packages/generator-foodq/package.json +++ b/projects/yeoman-ui/packages/generator-foodq/package.json @@ -22,7 +22,7 @@ "chalk-pipe": "^4.0.0", "datauri": "^3.0.0", "inquirer": "^7.3.3", - "yeoman-generator": "^4.12.0" + "yeoman-generator": "8.2.2" }, "generator-filter": { "types": [ diff --git a/projects/yeoman-ui/packages/types/tsconfig.json b/projects/yeoman-ui/packages/types/tsconfig.json index 06cf3a39..340539de 100644 --- a/projects/yeoman-ui/packages/types/tsconfig.json +++ b/projects/yeoman-ui/packages/types/tsconfig.json @@ -8,7 +8,8 @@ "target": "es5", "esModuleInterop": true, "strict": true, - "types": [] + "types": [], + "skipLibCheck": true }, "include": ["src/**/*", "test/**/*"] } diff --git a/projects/yeoman-ui/packages/yeoman-env-compat/.gitignore b/projects/yeoman-ui/packages/yeoman-env-compat/.gitignore new file mode 100644 index 00000000..de4d1f00 --- /dev/null +++ b/projects/yeoman-ui/packages/yeoman-env-compat/.gitignore @@ -0,0 +1,2 @@ +dist +node_modules diff --git a/projects/yeoman-ui/packages/yeoman-env-compat/package.json b/projects/yeoman-ui/packages/yeoman-env-compat/package.json new file mode 100644 index 00000000..aebbd547 --- /dev/null +++ b/projects/yeoman-ui/packages/yeoman-env-compat/package.json @@ -0,0 +1,33 @@ +{ + "name": "yeoman-env-compat", + "displayName": "yeoman-env-compat", + "version": "1.25.0", + "private": true, + "description": "Thin wrapper that re-exports yeoman-environment v3 and yeoman-generator v4 for backward-compatible legacy generators", + "license": "Apache 2.0", + "author": "SAP SE", + "publisher": "SAP", + "main": "./dist/index.js", + "repository": { + "type": "git", + "url": "https://github.com/SAP/app-studio-toolkit.git", + "directory": "projects/yeoman-ui/packages/yeoman-env-compat" + }, + "scripts": { + "bundle": "webpack --config webpack.config.js", + "compile": "tsc", + "clean": "shx rm -rf ./dist" + }, + "dependencies": { + "yeoman-environment": "3.19.3", + "yeoman-generator": "4.13.0" + }, + "devDependencies": { + "null-loader": "4.0.1", + "shx": "0.3.3", + "string-replace-loader": "3.0.3", + "ts-loader": "9.4.2", + "webpack": "5.106.2", + "webpack-cli": "5.1.4" + } +} diff --git a/projects/yeoman-ui/packages/yeoman-env-compat/src/index.ts b/projects/yeoman-ui/packages/yeoman-env-compat/src/index.ts new file mode 100644 index 00000000..a2ca48be --- /dev/null +++ b/projects/yeoman-ui/packages/yeoman-env-compat/src/index.ts @@ -0,0 +1,13 @@ +const YeomanEnvironment = require("yeoman-environment") as any; + +export const createEnv: ( + args?: string[], + opts?: Record, + adapter?: any +) => { + register(resolved: string, namespace: string): void; + create(namespace: string, options: { options: any }): any; + runLoop: object; + adapter: object; + sharedFs: object; +} = YeomanEnvironment.createEnv ?? YeomanEnvironment; diff --git a/projects/yeoman-ui/packages/yeoman-env-compat/tsconfig.json b/projects/yeoman-ui/packages/yeoman-env-compat/tsconfig.json new file mode 100644 index 00000000..09b9ed96 --- /dev/null +++ b/projects/yeoman-ui/packages/yeoman-env-compat/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": ".", + "target": "es6", + "module": "commonjs", + "esModuleInterop": true, + "skipLibCheck": true, + "declaration": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/projects/yeoman-ui/packages/yeoman-env-compat/webpack.config.js b/projects/yeoman-ui/packages/yeoman-env-compat/webpack.config.js new file mode 100644 index 00000000..3669eec7 --- /dev/null +++ b/projects/yeoman-ui/packages/yeoman-env-compat/webpack.config.js @@ -0,0 +1,143 @@ +"use strict"; + +const path = require("path"); +const fs = require("fs"); + +// Resolve the real paths to the v3/v4 packages via the symlinks pnpm created. +// This ensures webpack bundles yeoman-environment@3 and yeoman-generator@4, +// not whatever hoisted version it would find by walking up node_modules +const compatNodeModules = path.resolve(__dirname, "node_modules"); +const envV3Root = fs.realpathSync( + path.join(compatNodeModules, "yeoman-environment") +); +const genV4Root = fs.realpathSync( + path.join(compatNodeModules, "yeoman-generator") +); + +// istextorbinary and errlop use the 'editions' multi-edition loader which exposes ESM +// files that webpack cannot parse. Resolve them to their known CJS editions directly. +// Using require.resolve() anchored to the generator v4 package to stay within its dep tree +const genV4Req = require("module").createRequire(genV4Root + "/package.json"); +const istextorbinaryCJS = genV4Req + .resolve("istextorbinary") + .replace(/index\.js$/, "edition-node-0.12/index.js"); +const errlop = genV4Req.resolve("errlop"); + +/** @type {import('webpack').Configuration} */ +module.exports = { + target: "node", + mode: "production", + entry: "./src/index.ts", + output: { + path: path.resolve(__dirname, "dist"), + filename: "index.js", + libraryTarget: "commonjs2", + }, + optimization: { + minimize: false, // keep class names intact; generators rely on them + }, + externals: { + // spdx-* are large data packages already present in the backend bundle + "spdx-license-ids": "commonjs spdx-license-ids", + "spdx-license-ids/deprecated": "commonjs spdx-license-ids/deprecated", + "spdx-exceptions": "commonjs spdx-exceptions", + // node-gyp does a dynamic require('./' + command) that pulls in a .cs file webpack + // cannot parse. Externalize it — only used for native module compilation, never during + // generator execution + "node-gyp": "commonjs node-gyp", + // bluebird is an optional peer of promise-inflight; not present in pnpm store + bluebird: "commonjs bluebird", + }, + resolve: { + extensions: [".ts", ".js", ".json"], + // Point webpack directly at the v3/v4 roots so it never accidentally picks up + // a hoisted v6/v8 from higher up in the pnpm store + alias: { + "yeoman-environment": envV3Root, + "yeoman-generator": genV4Root, + // istextorbinary/errlop use the 'editions' multi-edition loader which exposes ESM + // files that webpack can't parse. Alias them directly to their CJS editions + istextorbinary: istextorbinaryCJS, + errlop: errlop, + }, + }, + module: { + rules: [ + { + test: /\.ts$/, + exclude: /node_modules/, + use: [{ loader: "ts-loader" }], + }, + // node-gyp does require('./' + command) which pulls in Find-VisualStudio.cs. + // Webpack can't parse .cs files — return an empty module for them + { + test: /\.cs$/, + use: "null-loader", + }, + // resolver.js line 16: reads PROJECT_ROOT/package.json at module-load time to get + // the package name pattern. When bundled, __dirname points to dist/ not the source + // root, so the path.join(PROJECT_ROOT, 'package.json') call would resolve wrong. + // Patch only this specific call — leave all other requires (arrify, slash, etc.) bundled + { + test: /yeoman-environment[/\\]lib[/\\]resolver\.js$/, + loader: "string-replace-loader", + options: { + search: "require\\(path\\.join\\(PROJECT_ROOT,", + replace: "__non_webpack_require__(path.join(PROJECT_ROOT,", + flags: "g", + }, + }, + // resolver.js uses require.resolve() at runtime to locate installed generator packages + { + test: /yeoman-environment[/\\]lib[/\\]resolver\.js$/, + loader: "string-replace-loader", + options: { + search: "require\\.resolve\\(", + replace: "__non_webpack_require__.resolve(", + flags: "g", + }, + }, + // esm.js loads generator files from disk at runtime by variable path — must stay native. + // Both require() calls in this file are dynamic: require(fileToImport) + { + test: /yeoman-environment[/\\]lib[/\\]util[/\\]esm\.js$/, + loader: "string-replace-loader", + options: { + search: "require\\(fileToImport\\)", + replace: "__non_webpack_require__(fileToImport)", + flags: "g", + }, + }, + // environment.js: require(`${packageName}/package.json`) is a runtime disk lookup + { + test: /yeoman-environment[/\\]lib[/\\]environment\.js$/, + loader: "string-replace-loader", + options: { + search: "require\\(`\\$\\{packageName\\}", + replace: "__non_webpack_require__(`${packageName}", + flags: "g", + }, + }, + // environment.js: require.resolve(path / moduleId) for runtime module resolution + { + test: /yeoman-environment[/\\]lib[/\\]environment\.js$/, + loader: "string-replace-loader", + options: { + search: "require\\.resolve\\(", + replace: "__non_webpack_require__.resolve(", + flags: "g", + }, + }, + // repository.js: require(packageJson) loads a resolved package.json path from disk + { + test: /yeoman-environment[/\\]lib[/\\]util[/\\]repository\.js$/, + loader: "string-replace-loader", + options: { + search: "require\\(packageJson\\)", + replace: "__non_webpack_require__(packageJson)", + flags: "g", + }, + }, + ], + }, +};