{
"name": "ai-tools-hub-backend",
"version": "2.0.0",
"description": "Next-gen full-stack backend with GraphQL, AI, Redis, and Elasticsearch",
"main": "dist/server.js",
"type": "module",
"scripts": {
"start": "node dist/server.js",
"dev": "tsx watch src/server.ts",
"build": "tsc",
"type-check": "tsc --noEmit",
"test": "vitest",
"test:ui": "vitest --ui",
"lint": "eslint src --ext .ts",
"lint:fix": "eslint src --ext .ts --fix",
"migrate": "node scripts/migrate.js",
"seed": "node scripts/seed.js",
"docker:up": "docker-compose up -d",
"docker:down": "docker-compose down"
},
"keywords": ["ai", "tools", "api", "backend", "graphql", "typescript"],
"author": "AI Tools Hub",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"cors": "^2.8.5",
"dotenv": "^16.4.1",
"mongoose": "^8.1.1",
"jsonwebtoken": "^9.0.2",
"bcryptjs": "^2.4.3",
"express-validator": "^7.0.1",
"express-rate-limit": "^7.1.5",
"helmet": "^7.1.0",
"morgan": "^1.10.0",
"compression": "^1.7.4",
"socket.io": "^4.6.1",
"passport": "^0.7.0",
"passport-jwt": "^4.0.1",
"passport-google-oauth20": "^2.0.0",
"passport-github2": "^0.1.12",
"nodemailer": "^7.0.12",
"ioredis": "^5.3.2",
"winston": "^3.11.0",
"joi": "^17.12.0",
"graphql": "^16.8.1",
"apollo-server-express": "^3.13.0",
"graphql-tools": "^9.0.1",
"dataloader": "^2.2.2",
"@elastic/elasticsearch": "^8.12.0",
"openai": "^4.28.0",
"@anthropic-ai/sdk": "^0.17.1",
"@pinecone-database/pinecone": "^2.0.0",
"bull": "^4.12.0",
"stripe": "^14.14.0",
"sharp": "^0.33.2",
"multer": "^2.0.2",
"uuid": "^9.0.1",
"nanoid": "^5.0.5",
"zod": "^3.22.4",
"date-fns": "^3.3.1",
"sanitize-html": "^2.12.0",
"express-mongo-sanitize": "^2.2.0",
"hpp": "^0.2.3",
"xss-clean": "^0.1.4"
},
"devDependencies": {
"@types/express": "^4.17.21",
"@types/node": "^20.11.16",
"@types/bcryptjs": "^2.4.6",
"@types/jsonwebtoken": "^9.0.5",
"@types/morgan": "^1.9.9",
"@types/compression": "^1.7.5",
"@types/passport": "^1.0.16",
"@types/passport-jwt": "^4.0.0",
"@types/passport-google-oauth20": "^2.0.14",
"@types/nodemailer": "^6.4.14",
"@types/uuid": "^9.0.7",
"@types/multer": "^1.4.11",
"@typescript-eslint/eslint-plugin": "^6.20.0",
"@typescript-eslint/parser": "^6.20.0",
"eslint": "^8.56.0",
"typescript": "^5.3.3",
"tsx": "^4.7.0",
"vitest": "^1.2.2",
"@vitest/ui": "^1.2.2",
"supertest": "^6.3.4",
"@types/supertest": "^6.0.2"
},
"engines": {
"node": ">=20.0.0",
"npm": ">=10.0.0"
}
}