This commit upgrades the project to Node.js 24 (LTS) and performs a major refactoring of the documentation to support both advanced users and AI-based automation (MCP). Changes: - Environment & CI/CD: - Set Node.js version to >=24 in package.json and .nvmrc. - Updated Dockerfile to use Node 24 base image. - Updated @types/node to ^24.10.9. - Documentation: - Refactored README.md with comprehensive technical reference, configuration details, and Zabbix-to-GraphQL mapping. - Created docs/howtos/cookbook.md with practical recipes for common tasks and AI test generation. - Updated docs/howtos/mcp.md to emphasize GraphQL's advantages for AI agents and Model Context Protocol. - Added readme.improvement.plan.md to track documentation evolution. - Enhanced all how-to guides with improved cross-references and up-to-date information. - Guidelines: - Updated .junie/guidelines.md with Node 24 requirements and enhanced commit message standards (Conventional Commits 1.0.0). - Infrastructure & Code: - Updated docker-compose.yml with Apollo MCP server integration. - Refined configuration and schema handling in src/api/ and src/datasources/. - Synchronized generated TypeScript types with schema updates.
59 lines
1.8 KiB
JSON
59 lines
1.8 KiB
JSON
{
|
|
"name": "zabbix-graphql-api",
|
|
"version": "1.0.0",
|
|
"description": "",
|
|
"main": "index.js",
|
|
"type": "module",
|
|
"scripts": {
|
|
"compile": "tsc",
|
|
"start": "nodemon --watch \"src/**\" --watch \"schema.graphql\" --ext \"ts,json\" --exec \"node --import tsx ./src/index.ts\"",
|
|
"prod": "npm run copy-schema && node ./dist/index.js",
|
|
"test": "jest --detectOpenHandles --forceExit --bail",
|
|
"codegen": "graphql-codegen --config codegen.ts --watch",
|
|
"nodemon": "nodemon --watch \"src/**\" --watch \"schema.graphql\" --ext \"ts,json\" --exec \"tsc",
|
|
"copy-schema": "cp -R schema ./dist/"
|
|
},
|
|
"keywords": [],
|
|
"license": "AGPL-3.0-only",
|
|
"author": "Andreas Hilbig",
|
|
"copyright": "All rights reserved by Hilbig IT GmbH",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"dependencies": {
|
|
"@apollo/datasource-rest": "^6.3.0",
|
|
"@apollo/server": "^5.2.0",
|
|
"@as-integrations/express4": "^1.1.2",
|
|
"@graphql-tools/schema": "^10.0.30",
|
|
"class-transformer": "^0.5.1",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^17.2.3",
|
|
"graphql": "^16.12.0",
|
|
"graphql-scalars": "^1.23.0",
|
|
"graphql-subscriptions": "^3.0.0",
|
|
"graphql-tag": "^2.12.6",
|
|
"graphql-ws": "^5.16.0",
|
|
"reflect-metadata": "^0.2.1",
|
|
"ws": "^8.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"@graphql-codegen/cli": "5.0.2",
|
|
"@graphql-codegen/typescript": "4.0.9",
|
|
"@graphql-codegen/typescript-resolvers": "4.2.1",
|
|
"@parcel/watcher": "^2.4.1",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^5.0.6",
|
|
"@types/jest": "^29.5.13",
|
|
"@types/node": "^24.10.9",
|
|
"@types/simple-mock": "^0.8.6",
|
|
"@types/ws": "^8.5.12",
|
|
"jest": "^29.7.0",
|
|
"jest-expect-message": "^1.1.3",
|
|
"nodemon": "^3.1.7",
|
|
"simple-mock": "^0.8.0",
|
|
"ts-jest": "^29.2.5",
|
|
"ts-node": "^10.9.2",
|
|
"tsx": "^4.19.1",
|
|
"typescript": "^5.6.2"
|
|
}
|
|
}
|