bytelyst-devops-tools/dashboard/backend/package-lock.json
Hermes VM 2056883198 checkpoint(dashboard): session 2026-05-30 — CORS env knob + state handoff
Captures the in-progress state of the long-running v2 dashboard session
so the next session (post `--permission-mode dangerous` relaunch) can
pick up without losing context. The full handoff narrative lives in
`docs/SESSION_CHECKPOINT_2026-05-30.md` — read it first.

Code change:
  - `backend/src/server.ts` CORS allow-list is now env-driven via
    `EXTRA_CORS_ORIGINS` (comma-separated). Originally added because
    the user's browser is hitting the deployed dashboard via a
    Tailscale-served hostname (`srv1491630.tailf85608.ts.net`), and
    the static built-in list only knew `localhost` + `devops.bytelyst.com`.
    Honours `*` as a wildcard for trusted-network deployments. Adds
    `Vary: Origin` so caches behave.
  - `backend/package-lock.json` regenerated to match `package.json`
    (was missing the Phase 5 ESLint deps added earlier this session).
    Note: the Dockerfile build is STILL broken with `tsc: not found`
    despite typescript being in devDeps — this is a separate
    dual-lockfile issue documented in the checkpoint. Untangle on
    resume.

Live infra carry-forward summarised in the checkpoint doc:
  - Real Azure Cosmos DB (`cosmos-mywisprai` / new `bytelyst` db)
    replaces the crash-looping local emulator.
  - `learning_ai_common_plat/docker-compose.yml` has uncommitted
    changes mirroring this; that repo is 15 commits behind origin/main
    and needs a rebase+commit pass separately.
  - Hot-patched the running `devops-backend` container's `dist/server.js`
    to allow the Tailscale origin (ephemeral; lost on next image build,
    superseded by the code change above once rebuild works).

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-30 09:55:50 +00:00

886 lines
27 KiB
JSON

{
"name": "@bytelyst/devops-backend",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@bytelyst/devops-backend",
"version": "0.1.0",
"dependencies": {
"@azure/cosmos": "^4.1.0",
"@azure/identity": "^4.5.0",
"@azure/keyvault-secrets": "^4.9.0",
"@fastify/rate-limit": "^10.2.1",
"@fastify/swagger": "^9.0.0",
"@fastify/swagger-ui": "^5.2.1",
"dotenv": "^16.4.5",
"fastify": "^5.2.1",
"jose": "^6.1.2",
"zod": "^3.24.1"
},
"devDependencies": {
"@eslint/js": "^9.18.0",
"@types/node": "^25.0.3",
"@vitest/coverage-v8": "3.2.4",
"eslint": "^9.18.0",
"globals": "^15.14.0",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.20.0",
"vitest": "^3.1.2"
}
},
"../node_modules/.pnpm/@azure+cosmos@4.9.3_@azure+core-client@1.10.1/node_modules/@azure/cosmos": {
"version": "4.9.3",
"license": "MIT",
"dependencies": {
"@azure/abort-controller": "^2.1.2",
"@azure/core-auth": "^1.9.0",
"@azure/core-rest-pipeline": "^1.19.1",
"@azure/core-tracing": "^1.2.0",
"@azure/core-util": "^1.11.0",
"@azure/keyvault-keys": "^4.9.0",
"@azure/logger": "^1.1.4",
"fast-json-stable-stringify": "^2.1.0",
"priorityqueuejs": "^2.0.0",
"semaphore": "^1.1.0",
"tslib": "^2.8.1"
},
"devDependencies": {
"@azure-tools/test-utils-vitest": "^2.0.1",
"@azure/dev-tool": "^1.0.0",
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
"@azure/identity": "4.13.0",
"@types/debug": "^4.1.4",
"@types/node": "^20.19.25",
"@types/priorityqueuejs": "^1.0.1",
"@types/semaphore": "^1.1.0",
"@vitest/browser-playwright": "^4.1.2",
"@vitest/coverage-istanbul": "^4.1.2",
"assertion-error": "^2.0.1",
"cross-env": "^10.1.0",
"dotenv": "^16.6.1",
"eslint": "^9.39.1",
"nock": "^13.5.6",
"playwright": "^1.58.2",
"prettier": "^3.6.2",
"rimraf": "^6.1.0",
"typescript": "~6.0.2",
"vitest": "^4.1.2"
},
"engines": {
"node": ">=20.0.0"
}
},
"../node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity": {
"version": "4.13.1",
"license": "MIT",
"dependencies": {
"@azure/abort-controller": "^2.0.0",
"@azure/core-auth": "^1.9.0",
"@azure/core-client": "^1.9.2",
"@azure/core-rest-pipeline": "^1.17.0",
"@azure/core-tracing": "^1.0.0",
"@azure/core-util": "^1.11.0",
"@azure/logger": "^1.0.0",
"@azure/msal-browser": "^5.5.0",
"@azure/msal-node": "^5.1.0",
"open": "^10.1.0",
"tslib": "^2.2.0"
},
"devDependencies": {
"@azure-tools/test-recorder": "^4.1.1",
"@azure-tools/test-utils-vitest": "^2.0.1",
"@azure/dev-tool": "^1.0.0",
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
"@azure/keyvault-keys": "4.10.0",
"@types/jsonwebtoken": "^9.0.0",
"@types/ms": "^2.1.0",
"@types/node": "^20.19.0",
"@vitest/browser": "^3.2.3",
"@vitest/coverage-istanbul": "^3.2.3",
"assertion-error": "^2.0.1",
"dotenv": "^16.0.0",
"eslint": "^9.33.0",
"jsonwebtoken": "^9.0.0",
"ms": "^2.1.3",
"playwright": "^1.50.1",
"typescript": "~5.8.3",
"vitest": "^3.2.3"
},
"engines": {
"node": ">=20.0.0"
}
},
"../node_modules/.pnpm/@azure+keyvault-secrets@4.11.2/node_modules/@azure/keyvault-secrets": {
"version": "4.11.2",
"license": "MIT",
"dependencies": {
"@azure-rest/core-client": "^2.3.3",
"@azure/abort-controller": "^2.1.2",
"@azure/core-auth": "^1.9.0",
"@azure/core-lro": "^2.7.2",
"@azure/core-paging": "^1.6.2",
"@azure/core-rest-pipeline": "^1.19.0",
"@azure/core-tracing": "^1.2.0",
"@azure/core-util": "^1.11.0",
"@azure/keyvault-common": "^2.1.0",
"@azure/logger": "^1.1.4",
"tslib": "^2.8.1"
},
"devDependencies": {
"@azure-tools/test-credential": "^2.1.2",
"@azure-tools/test-recorder": "^4.1.1",
"@azure-tools/test-utils-vitest": "^2.0.1",
"@azure/dev-tool": "^1.0.0",
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
"@azure/identity": "4.13.0",
"@types/node": "^20.19.25",
"@vitest/browser-playwright": "^4.1.2",
"@vitest/coverage-istanbul": "^4.1.2",
"cross-env": "^10.1.0",
"dotenv": "^16.6.1",
"eslint": "^9.39.1",
"playwright": "^1.58.2",
"prettier": "^3.6.2",
"react-native": "^0.84.1",
"rimraf": "^6.1.0",
"typescript": "~6.0.2",
"vitest": "^4.1.2"
},
"engines": {
"node": ">=20.0.0"
}
},
"../node_modules/.pnpm/@eslint+js@9.39.4/node_modules/@eslint/js": {
"version": "9.39.4",
"dev": true,
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://eslint.org/donate"
}
},
"../node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit": {
"version": "10.3.0",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
],
"license": "MIT",
"dependencies": {
"@lukeed/ms": "^2.0.2",
"fastify-plugin": "^5.0.0",
"toad-cache": "^3.7.0"
},
"devDependencies": {
"@fastify/pre-commit": "^2.1.0",
"@sinonjs/fake-timers": "^14.0.0",
"@types/node": "^22.0.0",
"c8": "^10.1.2",
"eslint": "^9.17.0",
"fastify": "^5.0.0",
"ioredis": "^5.4.1",
"knex": "^3.1.0",
"neostandard": "^0.12.0",
"sqlite3": "^5.1.7",
"tsd": "^0.32.0"
}
},
"../node_modules/.pnpm/@fastify+swagger-ui@5.2.6/node_modules/@fastify/swagger-ui": {
"version": "5.2.6",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
],
"license": "MIT",
"dependencies": {
"@fastify/static": "^9.1.2",
"fastify-plugin": "^5.0.0",
"openapi-types": "^12.1.3",
"rfdc": "^1.3.1",
"yaml": "^2.4.1"
},
"devDependencies": {
"@apidevtools/swagger-parser": "^12.0.0",
"@fastify/basic-auth": "^6.0.0",
"@fastify/helmet": "^13.0.0",
"@fastify/swagger": "^9.0.0",
"@playwright/test": "^1.43.1",
"@types/node": "^25.0.3",
"ajv": "^8.12.0",
"c8": "^11.0.0",
"eslint": "^9.17.0",
"fastify": "^5.0.0",
"fs-extra": "^11.2.0",
"neostandard": "^0.13.0",
"qs": "^6.12.1",
"swagger-ui-dist": "5.32.1",
"tsd": "^0.33.0"
}
},
"../node_modules/.pnpm/@fastify+swagger@9.7.0/node_modules/@fastify/swagger": {
"version": "9.7.0",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
],
"license": "MIT",
"dependencies": {
"fastify-plugin": "^5.0.0",
"json-schema-resolver": "^3.0.0",
"openapi-types": "^12.1.3",
"rfdc": "^1.3.1",
"yaml": "^2.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "^12.0.0",
"@fastify/cookie": "^11.0.1",
"@types/node": "^25.0.3",
"c8": "^10.1.3",
"eslint": "^9.17.0",
"fastify": "^5.0.0",
"fluent-json-schema": "^6.0.0",
"joi": "^17.13.1",
"joi-to-json": "^5.0.0",
"neostandard": "^0.12.0",
"qs": "^6.12.1",
"tsd": "^0.33.0"
}
},
"../node_modules/.pnpm/@types+node@25.6.2/node_modules/@types/node": {
"version": "25.6.2",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.19.0"
}
},
"../node_modules/.pnpm/@vitest+coverage-v8@3.2.4_vitest@3.2.4_@types+node@25.6.2_jiti@2.7.0_jsdom@26.1.0_light_dcd0c8ef67a5107c95df07389f58be52/node_modules/@vitest/coverage-v8": {
"version": "3.2.4",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.3.0",
"@bcoe/v8-coverage": "^1.0.2",
"ast-v8-to-istanbul": "^0.3.3",
"debug": "^4.4.1",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-lib-source-maps": "^5.0.6",
"istanbul-reports": "^3.1.7",
"magic-string": "^0.30.17",
"magicast": "^0.3.5",
"std-env": "^3.9.0",
"test-exclude": "^7.0.1",
"tinyrainbow": "^2.0.0"
},
"devDependencies": {
"@types/debug": "^4.1.12",
"@types/istanbul-lib-coverage": "^2.0.6",
"@types/istanbul-lib-report": "^3.0.3",
"@types/istanbul-lib-source-maps": "^4.0.4",
"@types/istanbul-reports": "^3.0.4",
"@types/test-exclude": "^6.0.2",
"@vitest/browser": "3.2.4",
"pathe": "^2.0.3",
"v8-to-istanbul": "^9.3.0",
"vite-node": "3.2.4",
"vitest": "3.2.4"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
"@vitest/browser": "3.2.4",
"vitest": "3.2.4"
},
"peerDependenciesMeta": {
"@vitest/browser": {
"optional": true
}
}
},
"../node_modules/.pnpm/dotenv@16.6.1/node_modules/dotenv": {
"version": "16.6.1",
"license": "BSD-2-Clause",
"devDependencies": {
"@types/node": "^18.11.3",
"decache": "^4.6.2",
"sinon": "^14.0.1",
"standard": "^17.0.0",
"standard-version": "^9.5.0",
"tap": "^19.2.0",
"typescript": "^4.8.4"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://dotenvx.com"
}
},
"../node_modules/.pnpm/eslint@9.39.4_jiti@2.7.0/node_modules/eslint": {
"version": "9.39.4",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.2",
"@eslint/config-helpers": "^0.4.2",
"@eslint/core": "^0.17.0",
"@eslint/eslintrc": "^3.3.5",
"@eslint/js": "9.39.4",
"@eslint/plugin-kit": "^0.4.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
"@types/estree": "^1.0.6",
"ajv": "^6.14.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.6",
"debug": "^4.3.2",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^8.4.0",
"eslint-visitor-keys": "^4.2.1",
"espree": "^10.4.0",
"esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^8.0.0",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.5",
"natural-compare": "^1.4.0",
"optionator": "^0.9.3"
},
"bin": {
"eslint": "bin/eslint.js"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.18.0",
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"@cypress/webpack-preprocessor": "^6.0.2",
"@eslint/json": "^0.13.2",
"@trunkio/launcher": "^1.3.4",
"@types/esquery": "^1.5.4",
"@types/node": "^22.13.14",
"@typescript-eslint/parser": "^8.4.0",
"babel-loader": "^8.0.5",
"c8": "^7.12.0",
"chai": "^4.0.1",
"cheerio": "^0.22.0",
"common-tags": "^1.8.0",
"core-js": "^3.1.3",
"cypress": "^14.1.0",
"ejs": "^3.0.2",
"eslint": "file:.",
"eslint-config-eslint": "file:packages/eslint-config-eslint",
"eslint-plugin-eslint-plugin": "^6.0.0",
"eslint-plugin-expect-type": "^0.6.0",
"eslint-plugin-yml": "^1.14.0",
"eslint-release": "^3.3.0",
"eslint-rule-composer": "^0.3.0",
"eslump": "^3.0.0",
"esprima": "^4.0.1",
"fast-glob": "^3.2.11",
"fs-teardown": "^0.1.3",
"glob": "^10.0.0",
"globals": "^16.2.0",
"got": "^11.8.3",
"gray-matter": "^4.0.3",
"jiti": "^2.6.1",
"jiti-v2.0": "npm:jiti@2.0.x",
"jiti-v2.1": "npm:jiti@2.1.x",
"knip": "^5.60.2",
"lint-staged": "^11.0.0",
"markdown-it": "^12.2.0",
"markdown-it-container": "^3.0.0",
"marked": "^4.0.8",
"metascraper": "^5.25.7",
"metascraper-description": "^5.25.7",
"metascraper-image": "^5.29.3",
"metascraper-logo": "^5.25.7",
"metascraper-logo-favicon": "^5.25.7",
"metascraper-title": "^5.25.7",
"mocha": "^11.7.1",
"node-polyfill-webpack-plugin": "^1.0.3",
"npm-license": "^0.3.3",
"pirates": "^4.0.5",
"progress": "^2.0.3",
"proxyquire": "^2.0.1",
"recast": "^0.23.0",
"regenerator-runtime": "^0.14.0",
"semver": "^7.5.3",
"shelljs": "^0.10.0",
"sinon": "^11.0.0",
"typescript": "^5.3.3",
"webpack": "^5.23.0",
"webpack-cli": "^4.5.0",
"yorkie": "^2.0.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://eslint.org/donate"
},
"peerDependencies": {
"jiti": "*"
},
"peerDependenciesMeta": {
"jiti": {
"optional": true
}
}
},
"../node_modules/.pnpm/fastify-sse-v2@4.2.2_fastify@5.8.5/node_modules/fastify-sse-v2": {
"version": "4.2.2",
"extraneous": true,
"license": "MIT",
"dependencies": {
"fastify-plugin": "^4.3.0",
"it-pushable": "^1.4.2",
"it-to-stream": "^1.0.0"
},
"devDependencies": {
"@chainsafe/eslint-config": "^2.0.0",
"@types/chai": "^4.1.7",
"@types/eventsource": "^1.1.2",
"@types/mocha": "^10.0.1",
"@types/node": "^16.0.0",
"@types/sinon": "^9.0.0",
"chai": "^4.2.0",
"eslint": "8.28.0",
"eventsource": "^1.0.7",
"fastify": "^4.10.2",
"mocha": "^10.2.0",
"sinon": "^9.0.2",
"ts-node": "^8.3.0",
"typescript": "~4.7"
},
"peerDependencies": {
"fastify": ">=4"
}
},
"../node_modules/.pnpm/fastify@5.8.5/node_modules/fastify": {
"version": "5.8.5",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
],
"license": "MIT",
"dependencies": {
"@fastify/ajv-compiler": "^4.0.5",
"@fastify/error": "^4.0.0",
"@fastify/fast-json-stringify-compiler": "^5.0.0",
"@fastify/proxy-addr": "^5.0.0",
"abstract-logging": "^2.0.1",
"avvio": "^9.0.0",
"fast-json-stringify": "^6.0.0",
"find-my-way": "^9.0.0",
"light-my-request": "^6.0.0",
"pino": "^9.14.0 || ^10.1.0",
"process-warning": "^5.0.0",
"rfdc": "^1.3.1",
"secure-json-parse": "^4.0.0",
"semver": "^7.6.0",
"toad-cache": "^3.7.0"
},
"devDependencies": {
"@jsumners/line-reporter": "^1.0.1",
"@sinonjs/fake-timers": "^11.2.2",
"@stylistic/eslint-plugin": "^5.1.0",
"@stylistic/eslint-plugin-js": "^4.1.0",
"@types/node": "^25.0.3",
"ajv": "^8.12.0",
"ajv-errors": "^3.0.0",
"ajv-formats": "^3.0.1",
"ajv-i18n": "^4.2.0",
"ajv-merge-patch": "^5.0.1",
"autocannon": "^8.0.0",
"borp": "^1.0.0",
"branch-comparer": "^1.1.0",
"concurrently": "^9.1.2",
"cross-env": "^10.0.0",
"eslint": "^9.0.0",
"fast-json-body": "^1.1.0",
"fastify-plugin": "^5.0.0",
"fluent-json-schema": "^6.0.0",
"h2url": "^0.2.0",
"http-errors": "^2.0.0",
"joi": "^18.0.1",
"json-schema-to-ts": "^3.0.1",
"JSONStream": "^1.3.5",
"markdownlint-cli2": "^0.22.0",
"neostandard": "^0.12.0",
"node-forge": "^1.3.1",
"proxyquire": "^2.1.3",
"split2": "^4.2.0",
"tsd": "^0.33.0",
"typebox": "^1.0.81",
"typescript": "~6.0.2",
"undici": "^7.11.0",
"vary": "^1.1.2",
"yup": "^1.4.0"
}
},
"../node_modules/.pnpm/globals@15.15.0/node_modules/globals": {
"version": "15.15.0",
"dev": true,
"license": "MIT",
"devDependencies": {
"@vitest/eslint-plugin": "^1.1.30",
"ava": "^6.1.3",
"cheerio": "^1.0.0-rc.12",
"eslint-plugin-jest": "^28.8.3",
"execa": "^9.4.0",
"get-port": "^7.1.0",
"npm-run-all2": "^6.2.3",
"outdent": "^0.8.0",
"puppeteer": "^23.4.1",
"shelljs": "^0.8.5",
"tsd": "^0.31.2",
"type-fest": "^4.26.1",
"xo": "^0.59.3"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"../node_modules/.pnpm/jose@6.2.3/node_modules/jose": {
"version": "6.2.3",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/panva"
}
},
"../node_modules/.pnpm/tsx@4.21.0/node_modules/tsx": {
"version": "4.21.0",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "~0.27.0",
"get-tsconfig": "^4.7.5"
},
"bin": {
"tsx": "dist/cli.mjs"
},
"engines": {
"node": ">=18.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
}
},
"../node_modules/.pnpm/typescript-eslint@8.60.0_eslint@9.39.4_jiti@2.7.0__typescript@5.9.3/node_modules/typescript-eslint": {
"version": "8.60.0",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "8.60.0",
"@typescript-eslint/parser": "8.60.0",
"@typescript-eslint/typescript-estree": "8.60.0",
"@typescript-eslint/utils": "8.60.0"
},
"devDependencies": {
"@vitest/coverage-v8": "^4.0.18",
"eslint": "^10.0.0",
"rimraf": "^5.0.10",
"typescript": ">=4.8.4 <6.1.0",
"vitest": "^4.0.18"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
"typescript": ">=4.8.4 <6.1.0"
}
},
"../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript": {
"version": "5.9.3",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"devDependencies": {
"@dprint/formatter": "^0.4.1",
"@dprint/typescript": "0.93.4",
"@esfx/canceltoken": "^1.0.0",
"@eslint/js": "^9.20.0",
"@octokit/rest": "^21.1.1",
"@types/chai": "^4.3.20",
"@types/diff": "^7.0.1",
"@types/minimist": "^1.2.5",
"@types/mocha": "^10.0.10",
"@types/ms": "^0.7.34",
"@types/node": "latest",
"@types/source-map-support": "^0.5.10",
"@types/which": "^3.0.4",
"@typescript-eslint/rule-tester": "^8.24.1",
"@typescript-eslint/type-utils": "^8.24.1",
"@typescript-eslint/utils": "^8.24.1",
"azure-devops-node-api": "^14.1.0",
"c8": "^10.1.3",
"chai": "^4.5.0",
"chokidar": "^4.0.3",
"diff": "^7.0.0",
"dprint": "^0.49.0",
"esbuild": "^0.25.0",
"eslint": "^9.20.1",
"eslint-formatter-autolinkable-stylish": "^1.4.0",
"eslint-plugin-regexp": "^2.7.0",
"fast-xml-parser": "^4.5.2",
"glob": "^10.4.5",
"globals": "^15.15.0",
"hereby": "^1.10.0",
"jsonc-parser": "^3.3.1",
"knip": "^5.44.4",
"minimist": "^1.2.8",
"mocha": "^10.8.2",
"mocha-fivemat-progress-reporter": "^0.1.0",
"monocart-coverage-reports": "^2.12.1",
"ms": "^2.1.3",
"picocolors": "^1.1.1",
"playwright": "^1.50.1",
"source-map-support": "^0.5.21",
"tslib": "^2.8.1",
"typescript": "^5.7.3",
"typescript-eslint": "^8.24.1",
"which": "^3.0.1"
},
"engines": {
"node": ">=14.17"
}
},
"../node_modules/.pnpm/vitest@3.2.4_@types+node@25.6.2_jiti@2.7.0_jsdom@26.1.0_lightningcss@1.32.0_tsx@4.21.0_yaml@2.8.4/node_modules/vitest": {
"version": "3.2.4",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/chai": "^5.2.2",
"@vitest/expect": "3.2.4",
"@vitest/mocker": "3.2.4",
"@vitest/pretty-format": "^3.2.4",
"@vitest/runner": "3.2.4",
"@vitest/snapshot": "3.2.4",
"@vitest/spy": "3.2.4",
"@vitest/utils": "3.2.4",
"chai": "^5.2.0",
"debug": "^4.4.1",
"expect-type": "^1.2.1",
"magic-string": "^0.30.17",
"pathe": "^2.0.3",
"picomatch": "^4.0.2",
"std-env": "^3.9.0",
"tinybench": "^2.9.0",
"tinyexec": "^0.3.2",
"tinyglobby": "^0.2.14",
"tinypool": "^1.1.1",
"tinyrainbow": "^2.0.0",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
"vite-node": "3.2.4",
"why-is-node-running": "^2.3.0"
},
"bin": {
"vitest": "vitest.mjs"
},
"devDependencies": {
"@ampproject/remapping": "^2.3.0",
"@antfu/install-pkg": "^1.1.0",
"@edge-runtime/vm": "^5.0.0",
"@sinonjs/fake-timers": "14.0.0",
"@types/debug": "^4.1.12",
"@types/estree": "^1.0.8",
"@types/istanbul-lib-coverage": "^2.0.6",
"@types/istanbul-reports": "^3.0.4",
"@types/jsdom": "^21.1.7",
"@types/mime": "^4.0.0",
"@types/node": "^22.15.32",
"@types/picomatch": "^4.0.0",
"@types/prompts": "^2.4.9",
"@types/sinonjs__fake-timers": "^8.1.5",
"acorn-walk": "^8.3.4",
"birpc": "2.4.0",
"cac": "^6.7.14",
"chai-subset": "^1.6.0",
"find-up": "^6.3.0",
"flatted": "^3.3.3",
"happy-dom": "^17.6.3",
"jsdom": "^26.1.0",
"local-pkg": "^1.1.1",
"mime": "^4.0.7",
"pretty-format": "^29.7.0",
"prompts": "^2.4.2",
"strip-literal": "^3.0.0",
"ws": "^8.18.2"
},
"engines": {
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
"@edge-runtime/vm": "*",
"@types/debug": "^4.1.12",
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
"@vitest/browser": "3.2.4",
"@vitest/ui": "3.2.4",
"happy-dom": "*",
"jsdom": "*"
},
"peerDependenciesMeta": {
"@edge-runtime/vm": {
"optional": true
},
"@types/debug": {
"optional": true
},
"@types/node": {
"optional": true
},
"@vitest/browser": {
"optional": true
},
"@vitest/ui": {
"optional": true
},
"happy-dom": {
"optional": true
},
"jsdom": {
"optional": true
}
}
},
"../node_modules/.pnpm/zod@3.25.76/node_modules/zod": {
"version": "3.25.76",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/@azure/cosmos": {
"resolved": "../node_modules/.pnpm/@azure+cosmos@4.9.3_@azure+core-client@1.10.1/node_modules/@azure/cosmos",
"link": true
},
"node_modules/@azure/identity": {
"resolved": "../node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity",
"link": true
},
"node_modules/@azure/keyvault-secrets": {
"resolved": "../node_modules/.pnpm/@azure+keyvault-secrets@4.11.2/node_modules/@azure/keyvault-secrets",
"link": true
},
"node_modules/@eslint/js": {
"resolved": "../node_modules/.pnpm/@eslint+js@9.39.4/node_modules/@eslint/js",
"link": true
},
"node_modules/@fastify/rate-limit": {
"resolved": "../node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit",
"link": true
},
"node_modules/@fastify/swagger": {
"resolved": "../node_modules/.pnpm/@fastify+swagger@9.7.0/node_modules/@fastify/swagger",
"link": true
},
"node_modules/@fastify/swagger-ui": {
"resolved": "../node_modules/.pnpm/@fastify+swagger-ui@5.2.6/node_modules/@fastify/swagger-ui",
"link": true
},
"node_modules/@types/node": {
"resolved": "../node_modules/.pnpm/@types+node@25.6.2/node_modules/@types/node",
"link": true
},
"node_modules/@vitest/coverage-v8": {
"resolved": "../node_modules/.pnpm/@vitest+coverage-v8@3.2.4_vitest@3.2.4_@types+node@25.6.2_jiti@2.7.0_jsdom@26.1.0_light_dcd0c8ef67a5107c95df07389f58be52/node_modules/@vitest/coverage-v8",
"link": true
},
"node_modules/dotenv": {
"resolved": "../node_modules/.pnpm/dotenv@16.6.1/node_modules/dotenv",
"link": true
},
"node_modules/eslint": {
"resolved": "../node_modules/.pnpm/eslint@9.39.4_jiti@2.7.0/node_modules/eslint",
"link": true
},
"node_modules/fastify": {
"resolved": "../node_modules/.pnpm/fastify@5.8.5/node_modules/fastify",
"link": true
},
"node_modules/globals": {
"resolved": "../node_modules/.pnpm/globals@15.15.0/node_modules/globals",
"link": true
},
"node_modules/jose": {
"resolved": "../node_modules/.pnpm/jose@6.2.3/node_modules/jose",
"link": true
},
"node_modules/tsx": {
"resolved": "../node_modules/.pnpm/tsx@4.21.0/node_modules/tsx",
"link": true
},
"node_modules/typescript": {
"resolved": "../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript",
"link": true
},
"node_modules/typescript-eslint": {
"resolved": "../node_modules/.pnpm/typescript-eslint@8.60.0_eslint@9.39.4_jiti@2.7.0__typescript@5.9.3/node_modules/typescript-eslint",
"link": true
},
"node_modules/vitest": {
"resolved": "../node_modules/.pnpm/vitest@3.2.4_@types+node@25.6.2_jiti@2.7.0_jsdom@26.1.0_lightningcss@1.32.0_tsx@4.21.0_yaml@2.8.4/node_modules/vitest",
"link": true
},
"node_modules/zod": {
"resolved": "../node_modules/.pnpm/zod@3.25.76/node_modules/zod",
"link": true
}
}
}