hyperdx/packages/api/package.json
Drew Davis f5ce232976
ci: Add linting for openapi specs (#1945)
## Summary

This PR adds the Spectral linter for linting our OpenAPI spec, with rules preventing fields with missing examples or descriptions, which are often enforced in the Control Plane repo.

This PR also resolves lint errors that were already present.

### Screenshots or video

### How to test locally or on Vercel

Run `make ci-lint` to lint the openapi specs 

### References



- Linear Issue: Closes HDX-3768
- Related PRs:
2026-03-20 15:13:19 +00:00

101 lines
No EOL
3.8 KiB
JSON

{
"name": "@hyperdx/api",
"version": "2.21.0",
"license": "MIT",
"private": true,
"engines": {
"node": ">=22.16.0"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.58",
"@esm2cjs/p-queue": "^7.3.0",
"@hyperdx/common-utils": "^0.16.0",
"@hyperdx/node-opentelemetry": "^0.9.0",
"@hyperdx/passport-local-mongoose": "^9.0.1",
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/host-metrics": "^0.35.5",
"@opentelemetry/sdk-metrics": "^1.30.1",
"@slack/webhook": "^7.0.0",
"@types/node": "^22.15.18",
"ai": "^6.0.116",
"aws4": "^1.13.2",
"chrono-node": "^2.9.0",
"compression": "^1.7.4",
"concurrently": "^9.1.2",
"connect-mongo": "^4.6.0",
"cors": "^2.8.5",
"cron": "^4.3.1",
"date-fns": "^2.28.0",
"express": "^4.19.2",
"express-rate-limit": "^6.7.1",
"express-session": "^1.17.3",
"handlebars": "^4.7.8",
"http-graceful-shutdown": "^3.1.13",
"http-proxy-middleware": "^3.0.5",
"jsonwebtoken": "^9.0.0",
"lodash": "^4.17.23",
"minimist": "^1.2.7",
"mongodb": "^6.15.0",
"mongoose": "^6.13.8",
"ms": "^2.1.3",
"on-headers": "^1.1.0",
"passport": "^0.6.0",
"passport-local": "^1.0.0",
"pino": "^10.0.0",
"pino-http": "^11.0.0",
"promised-handlebars": "^2.0.1",
"protobufjs": "^7.5.2",
"semver": "^7.5.3",
"serialize-error": "^8.1.0",
"uuid": "^8.3.2",
"zod": "3.25",
"zod-express-middleware": "^1.4.0"
},
"devDependencies": {
"@stoplight/spectral-cli": "^6.15.0",
"@types/aws4": "^1",
"@types/compression": "^1.7.3",
"@types/cors": "^2.8.14",
"@types/express": "^4.17.13",
"@types/express-session": "^1.17.7",
"@types/jest": "^28.1.1",
"@types/lodash": "^4.14.198",
"@types/minimist": "^1.2.2",
"@types/ms": "^0.7.31",
"@types/passport-local": "^1.0.34",
"@types/semver": "^7.3.12",
"@types/supertest": "^2.0.12",
"@types/swagger-jsdoc": "^6",
"@types/uuid": "^8.3.4",
"jest": "^28.1.3",
"migrate-mongo": "^11.0.0",
"nodemon": "^2.0.20",
"pino-pretty": "^13.1.1",
"rimraf": "^4.4.1",
"supertest": "^6.3.1",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^5.0.1",
"ts-jest": "^29.4.5",
"ts-node": "^10.8.1",
"tsc-alias": "^1.8.8",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.9.3"
},
"scripts": {
"start": "node ./build/index.js",
"dev": "DOTENV_CONFIG_PATH=.env.development nodemon --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r dotenv-expand/config -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/index.ts",
"dev-task": "DOTENV_CONFIG_PATH=.env.development nodemon --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r dotenv-expand/config -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/tasks/index.ts",
"build": "rimraf ./build && tsc && tsc-alias && cp -r ./src/opamp/proto ./build/opamp/",
"lint": "npx eslint --quiet . --ext .ts",
"lint:fix": "npx eslint . --ext .ts --fix",
"ci:lint": "yarn lint && yarn tsc --noEmit && yarn lint:openapi",
"ci:int": "DOTENV_CONFIG_PATH=.env.test DOTENV_CONFIG_OVERRIDE=true jest --runInBand --ci --forceExit --coverage",
"dev:int": "DOTENV_CONFIG_PATH=.env.test DOTENV_CONFIG_OVERRIDE=true jest --runInBand --forceExit --coverage",
"dev:migrate-db-create": "ts-node node_modules/.bin/migrate-mongo create -f migrate-mongo-config.ts",
"dev:migrate-db": "ts-node node_modules/.bin/migrate-mongo up -f migrate-mongo-config.ts",
"dev:migrate-ch-create": "migrate create -ext sql -dir ./migrations/ch -seq",
"dev:migrate-ch": "migrate -database 'clickhouse://localhost:9000?database=default&x-multi-statement=true' -path ./migrations/ch up",
"docgen": "ts-node scripts/generate-api-docs.ts",
"lint:openapi": "yarn docgen && spectral lint openapi.json"
}
}