diff --git a/build-tools/packages/build-cli/knip.config.ts b/build-tools/packages/build-cli/knip.config.ts new file mode 100644 index 000000000000..98fdd7d8299d --- /dev/null +++ b/build-tools/packages/build-cli/knip.config.ts @@ -0,0 +1,27 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +// Enable TypeScript type-checking for this file. +// See https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html#ts-check +// @ts-check + +// Import the shared config from the root of the repo. +import sharedConfig from "../../../knip.base.ts"; + +export default { + include: [...sharedConfig.include], + ignoreDependencies: [ + ...sharedConfig.ignoreDependencies, + + // Oclif plugins are used dynamically at runtime. + "@oclif/plugin-*", + // Danger is used at runtime in the dangerfile. + "danger", + // Types from this package are used in markdown.ts. + "mdast", + // This is needed by the fluid-build task integration in policy-check. + "tslib", + ], +}; diff --git a/build-tools/packages/build-cli/package.json b/build-tools/packages/build-cli/package.json index 7c219538cdcc..f7dcdd12c4bf 100644 --- a/build-tools/packages/build-cli/package.json +++ b/build-tools/packages/build-cli/package.json @@ -43,6 +43,8 @@ "build:test:esm": "tsc --project ./src/test/tsconfig.json", "check:biome": "biome check .", "check:format": "npm run check:biome", + "check:knip": "knip --no-config-hints", + "knip:fix": "knip --fix --fix-type dependencies --no-config-hints", "ci:build:docs": "api-extractor run", "clean": "rimraf --glob dist lib oclif.manifest.json \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc", "clean:manifest": "rimraf --glob oclif.manifest.json", @@ -79,12 +81,7 @@ "temp-directory": "nyc/.nyc_output" }, "dependencies": { - "@andrewbranch/untar.js": "^1.0.3", - "@fluid-tools/build-infrastructure": "workspace:~", - "@fluid-tools/version-tools": "workspace:~", "@fluidframework/build-tools": "workspace:~", - "@fluidframework/bundle-size-tools": "workspace:~", - "@inquirer/prompts": "^7.0.1", "@microsoft/api-extractor": "^7.47.11", "@oclif/core": "^4.0.30", "@oclif/plugin-autocomplete": "^3.2.7", @@ -92,93 +89,55 @@ "@oclif/plugin-help": "^6.2.16", "@oclif/plugin-not-found": "^3.2.24", "@octokit/core": "^5.2.0", - "@octokit/rest": "^21.0.2", "@rushstack/node-core-library": "^5.9.0", "async": "^3.2.6", - "azure-devops-node-api": "^11.2.0", - "change-case": "^3.1.0", "cosmiconfig": "^8.3.6", "danger": "^12.3.3", "date-fns": "^2.30.0", "debug": "^4.3.7", - "depcheck": "^1.4.7", "execa": "^5.1.1", - "fflate": "^0.8.2", "fs-extra": "^11.2.0", - "github-slugger": "^2.0.0", "globby": "^11.1.0", "gray-matter": "^4.0.3", - "human-id": "^4.1.1", "issue-parser": "^7.0.1", "json5": "^2.2.3", - "jssm": "^5.104.1", - "jszip": "^3.10.1", "latest-version": "^9.0.0", "mdast": "^3.0.0", - "mdast-util-heading-range": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "minimatch": "^7.4.6", "npm-check-updates": "^16.14.20", "oclif": "^4.15.16", "picocolors": "^1.1.1", - "prettier": "~3.2.5", - "prompts": "^2.4.2", "read-pkg-up": "^7.0.1", - "remark": "^15.0.1", - "remark-gfm": "^4.0.0", - "remark-github": "^12.0.0", - "remark-github-beta-blockquote-admonitions": "^3.1.1", - "remark-toc": "^9.0.0", "replace-in-file": "^7.2.0", "resolve.exports": "^2.0.2", "semver": "^7.6.3", - "semver-utils": "^1.1.4", "simple-git": "^3.27.0", - "sort-json": "^2.0.1", "sort-package-json": "1.57.0", - "strip-ansi": "^6.0.1", - "table": "^6.8.2", "ts-morph": "^22.0.0", - "type-fest": "^2.19.0", - "unist-util-visit": "^5.0.0", - "xml2js": "^0.5.0" + "type-fest": "^2.19.0" }, "devDependencies": { "@biomejs/biome": "~1.9.3", - "@fluidframework/build-common": "^2.0.3", "@fluidframework/eslint-config-fluid": "^5.4.0", - "@oclif/test": "^4.1.0", "@types/async": "^3.2.24", "@types/chai": "^4.3.20", - "@types/chai-arrays": "^2.0.3", "@types/debug": "^4.1.12", "@types/fs-extra": "^11.0.4", "@types/issue-parser": "^3.0.5", - "@types/mdast": "^4.0.4", "@types/mocha": "^10.0.9", "@types/node": "^18.19.59", - "@types/prettier": "^2.7.3", - "@types/prompts": "^2.4.9", "@types/semver": "^7.5.8", - "@types/semver-utils": "^1.1.3", - "@types/sort-json": "^2.0.3", - "@types/unist": "^3.0.3", - "@types/xml2js": "^0.4.14", "c8": "^7.14.0", "chai": "^4.5.0", - "chai-arrays": "^2.2.0", - "concurrently": "^8.2.2", "copyfiles": "^2.4.1", "eslint": "~8.57.0", "eslint-config-oclif": "^5.2.1", "eslint-config-oclif-typescript": "^3.1.12", "eslint-config-prettier": "~9.1.0", "jssm-viz-cli": "^5.101.0", + "knip": "^5.45.0", "mocha": "^10.7.3", "mocha-multi-reporters": "^1.5.1", - "mocked-env": "^1.3.5", "rimraf": "^4.4.1", - "ts-node": "^10.9.2", "tslib": "^2.8.0", "typescript": "~5.4.5" }, diff --git a/build-tools/packages/build-cli/src/commands/check/policy.ts b/build-tools/packages/build-cli/src/commands/check/policy.ts index c3927a0d19ca..10062bc9fdca 100644 --- a/build-tools/packages/build-cli/src/commands/check/policy.ts +++ b/build-tools/packages/build-cli/src/commands/check/policy.ts @@ -273,7 +273,7 @@ export class CheckPolicy extends BaseCommand { // Resolvers are expected to be run serially to avoid any conflicts. // eslint-disable-next-line no-await-in-loop const resolveResult = await runWithPerf(handler.name, "resolve", async () => - resolver(relPath, gitRoot, result), + resolver(relPath, gitRoot), ); if (resolveResult?.message !== undefined) { diff --git a/build-tools/packages/build-cli/src/library/repoPolicyCheck/common.ts b/build-tools/packages/build-cli/src/library/repoPolicyCheck/common.ts index 066fac5f66e2..f7d36d08b8f0 100644 --- a/build-tools/packages/build-cli/src/library/repoPolicyCheck/common.ts +++ b/build-tools/packages/build-cli/src/library/repoPolicyCheck/common.ts @@ -17,8 +17,6 @@ export interface Handler { resolver?: ( file: string, root: string, - /* output from the handler */ - handlerOutput: string, ) => | Promise<{ resolved: boolean; message?: string }> | { resolved: boolean; message?: string }; diff --git a/build-tools/packages/build-cli/src/library/repoPolicyCheck/npmPackages.ts b/build-tools/packages/build-cli/src/library/repoPolicyCheck/npmPackages.ts index a94ec3d35d99..fa59b450181a 100644 --- a/build-tools/packages/build-cli/src/library/repoPolicyCheck/npmPackages.ts +++ b/build-tools/packages/build-cli/src/library/repoPolicyCheck/npmPackages.ts @@ -10,12 +10,11 @@ import { createRequire } from "node:module"; import { EOL as newline } from "node:os"; import path from "node:path"; import { - findGitRootSync, updatePackageJsonFile, updatePackageJsonFileAsync, } from "@fluid-tools/build-infrastructure"; +import { findGitRootSync } from "@fluid-tools/build-infrastructure"; import { PackageJson, getApiExtractorConfigFilePath } from "@fluidframework/build-tools"; -import depcheck from "depcheck"; import { writeJson } from "fs-extra/esm"; import JSON5 from "json5"; import replace from "replace-in-file"; @@ -1966,69 +1965,6 @@ export const handlers: Handler[] = [ } }); - return result; - }, - }, - { - name: "npm-check-unused-dependencies", - match, - handler: async (file: string): Promise => { - const depcheckConfigFileName = ".depcheckrc.cjs"; - const packageDir = path.resolve(path.dirname(file)); - const depcheckConfigFilePath = path.resolve( - path.join(packageDir, depcheckConfigFileName), - ); - const configExists = fs.existsSync(depcheckConfigFilePath); - let options: depcheck.Options = {}; - if (configExists) { - try { - options = require(depcheckConfigFilePath) as depcheck.Options; - } catch (error) { - console.log(`Error reading ${depcheckConfigFileName} file for ${packageDir}`, error); - return; - } - } - try { - const result = await depcheck(packageDir, options); - const packageErrors: string[] = []; - if (result.devDependencies.length > 0) { - packageErrors.push(`[Unused devDependencies]:${result.devDependencies.join(",")}`); - } - if (result.dependencies.length > 0) { - packageErrors.push(`[Unused dependencies]:${result.dependencies.join(",")}`); - } - return packageErrors.length > 0 ? packageErrors.join(newline) : undefined; - } catch (error) { - return `Error running depcheck for ${packageDir}: ${error}`; - } - }, - resolver: async ( - file: string, - _root: string, - handlerOutput: string, - ): Promise<{ resolved: boolean; message?: string }> => { - const result: { resolved: boolean; message?: string } = { resolved: true }; - updatePackageJsonFile(path.dirname(file), (packageJson) => { - // Extract the errored dependencies from the error message output generated by the handler above. - const [devDependencyErrorString, dependencyErrorString] = handlerOutput.split(newline); - const devDependencyErroredPkgs = devDependencyErrorString?.split(":")[1]?.split(","); - const dependencyErroredPkgs = dependencyErrorString?.split(":")[1]?.split(","); - - if (devDependencyErroredPkgs !== undefined && devDependencyErroredPkgs.length > 0) { - // Delete unused dev dependency declaration from package.json - for (const pkgName of devDependencyErroredPkgs) { - delete packageJson.devDependencies?.[pkgName]; - } - } - - if (dependencyErroredPkgs !== undefined && dependencyErroredPkgs.length > 0) { - // Delete unused dependency declaration from package.json - for (const pkgName of dependencyErroredPkgs) { - delete packageJson.dependencies?.[pkgName]; - } - } - }); - return result; }, }, diff --git a/build-tools/pnpm-lock.yaml b/build-tools/pnpm-lock.yaml index f0eebe839ae1..4c8c6229c712 100644 --- a/build-tools/pnpm-lock.yaml +++ b/build-tools/pnpm-lock.yaml @@ -27,10 +27,10 @@ importers: version: 17.8.1 '@commitlint/cz-commitlint': specifier: ^17.8.1 - version: 17.8.1(commitizen@4.3.1(typescript@5.4.5))(inquirer@8.2.6) + version: 17.8.1(commitizen@4.3.1)(inquirer@8.2.6) '@fluid-tools/build-cli': specifier: ~0.49.0 - version: 0.49.0(@types/node@18.19.60)(encoding@0.1.13)(typescript@5.4.5) + version: 0.49.0(typescript@5.4.5) '@fluidframework/build-common': specifier: ^2.0.3 version: 2.0.3 @@ -39,7 +39,7 @@ importers: version: 0.49.0(@types/node@18.19.60) '@microsoft/api-documenter': specifier: ^7.25.21 - version: 7.25.21(@types/node@18.19.60) + version: 7.25.21 '@microsoft/api-extractor': specifier: ^7.47.11 version: 7.47.11(@types/node@18.19.60) @@ -147,16 +147,13 @@ importers: version: 8.3.6(typescript@5.4.5) danger: specifier: ^12.3.3 - version: 12.3.3(encoding@0.1.13) + version: 12.3.3 date-fns: specifier: ^2.30.0 version: 2.30.0 debug: specifier: ^4.3.7 version: 4.3.7(supports-color@8.1.1) - depcheck: - specifier: ^1.4.7 - version: 1.4.7 execa: specifier: ^5.1.1 version: 5.1.1 @@ -521,7 +518,7 @@ importers: version: 0.26.10(typescript@5.4.5) typedoc-plugin-markdown: specifier: ^4.2.9 - version: 4.2.9(typedoc@0.26.10(typescript@5.4.5)) + version: 4.2.9(typedoc@0.26.10) unionfs: specifier: ^4.5.4 version: 4.5.4 @@ -841,51 +838,18 @@ packages: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.9': - resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - '@babel/highlight@7.18.6': resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.9': - resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/runtime@7.22.5': resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==} engines: {node: '>=6.9.0'} - '@babel/template@7.26.9': - resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.9': - resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.9': - resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} - engines: {node: '>=6.9.0'} - '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1057,7 +1021,7 @@ packages: resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 || 8.51.0 '@eslint-community/regexpp@4.10.0': resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} @@ -1263,6 +1227,9 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/confirm@3.2.0': resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} @@ -1273,6 +1240,9 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/core@10.0.1': resolution: {integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==} @@ -1287,12 +1257,18 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/expand@4.0.1': resolution: {integrity: sha512-9anjpdc802YInXekwePsa5LWySzVMHbhVS6v6n5IJxrl8w09mODOeP69wZ1d0WrOvot2buQSmYp4lW/pq8y+zQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/figures@1.0.7': resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} @@ -1307,36 +1283,54 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/number@3.0.1': resolution: {integrity: sha512-gF3erqfm0snpwBjbyKXUUe17QJ7ebm49btXApajrM0rgCCoYX0o9W5NCuYNae87iPxaIJVjtuoQ42DX32IdbMA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/password@4.0.1': resolution: {integrity: sha512-D7zUuX4l4ZpL3D7/SWu9ibijP09jigwHi/gfUHLx5GMS5oXzuMfPV2xPMG1tskco4enTx70HA0VtMXecerpvbg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/prompts@7.0.1': resolution: {integrity: sha512-cu2CpGC2hz7WTt2VBvdkzahDvYice6vYA/8Dm7Fy3tRNzKuQTF2EY3CV4H2GamveWE6tA2XzyXtbWX8+t4WMQg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/rawlist@4.0.1': resolution: {integrity: sha512-0LuMOgaWs7W8JNcbiKkoFwyWFDEeCmLqDCygF0hidQUVa6J5grFVRZxrpompiWDFM49Km2rf7WoZwRo1uf1yWQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/search@3.0.1': resolution: {integrity: sha512-ehMqjiO0pAf+KtdONKeCLVy4i3fy3feyRRhDrvzWhiwB8JccgKn7eHFr39l+Nx/FaZAhr0YxIJvkK5NuNvG+Ww==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/select@2.5.0': resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} @@ -1347,6 +1341,9 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@inquirer/type@1.5.5': resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} @@ -1361,6 +1358,9 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -1374,10 +1374,6 @@ packages: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.0': resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} @@ -1386,19 +1382,12 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.3': resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} '@jridgewell/sourcemap-codec@1.4.14': resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/trace-mapping@0.3.18': resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} @@ -1730,12 +1719,12 @@ packages: '@rushstack/eslint-plugin-security@0.7.1': resolution: {integrity: sha512-84N42tlONhcbXdlk5Rkb+/pVxPnH+ojX8XwtFoecCRV88/4Ii7eGEyJPb73lOpHaE3NJxLzLVIeixKYQmdjImA==} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || 8.51.0 '@rushstack/eslint-plugin@0.13.1': resolution: {integrity: sha512-qQ6iPCm8SFuY+bpcSv5hlYtdwDHcFlE6wlpUHa0ywG9tGVBYM5But8S4qVRFq1iejAuFX+ubNUOyFJHvxpox+A==} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || 8.51.0 '@rushstack/node-core-library@3.66.1': resolution: {integrity: sha512-ker69cVKAoar7MMtDFZC4CzcDxjwqIhFzqEnYI5NRN/8M3om6saWCVx/A7vL2t/jFCJsnzQplRDqA7c78pytng==} @@ -1951,9 +1940,6 @@ packages: '@types/pako@2.0.3': resolution: {integrity: sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==} - '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} @@ -2001,7 +1987,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2012,7 +1998,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2022,13 +2008,13 @@ packages: resolution: {integrity: sha512-GkQGV0UF/V5Ra7gZMBmiD1WrYUFOJNvCZs+XQnUyJoxmqfWMXVNyB2NVCPRKefoQcpvTv9UpJyfCvsJFs8NzzQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || 8.51.0 '@typescript-eslint/parser@6.21.0': resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2038,7 +2024,7 @@ packages: resolution: {integrity: sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2060,7 +2046,7 @@ packages: resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2070,7 +2056,7 @@ packages: resolution: {integrity: sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2119,19 +2105,19 @@ packages: resolution: {integrity: sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || 8.51.0 '@typescript-eslint/utils@6.21.0': resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 '@typescript-eslint/utils@6.7.5': resolution: {integrity: sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 '@typescript-eslint/visitor-keys@5.59.11': resolution: {integrity: sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==} @@ -2148,21 +2134,6 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -2582,9 +2553,6 @@ packages: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} - callsite@1.0.0: - resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2975,6 +2943,9 @@ packages: cosmiconfig: '>=7' ts-node: '>=10' typescript: '>=3' + peerDependenciesMeta: + '@types/node': + optional: true cosmiconfig-typescript-loader@5.0.0: resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} @@ -2983,10 +2954,9 @@ packages: '@types/node': '*' cosmiconfig: '>=8.2' typescript: '>=4' - - cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} + peerDependenciesMeta: + '@types/node': + optional: true cosmiconfig@8.1.3: resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} @@ -3163,11 +3133,6 @@ packages: delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - depcheck@1.4.7: - resolution: {integrity: sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==} - engines: {node: '>=10'} - hasBin: true - depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -3175,9 +3140,6 @@ packages: deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - deps-regex@0.2.0: - resolution: {integrity: sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -3408,25 +3370,25 @@ packages: resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: - eslint: '>=7.0.0' + eslint: '>=7.0.0 || 8.51.0' eslint-config-prettier@9.1.0: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: - eslint: '>=7.0.0' + eslint: '>=7.0.0 || 8.51.0' eslint-config-xo-space@0.35.0: resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} engines: {node: '>=12'} peerDependencies: - eslint: '>=8.56.0' + eslint: '>=8.56.0 || 8.51.0' eslint-config-xo@0.44.0: resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} engines: {node: '>=18'} peerDependencies: - eslint: '>=8.56.0' + eslint: '>=8.56.0 || 8.51.0' eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -3469,32 +3431,32 @@ packages: resolution: {integrity: sha512-dxD/uz1YKJ8U4yah1i+V/p/u+kHRy3YxTPe2nJGqb5lCR+ucan/KIexfZ5+q4X+tkllyMe86EBbAkdlwxNy3oQ==} engines: {node: '>=0.10.0'} peerDependencies: - eslint: '>=3.0.0' + eslint: '>=3.0.0 || 8.51.0' eslint-plugin-es@4.1.0: resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: - eslint: '>=4.19.1' + eslint: '>=4.19.1 || 8.51.0' eslint-plugin-eslint-comments@3.2.0: resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: - eslint: '>=4.19.1' + eslint: '>=4.19.1 || 8.51.0' eslint-plugin-i@2.29.0: resolution: {integrity: sha512-slGeTS3GQzx9267wLJnNYNO8X9EHGsc75AKIAFvnvMYEcTJKotPKL1Ru5PIGVHIVet+2DsugePWp8Oxpx8G22w==} engines: {node: '>=12'} peerDependencies: - eslint: ^7.2.0 || ^8 + eslint: ^7.2.0 || ^8 || 8.51.0 eslint-plugin-import@2.31.0: resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 || 8.51.0 peerDependenciesMeta: '@typescript-eslint/parser': optional: true @@ -3503,25 +3465,25 @@ packages: resolution: {integrity: sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==} engines: {node: '>=16'} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 eslint-plugin-mocha@10.5.0: resolution: {integrity: sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==} engines: {node: '>=14.0.0'} peerDependencies: - eslint: '>=7.0.0' + eslint: '>=7.0.0 || 8.51.0' eslint-plugin-n@15.7.0: resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: - eslint: '>=7.0.0' + eslint: '>=7.0.0 || 8.51.0' eslint-plugin-perfectionist@2.11.0: resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} peerDependencies: astro-eslint-parser: ^1.0.2 - eslint: '>=8.0.0' + eslint: '>=8.0.0 || 8.51.0' svelte: '>=3.0.0' svelte-eslint-parser: ^0.37.0 vue-eslint-parser: '>=9.0.0' @@ -3539,19 +3501,19 @@ packages: resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || 8.51.0 eslint-plugin-react-hooks@4.6.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || 8.51.0 eslint-plugin-react@7.33.2: resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || 8.51.0 eslint-plugin-tsdoc@0.2.17: resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} @@ -3560,14 +3522,14 @@ packages: resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} engines: {node: '>=16'} peerDependencies: - eslint: '>=8.44.0' + eslint: '>=8.44.0 || 8.51.0' eslint-plugin-unused-imports@3.0.0: resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^6.0.0 - eslint: ^8.0.0 + eslint: ^8.0.0 || 8.51.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true @@ -3592,7 +3554,7 @@ packages: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: - eslint: '>=5' + eslint: '>=5 || 8.51.0' eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} @@ -3640,9 +3602,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -3775,10 +3734,6 @@ packages: resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} engines: {node: '>= 8'} - findup-sync@5.0.0: - resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} - engines: {node: '>= 10.13.0'} - flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -4011,10 +3966,6 @@ packages: resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} engines: {node: '>=0.10.0'} - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -5028,9 +4979,6 @@ packages: lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -5407,11 +5355,6 @@ packages: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -5836,9 +5779,6 @@ packages: pinpoint@1.1.0: resolution: {integrity: sha512-+04FTD9x7Cls2rihLlo57QDCcHoLBGn5Dk51SwtFBWkUWLxZaBXyNVpCw1S+atvE7GmnFjeaRZ0WLq3UYuqAdg==} - please-upgrade-node@3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} - pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -5847,10 +5787,6 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} - engines: {node: ^10 || ^12 || >=14} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -6112,9 +6048,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-package-name@2.0.1: - resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} - resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -6261,9 +6194,6 @@ packages: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} - semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} @@ -6416,10 +6346,6 @@ packages: resolution: {integrity: sha512-d76wfhgUuGypKqY72Unm5LFnMpACbdxXsLPcL27pOsSrmVqH3PztFp1uq+Z22suk15h7vXmTesuh2aEjdCqb5w==} hasBin: true - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -6769,6 +6695,8 @@ packages: optional: true '@swc/wasm': optional: true + '@types/node': + optional: true tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -7217,10 +7145,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - yaml@2.6.0: resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} engines: {node: '>= 14'} @@ -7297,63 +7221,18 @@ snapshots: dependencies: '@babel/highlight': 7.18.6 - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/generator@7.26.9': - dependencies: - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.0.2 - - '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-validator-identifier@7.22.20': {} - '@babel/helper-validator-identifier@7.25.9': {} - '@babel/highlight@7.18.6': dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - '@babel/parser@7.26.9': - dependencies: - '@babel/types': 7.26.9 - '@babel/runtime@7.22.5': dependencies: regenerator-runtime: 0.13.11 - '@babel/template@7.26.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 - - '@babel/traverse@7.26.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/template': 7.26.9 - '@babel/types': 7.26.9 - debug: 4.3.7(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.9': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@bcoe/v8-coverage@0.2.3': {} '@biomejs/biome@1.9.4': @@ -7425,7 +7304,7 @@ snapshots: ajv: 8.13.0 optional: true - '@commitlint/cz-commitlint@17.8.1(commitizen@4.3.1(typescript@5.4.5))(inquirer@8.2.6)': + '@commitlint/cz-commitlint@17.8.1(commitizen@4.3.1)(inquirer@8.2.6)': dependencies: '@commitlint/ensure': 17.8.1 '@commitlint/load': 17.8.1 @@ -7479,7 +7358,7 @@ snapshots: '@types/node': 20.5.1 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.4.5) - cosmiconfig-typescript-loader: 4.2.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@18.19.60)(typescript@5.4.5))(typescript@5.4.5) + cosmiconfig-typescript-loader: 4.2.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.4.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -7499,7 +7378,7 @@ snapshots: '@types/node': 18.19.60 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.4.5) - cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.60)(cosmiconfig@8.3.6(typescript@5.4.5))(typescript@5.4.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.60)(cosmiconfig@8.3.6)(typescript@5.4.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -7629,7 +7508,7 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@fluid-tools/build-cli@0.49.0(@types/node@18.19.60)(encoding@0.1.13)(typescript@5.4.5)': + '@fluid-tools/build-cli@0.49.0(typescript@5.4.5)': dependencies: '@andrewbranch/untar.js': 1.0.3 '@fluid-tools/version-tools': 0.49.0(@types/node@18.19.60) @@ -7641,7 +7520,7 @@ snapshots: '@oclif/plugin-commands': 4.1.5 '@oclif/plugin-help': 6.2.16 '@oclif/plugin-not-found': 3.2.24(@types/node@18.19.60) - '@octokit/core': 4.2.4(encoding@0.1.13) + '@octokit/core': 4.2.4 '@octokit/rest': 21.0.2 '@rushstack/node-core-library': 3.66.1(@types/node@18.19.60) async: 3.2.6 @@ -7649,7 +7528,7 @@ snapshots: chalk: 5.3.0 change-case: 3.1.0 cosmiconfig: 8.3.6(typescript@5.4.5) - danger: 11.3.0(encoding@0.1.13) + danger: 11.3.0 date-fns: 2.30.0 debug: 4.3.7(supports-color@8.1.1) execa: 5.1.1 @@ -7782,19 +7661,19 @@ snapshots: '@rushstack/eslint-patch': 1.4.0 '@rushstack/eslint-plugin': 0.13.1(eslint@8.57.0)(typescript@5.4.5) '@rushstack/eslint-plugin-security': 0.7.1(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 6.7.5(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.7.5(eslint@8.57.0)(typescript@5.4.5) eslint-config-prettier: 9.0.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-i@2.29.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.7.5)(eslint-plugin-i@2.29.0)(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.7.5)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) eslint-plugin-jsdoc: 46.8.2(eslint@8.57.0) eslint-plugin-promise: 6.1.1(eslint@8.57.0) eslint-plugin-react: 7.33.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) - eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.7.5)(eslint@8.57.0) transitivePeerDependencies: - eslint - eslint-import-resolver-node @@ -8097,18 +7976,10 @@ snapshots: '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.0': {} '@jridgewell/set-array@1.1.2': {} - '@jridgewell/set-array@1.2.1': {} - '@jridgewell/source-map@0.3.3': dependencies: '@jridgewell/gen-mapping': 0.3.2 @@ -8116,8 +7987,6 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.14': {} - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/trace-mapping@0.3.18': dependencies: '@jridgewell/resolve-uri': 3.1.0 @@ -8174,7 +8043,7 @@ snapshots: jju: 1.4.0 js-yaml: 4.1.0 - '@microsoft/api-documenter@7.25.21(@types/node@18.19.60)': + '@microsoft/api-documenter@7.25.21': dependencies: '@microsoft/api-extractor-model': 7.29.8(@types/node@18.19.60) '@microsoft/tsdoc': 0.15.0 @@ -8403,11 +8272,11 @@ snapshots: '@octokit/auth-token@5.1.1': {} - '@octokit/core@3.6.0(encoding@0.1.13)': + '@octokit/core@3.6.0': dependencies: '@octokit/auth-token': 2.5.0 - '@octokit/graphql': 4.8.0(encoding@0.1.13) - '@octokit/request': 5.6.3(encoding@0.1.13) + '@octokit/graphql': 4.8.0 + '@octokit/request': 5.6.3 '@octokit/request-error': 2.1.0 '@octokit/types': 6.41.0 before-after-hook: 2.2.3 @@ -8415,11 +8284,11 @@ snapshots: transitivePeerDependencies: - encoding - '@octokit/core@4.2.4(encoding@0.1.13)': + '@octokit/core@4.2.4': dependencies: '@octokit/auth-token': 3.0.3 - '@octokit/graphql': 5.0.5(encoding@0.1.13) - '@octokit/request': 6.2.3(encoding@0.1.13) + '@octokit/graphql': 5.0.5 + '@octokit/request': 6.2.3 '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 before-after-hook: 2.2.3 @@ -8469,17 +8338,17 @@ snapshots: '@octokit/types': 13.5.0 universal-user-agent: 6.0.0 - '@octokit/graphql@4.8.0(encoding@0.1.13)': + '@octokit/graphql@4.8.0': dependencies: - '@octokit/request': 5.6.3(encoding@0.1.13) + '@octokit/request': 5.6.3 '@octokit/types': 6.41.0 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding - '@octokit/graphql@5.0.5(encoding@0.1.13)': + '@octokit/graphql@5.0.5': dependencies: - '@octokit/request': 6.2.3(encoding@0.1.13) + '@octokit/request': 6.2.3 '@octokit/types': 9.3.2 universal-user-agent: 6.0.0 transitivePeerDependencies: @@ -8508,14 +8377,14 @@ snapshots: '@octokit/core': 6.1.2 '@octokit/types': 13.5.0 - '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0(encoding@0.1.13))': + '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0)': dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/core': 3.6.0 '@octokit/types': 6.41.0 - '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0(encoding@0.1.13))': + '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0)': dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/core': 3.6.0 '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.2)': dependencies: @@ -8526,9 +8395,9 @@ snapshots: '@octokit/core': 6.1.2 '@octokit/types': 13.5.0 - '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0(encoding@0.1.13))': + '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0)': dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/core': 3.6.0 '@octokit/types': 6.41.0 deprecation: 2.3.1 @@ -8554,24 +8423,24 @@ snapshots: dependencies: '@octokit/types': 13.5.0 - '@octokit/request@5.6.3(encoding@0.1.13)': + '@octokit/request@5.6.3': dependencies: '@octokit/endpoint': 6.0.12 '@octokit/request-error': 2.1.0 '@octokit/types': 6.41.0 is-plain-object: 5.0.0 - node-fetch: 2.6.9(encoding@0.1.13) + node-fetch: 2.6.9 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding - '@octokit/request@6.2.3(encoding@0.1.13)': + '@octokit/request@6.2.3': dependencies: '@octokit/endpoint': 7.0.5 '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.9(encoding@0.1.13) + node-fetch: 2.6.9 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -8590,12 +8459,12 @@ snapshots: '@octokit/types': 13.5.0 universal-user-agent: 7.0.2 - '@octokit/rest@18.12.0(encoding@0.1.13)': + '@octokit/rest@18.12.0': dependencies: - '@octokit/core': 3.6.0(encoding@0.1.13) - '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0(encoding@0.1.13)) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0(encoding@0.1.13)) - '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0(encoding@0.1.13)) + '@octokit/core': 3.6.0 + '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) + '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) transitivePeerDependencies: - encoding @@ -8657,6 +8526,7 @@ snapshots: '@rushstack/node-core-library@3.66.1(@types/node@18.19.60)': dependencies: + '@types/node': 18.19.60 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -8664,11 +8534,10 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 z-schema: 5.0.5 - optionalDependencies: - '@types/node': 18.19.60 '@rushstack/node-core-library@5.3.0(@types/node@18.19.60)': dependencies: + '@types/node': 18.19.60 ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) ajv-formats: 3.0.1(ajv@8.13.0) @@ -8677,11 +8546,10 @@ snapshots: jju: 1.4.0 resolve: 1.22.8 semver: 7.5.4 - optionalDependencies: - '@types/node': 18.19.60 '@rushstack/node-core-library@5.9.0(@types/node@18.19.60)': dependencies: + '@types/node': 18.19.60 ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) ajv-formats: 3.0.1(ajv@8.13.0) @@ -8690,8 +8558,6 @@ snapshots: jju: 1.4.0 resolve: 1.22.8 semver: 7.5.4 - optionalDependencies: - '@types/node': 18.19.60 '@rushstack/rig-package@0.5.3': dependencies: @@ -8701,9 +8567,8 @@ snapshots: '@rushstack/terminal@0.14.2(@types/node@18.19.60)': dependencies: '@rushstack/node-core-library': 5.9.0(@types/node@18.19.60) - supports-color: 8.1.1 - optionalDependencies: '@types/node': 18.19.60 + supports-color: 8.1.1 '@rushstack/tree-pattern@0.3.1': {} @@ -8896,8 +8761,6 @@ snapshots: '@types/pako@2.0.3': {} - '@types/parse-json@4.0.2': {} - '@types/prettier@2.7.3': {} '@types/prompts@2.4.9': @@ -8942,7 +8805,7 @@ snapshots: dependencies: '@types/node': 18.19.60 - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) @@ -8957,12 +8820,11 @@ snapshots: natural-compare: 1.4.0 semver: 7.6.3 ts-api-utils: 1.0.3(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.7.5(eslint@8.57.0)(typescript@5.4.5) @@ -8977,7 +8839,6 @@ snapshots: natural-compare: 1.4.0 semver: 7.6.3 ts-api-utils: 1.0.3(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -8998,7 +8859,6 @@ snapshots: '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.0 - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9011,7 +8871,6 @@ snapshots: '@typescript-eslint/visitor-keys': 6.7.5 debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.0 - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9038,7 +8897,6 @@ snapshots: debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9050,7 +8908,6 @@ snapshots: debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9070,7 +8927,6 @@ snapshots: is-glob: 4.0.3 semver: 7.6.3 tsutils: 3.21.0(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9085,7 +8941,6 @@ snapshots: minimatch: 9.0.3 semver: 7.6.3 ts-api-utils: 1.0.3(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9099,7 +8954,6 @@ snapshots: is-glob: 4.0.3 semver: 7.6.3 ts-api-utils: 1.0.3(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9164,38 +9018,6 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vue/compiler-core@3.5.13': - dependencies: - '@babel/parser': 7.26.9 - '@vue/shared': 3.5.13 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - - '@vue/compiler-dom@3.5.13': - dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/compiler-sfc@3.5.13': - dependencies: - '@babel/parser': 7.26.9 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.5.3 - source-map-js: 1.2.1 - - '@vue/compiler-ssr@3.5.13': - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/shared@3.5.13': {} - '@webassemblyjs/ast@1.12.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.6 @@ -9317,11 +9139,11 @@ snapshots: indent-string: 4.0.0 ajv-draft-04@1.0.0(ajv@8.13.0): - optionalDependencies: + dependencies: ajv: 8.13.0 ajv-formats@3.0.1(ajv@8.13.0): - optionalDependencies: + dependencies: ajv: 8.13.0 ajv-keywords@3.5.2(ajv@6.12.6): @@ -9711,8 +9533,6 @@ snapshots: get-intrinsic: 1.2.4 set-function-length: 1.2.2 - callsite@1.0.0: {} - callsites@3.1.0: {} camel-case@3.0.0: @@ -10188,14 +10008,14 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@4.2.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@18.19.60)(typescript@5.4.5))(typescript@5.4.5): + cosmiconfig-typescript-loader@4.2.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.4.5): dependencies: '@types/node': 20.5.1 cosmiconfig: 8.3.6(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) typescript: 5.4.5 - cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.60)(cosmiconfig@8.3.6(typescript@5.4.5))(typescript@5.4.5): + cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.60)(cosmiconfig@8.3.6)(typescript@5.4.5): dependencies: '@types/node': 18.19.60 cosmiconfig: 8.3.6(typescript@5.4.5) @@ -10203,14 +10023,6 @@ snapshots: typescript: 5.4.5 optional: true - cosmiconfig@7.1.0: - dependencies: - '@types/parse-json': 4.0.2 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - cosmiconfig@8.1.3: dependencies: import-fresh: 3.3.0 @@ -10224,7 +10036,6 @@ snapshots: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - optionalDependencies: typescript: 5.4.5 create-require@1.1.1: {} @@ -10268,11 +10079,11 @@ snapshots: es5-ext: 0.10.64 type: 1.2.0 - danger@11.3.0(encoding@0.1.13): + danger@11.3.0: dependencies: '@gitbeaker/core': 35.8.1 '@gitbeaker/node': 35.8.1 - '@octokit/rest': 18.12.0(encoding@0.1.13) + '@octokit/rest': 18.12.0 async-retry: 1.2.3 chalk: 2.4.2 commander: 2.20.3 @@ -10292,10 +10103,10 @@ snapshots: lodash.keys: 4.2.0 lodash.mapvalues: 4.6.0 lodash.memoize: 4.1.2 - memfs-or-file-map-to-github-branch: 1.2.1(encoding@0.1.13) + memfs-or-file-map-to-github-branch: 1.2.1 micromatch: 4.0.8 node-cleanup: 2.1.2 - node-fetch: 2.6.9(encoding@0.1.13) + node-fetch: 2.6.9 override-require: 1.1.1 p-limit: 2.3.0 parse-diff: 0.7.1 @@ -10312,10 +10123,10 @@ snapshots: - encoding - supports-color - danger@12.3.3(encoding@0.1.13): + danger@12.3.3: dependencies: '@gitbeaker/rest': 38.12.1 - '@octokit/rest': 18.12.0(encoding@0.1.13) + '@octokit/rest': 18.12.0 async-retry: 1.2.3 chalk: 2.4.2 commander: 2.20.3 @@ -10335,10 +10146,10 @@ snapshots: lodash.keys: 4.2.0 lodash.mapvalues: 4.6.0 lodash.memoize: 4.1.2 - memfs-or-file-map-to-github-branch: 1.2.1(encoding@0.1.13) + memfs-or-file-map-to-github-branch: 1.2.1 micromatch: 4.0.8 node-cleanup: 2.1.2 - node-fetch: 2.6.9(encoding@0.1.13) + node-fetch: 2.6.9 override-require: 1.1.1 p-limit: 2.3.0 parse-diff: 0.7.1 @@ -10394,7 +10205,6 @@ snapshots: debug@4.3.7(supports-color@8.1.1): dependencies: ms: 2.1.3 - optionalDependencies: supports-color: 8.1.1 decamelize-keys@1.1.0: @@ -10462,40 +10272,10 @@ snapshots: delegates@1.0.0: {} - depcheck@1.4.7: - dependencies: - '@babel/parser': 7.26.9 - '@babel/traverse': 7.26.9 - '@vue/compiler-sfc': 3.5.13 - callsite: 1.0.0 - camelcase: 6.3.0 - cosmiconfig: 7.1.0 - debug: 4.3.7(supports-color@8.1.1) - deps-regex: 0.2.0 - findup-sync: 5.0.0 - ignore: 5.3.2 - is-core-module: 2.15.1 - js-yaml: 3.14.1 - json5: 2.2.3 - lodash: 4.17.21 - minimatch: 7.4.6 - multimatch: 5.0.0 - please-upgrade-node: 3.2.0 - readdirp: 3.6.0 - require-package-name: 2.0.1 - resolve: 1.22.8 - resolve-from: 5.0.0 - semver: 7.6.3 - yargs: 16.2.0 - transitivePeerDependencies: - - supports-color - depd@1.1.2: {} deprecation@2.3.1: {} - deps-regex@0.2.0: {} - dequal@2.0.3: {} detect-file@1.0.0: {} @@ -10788,11 +10568,11 @@ snapshots: eslint-config-oclif-typescript@3.1.12(eslint@8.57.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint-config-xo-space: 0.35.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) eslint-plugin-mocha: 10.5.0(eslint@8.57.0) eslint-plugin-n: 15.7.0(eslint@8.57.0) eslint-plugin-perfectionist: 2.11.0(eslint@8.57.0)(typescript@5.4.5) @@ -10843,63 +10623,59 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7(supports-color@8.1.1) enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-bun-module: 1.2.1 is-glob: 4.0.3 - optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-i@2.29.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.7.5)(eslint-plugin-i@2.29.0)(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7(supports-color@8.1.1) enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.7.5)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.7.5)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-bun-module: 1.2.1 is-glob: 4.0.3 - optionalDependencies: - eslint-plugin-import: eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: - debug: 3.2.7 - optionalDependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.7.5)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: - debug: 3.2.7 - optionalDependencies: '@typescript-eslint/parser': 6.7.5(eslint@8.57.0)(typescript@5.4.5) + debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-i@2.29.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.7.5)(eslint-plugin-i@2.29.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -10919,13 +10695,13 @@ snapshots: eslint: 8.57.0 ignore: 5.3.2 - eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): + eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.7.5)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.7.5)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) get-tsconfig: 4.7.5 is-glob: 4.0.3 minimatch: 3.1.2 @@ -10937,9 +10713,10 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -10948,7 +10725,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -10959,8 +10736,6 @@ snapshots: semver: 6.3.1 string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -11062,12 +10837,11 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0): + eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.7.5)(eslint@8.57.0): dependencies: + '@typescript-eslint/eslint-plugin': 6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-rule-composer: 0.3.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 6.7.5(@typescript-eslint/parser@6.7.5(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) eslint-rule-composer@0.3.0: {} @@ -11166,8 +10940,6 @@ snapshots: estraverse@5.3.0: {} - estree-walker@2.0.2: {} - esutils@2.0.3: {} event-emitter@0.3.5: @@ -11315,13 +11087,6 @@ snapshots: micromatch: 4.0.8 resolve-dir: 1.0.1 - findup-sync@5.0.0: - dependencies: - detect-file: 1.0.0 - is-glob: 4.0.3 - micromatch: 4.0.8 - resolve-dir: 1.0.1 - flat-cache@3.0.4: dependencies: flatted: 3.2.7 @@ -11588,8 +11353,6 @@ snapshots: is-windows: 1.0.2 which: 1.3.1 - globals@11.12.0: {} - globals@13.24.0: dependencies: type-fest: 0.20.2 @@ -12023,6 +11786,7 @@ snapshots: ink@5.0.1(@types/react@18.3.12)(react@18.3.1): dependencies: '@alcalzone/ansi-tokenize': 0.1.3 + '@types/react': 18.3.12 ansi-escapes: 7.0.0 ansi-styles: 6.2.1 auto-bind: 5.0.1 @@ -12047,8 +11811,6 @@ snapshots: wrap-ansi: 9.0.0 ws: 8.18.0 yoga-wasm-web: 0.3.3 - optionalDependencies: - '@types/react': 18.3.12 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -12723,10 +12485,6 @@ snapshots: lunr@2.3.9: {} - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - make-dir@3.1.0: dependencies: semver: 6.3.1 @@ -12924,9 +12682,9 @@ snapshots: mdurl@2.0.0: {} - memfs-or-file-map-to-github-branch@1.2.1(encoding@0.1.13): + memfs-or-file-map-to-github-branch@1.2.1: dependencies: - '@octokit/rest': 18.12.0(encoding@0.1.13) + '@octokit/rest': 18.12.0 transitivePeerDependencies: - encoding @@ -13353,8 +13111,6 @@ snapshots: mute-stream@2.0.0: {} - nanoid@3.3.8: {} - natural-compare-lite@1.4.0: {} natural-compare@1.4.0: {} @@ -13380,11 +13136,9 @@ snapshots: node-domexception@1.0.0: {} - node-fetch@2.6.9(encoding@0.1.13): + node-fetch@2.6.9: dependencies: whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 node-fetch@3.3.2: dependencies: @@ -13429,7 +13183,7 @@ snapshots: normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.15.1 + is-core-module: 2.13.1 semver: 7.6.3 validate-npm-package-license: 3.0.4 @@ -13878,20 +13632,10 @@ snapshots: pinpoint@1.1.0: {} - please-upgrade-node@3.2.0: - dependencies: - semver-compare: 1.0.0 - pluralize@8.0.0: {} possible-typed-array-names@1.0.0: {} - postcss@8.5.3: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - prelude-ls@1.2.1: {} prepend-http@2.0.0: {} @@ -14196,8 +13940,6 @@ snapshots: require-from-string@2.0.2: {} - require-package-name@2.0.1: {} - resolve-alpn@1.2.1: {} resolve-dir@1.0.1: @@ -14348,8 +14090,6 @@ snapshots: extend-shallow: 2.0.1 kind-of: 6.0.3 - semver-compare@1.0.0: {} - semver-diff@4.0.0: dependencies: semver: 7.6.3 @@ -14559,8 +14299,6 @@ snapshots: semver: 7.6.3 sort-object-keys: 1.1.3 - source-map-js@1.2.1: {} - source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -15078,7 +14816,7 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typedoc-plugin-markdown@4.2.9(typedoc@0.26.10(typescript@5.4.5)): + typedoc-plugin-markdown@4.2.9(typedoc@0.26.10): dependencies: typedoc: 0.26.10(typescript@5.4.5) @@ -15461,8 +15199,6 @@ snapshots: yallist@4.0.0: {} - yaml@1.10.2: {} - yaml@2.6.0: {} yargs-parser@20.2.9: {} diff --git a/fluidBuild.config.cjs b/fluidBuild.config.cjs index 784256261008..d69b4461cbea 100644 --- a/fluidBuild.config.cjs +++ b/fluidBuild.config.cjs @@ -61,7 +61,7 @@ module.exports = { script: false, }, "checks": { - dependsOn: ["check:format"], + dependsOn: ["check:format", "check:knip"], script: false, }, "checks:fix": { @@ -129,6 +129,7 @@ module.exports = { }, "check:biome": [], "check:prettier": [], + "check:knip": [], // ADO #7297: Review why the direct dependency on 'build:esm:test' is necessary. // Should 'compile' be enough? compile -> build:test -> build:test:esm "eslint": ["compile", "build:test:esm"], @@ -160,6 +161,11 @@ module.exports = { multiCommandExecutables: ["oclif", "syncpack"], declarativeTasks: { + "knip": { + inputGlobs: ["*.*", "src/**"], + outputGlobs: ["*.*", "src/**"], + gitignore: ["input", "output"], + }, // fluid-build lowercases the executable name, so we need to use buildversion instead of buildVersion. "flub check buildversion": { inputGlobs: [ @@ -476,36 +482,6 @@ module.exports = { // test packages "^build-tools/packages/build-infrastructure/src/test/data/testRepo/", ], - "npm-check-unused-dependencies": [ - // Omitting all directories for now as there are many unused dependency reported. The following exclusion list will continue reduce - // as we progressively fix the unused dependency errors. - "^azure", - "^build-tools/", - "^common/", - "^docs/", - "^examples/", - "^experimental/", - "^packages/common", - "^packages/dds", - "^packages/drivers", - "^packages/framework", - "^packages/loader", - "^packages/runtime", - "^packages/service-clients", - "^packages/test", - "^packages/tools", - "^packages/utils", - "^server/charts/", - "^server/gitrest/", - "^server/gitssh/", - "^server/historian/", - "^server/routerlicious/", - "^tools/", - "^package.json", - /^\.changeset\//, - /^\.github\//, - /^\.vscode\//, - ], }, packageNames: { // The allowed package scopes for the repo. @@ -563,6 +539,7 @@ module.exports = { ["flub", "@fluid-tools/build-cli"], ["fluid-build", "@fluidframework/build-tools"], ["gf", "good-fences"], + ["knip", "knip"], ["mocha", "mocha"], ["nyc", "nyc"], ["oclif", "oclif"], diff --git a/knip.base.ts b/knip.base.ts new file mode 100644 index 000000000000..bbf8b7ca0cfa --- /dev/null +++ b/knip.base.ts @@ -0,0 +1,33 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +// Enable TypeScript type-checking for this file. +// See https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html#ts-check +// @ts-check + +export default { + + // Knip has the capability to report many issue types. For now we are only using "dependencies" to check for unused dependency declaration in package.json + // In future, we can expand our requirements to report other issue types as well, for example: unused files, or unused exports etc. + // See: https://knip.dev/reference/cli#--include + include: ["dependencies"], + ignoreDependencies: [ + // The following deps are actually in use, but depcheck reports them unused. + + // These packages are used in the CI pipelines. + "mocha-multi-reporters", + "moment", + + // The following deps are reported as missing, but they are available. + + // We use a 'hack' to make plugins from the shared eslint config available to our packages, those these deps are not + // directly needed in the package. + "@typescript-eslint/eslint-plugin", + "eslint-config-prettier", + "eslint-import-resolver-typescript", + "eslint-plugin-tsdoc", + "eslint-plugin-unicorn", + ], +}; \ No newline at end of file diff --git a/package.json b/package.json index ed5b4f04e023..21324290ab05 100644 --- a/package.json +++ b/package.json @@ -176,7 +176,8 @@ "danger": "^11.3.0", "eslint": "~8.55.0", "jest": "^29.6.2", - "mocha": "^10.2.0", + "knip": "^5.45.0", + "mocha": "^10.8.2", "prettier": "~3.0.3", "pretty-quick": "^4.0.0", "puppeteer": "^23.6.0", @@ -259,6 +260,12 @@ ], "script": false }, + "check:knip": { + "dependsOn": [ + "^check:knip" + ], + "script": false + }, "checks": { "dependsOn": [ "check:format", @@ -267,7 +274,8 @@ "layer-check", "syncpack:deps", "syncpack:versions", - "check:versions" + "check:versions", + "check:knip" ], "script": false }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4530f0784ea..f1453a1af46d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -86,8 +86,11 @@ importers: jest: specifier: ^29.6.2 version: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.4.5)) + knip: + specifier: ^5.45.0 + version: 5.45.0(@types/node@22.10.1)(typescript@5.4.5) mocha: - specifier: ^10.2.0 + specifier: ^10.8.2 version: 10.8.2 prettier: specifier: ~3.0.3 @@ -18916,14 +18919,26 @@ packages: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} + '@nodelib/fs.scandir@4.0.1': + resolution: {integrity: sha512-vAkI715yhnmiPupY+dq+xenu5Tdf2TBQ66jLvBIcCddtz+5Q8LbMKaf9CIJJreez8fQ8fgaY+RaywQx8RJIWpw==} + engines: {node: '>=18.18.0'} + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + '@nodelib/fs.stat@4.0.0': + resolution: {integrity: sha512-ctr6bByzksKRCV0bavi8WoQevU6plSp2IkllIsEqaiKe2mwNNnaluhnRhcsgGZHrrHk57B3lf95MkLMO3STYcg==} + engines: {node: '>=18.18.0'} + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nodelib/fs.walk@3.0.1': + resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==} + engines: {node: '>=18.18.0'} + '@nolyfill/is-core-module@1.0.39': resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} @@ -19402,6 +19417,11 @@ packages: '@sinonjs/text-encoding@0.7.3': resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} + '@snyk/github-codeowners@1.1.0': + resolution: {integrity: sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==} + engines: {node: '>=8.10'} + hasBin: true + '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} @@ -21898,6 +21918,10 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -22344,6 +22368,10 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-patch@3.1.1: resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} @@ -23762,6 +23790,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -23966,6 +23998,14 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + knip@5.45.0: + resolution: {integrity: sha512-OUyO9FUEVCM6/j0gl+PP/LDeJEs4hIdE8n4vK4xrtjN1g3Qu4Ws1oexbWTCJ+8xt8Tgse4Yvhx96OqF/UVl3Ug==} + engines: {node: '>=18.18.0'} + hasBin: true + peerDependencies: + '@types/node': '>=18' + typescript: '>=5.0.4' + kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} @@ -25273,6 +25313,10 @@ packages: parse-link-header@2.0.0: resolution: {integrity: sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -25595,6 +25639,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + pretty-quick@4.0.0: resolution: {integrity: sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ==} engines: {node: '>=14'} @@ -26556,6 +26604,10 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + smol-toml@1.3.1: + resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==} + engines: {node: '>= 18'} + snake-case@2.1.0: resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==} @@ -26891,6 +26943,9 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true + summary@2.1.0: + resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==} + superagent@3.8.3: resolution: {integrity: sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==} engines: {node: '>= 4.0'} @@ -28103,6 +28158,12 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zod-validation-error@3.4.0: + resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} @@ -33042,13 +33103,25 @@ snapshots: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + '@nodelib/fs.scandir@4.0.1': + dependencies: + '@nodelib/fs.stat': 4.0.0 + run-parallel: 1.2.0 + '@nodelib/fs.stat@2.0.5': {} + '@nodelib/fs.stat@4.0.0': {} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@nodelib/fs.walk@3.0.1': + dependencies: + '@nodelib/fs.scandir': 4.0.1 + fastq: 1.17.1 + '@nolyfill/is-core-module@1.0.39': {} '@npmcli/fs@2.1.2': @@ -33894,6 +33967,12 @@ snapshots: '@sinonjs/text-encoding@0.7.3': {} + '@snyk/github-codeowners@1.1.0': + dependencies: + commander: 4.1.1 + ignore: 5.3.2 + p-map: 4.0.0 + '@socket.io/component-emitter@3.1.2': {} '@socket.io/redis-adapter@8.3.0(socket.io-adapter@2.5.5)': @@ -36836,6 +36915,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.18.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + enquirer@2.3.6: dependencies: ansi-colors: 4.1.3 @@ -37489,6 +37573,14 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-patch@3.1.1: {} fast-json-stable-stringify@2.1.0: {} @@ -39329,6 +39421,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.4.2: {} + jju@1.4.0: {} joi@17.13.3: @@ -39588,6 +39682,27 @@ snapshots: kleur@4.1.5: {} + knip@5.45.0(@types/node@22.10.1)(typescript@5.4.5): + dependencies: + '@nodelib/fs.walk': 3.0.1 + '@snyk/github-codeowners': 1.1.0 + '@types/node': 22.10.1 + easy-table: 1.2.0 + enhanced-resolve: 5.18.1 + fast-glob: 3.3.3 + jiti: 2.4.2 + js-yaml: 4.1.0 + minimist: 1.2.8 + picocolors: 1.1.1 + picomatch: 4.0.2 + pretty-ms: 9.2.0 + smol-toml: 1.3.1 + strip-json-comments: 5.0.1 + summary: 2.1.0 + typescript: 5.4.5 + zod: 3.24.0 + zod-validation-error: 3.4.0(zod@3.24.0) + kuler@2.0.0: {} ky@1.7.3: {} @@ -41349,6 +41464,8 @@ snapshots: dependencies: xtend: 4.0.2 + parse-ms@4.0.0: {} + parse-passwd@1.0.0: {} parse5-htmlparser2-tree-adapter@6.0.1: @@ -41701,6 +41818,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + pretty-quick@4.0.0(prettier@3.0.3): dependencies: execa: 5.1.1 @@ -42880,6 +43001,8 @@ snapshots: smart-buffer@4.2.0: {} + smol-toml@1.3.1: {} + snake-case@2.1.0: dependencies: no-case: 2.3.2 @@ -43304,6 +43427,8 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 + summary@2.1.0: {} + superagent@3.8.3: dependencies: component-emitter: 1.3.1 @@ -44822,6 +44947,10 @@ snapshots: optionalDependencies: commander: 9.5.0 + zod-validation-error@3.4.0(zod@3.24.0): + dependencies: + zod: 3.24.0 + zod@3.21.4: {} zod@3.23.8: {}