Shatteredvoid/package.json
MegaProxy e681c446b6 feat: implement comprehensive startup system and fix authentication
Major improvements:
- Created startup orchestration system with health monitoring and graceful shutdown
- Fixed user registration and login with simplified authentication flow
- Rebuilt authentication forms from scratch with direct API integration
- Implemented comprehensive debugging and error handling
- Added Redis fallback functionality for disabled environments
- Fixed CORS configuration for cross-origin frontend requests
- Simplified password validation to 6+ characters (removed complexity requirements)
- Added toast notifications at app level for better UX feedback
- Created comprehensive startup/shutdown scripts with OODA methodology
- Fixed database validation and connection issues
- Implemented TokenService memory fallback when Redis is disabled

Technical details:
- New SimpleLoginForm.tsx and SimpleRegisterForm.tsx components
- Enhanced CORS middleware with additional allowed origins
- Simplified auth validators and removed strict password requirements
- Added extensive logging and diagnostic capabilities
- Fixed authentication middleware token validation
- Implemented graceful Redis error handling throughout the stack
- Created modular startup system with configurable health checks

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 12:53:25 +00:00

119 lines
3.9 KiB
JSON

{
"name": "shattered-void-mmo",
"version": "0.1.0",
"description": "Shattered Void - A post-collapse galaxy MMO strategy game",
"main": "src/server.js",
"scripts": {
"dev": "nodemon --inspect=0.0.0.0:9229 src/server.js",
"start": "node src/server.js",
"start:game": "node start-game.js",
"start:dev": "NODE_ENV=development node start-game.js",
"start:prod": "NODE_ENV=production node start-game.js",
"start:staging": "NODE_ENV=staging node start-game.js",
"start:quick": "./start.sh",
"start:debug": "./start.sh --debug --verbose",
"start:no-frontend": "./start.sh --no-frontend",
"start:backend-only": "ENABLE_FRONTEND=false node start-game.js",
"game": "./start.sh",
"test": "jest --verbose --coverage",
"test:watch": "jest --watch --verbose",
"test:integration": "jest --testPathPattern=integration --runInBand",
"test:e2e": "jest --testPathPattern=e2e --runInBand",
"lint": "eslint src/ --ext .js --fix",
"lint:check": "eslint src/ --ext .js",
"health:check": "node -e \"require('./scripts/health-monitor'); console.log('Health monitoring available')\"",
"system:check": "node -e \"const checks = require('./scripts/startup-checks'); new checks().runAllChecks().then(r => console.log('System checks:', r.success ? 'PASSED' : 'FAILED'))\"",
"db:migrate": "knex migrate:latest",
"db:rollback": "knex migrate:rollback",
"db:seed": "knex seed:run",
"db:reset": "knex migrate:rollback:all && knex migrate:latest && knex seed:run",
"db:setup": "createdb shattered_void_dev && npm run db:migrate && npm run db:seed",
"db:validate": "node -e \"const val = require('./scripts/database-validator'); new val().validateDatabase().then(r => console.log('DB validation:', r.success ? 'PASSED' : 'FAILED', r.error || ''))\"",
"setup": "node scripts/setup.js",
"docker:build": "docker build -t shattered-void .",
"docker:run": "docker-compose up -d",
"docker:dev": "docker-compose -f docker-compose.dev.yml up -d",
"logs": "tail -f logs/combined.log",
"logs:error": "tail -f logs/error.log",
"logs:audit": "tail -f logs/audit.log",
"logs:startup": "tail -f logs/startup.log"
},
"dependencies": {
"bcrypt": "^5.1.1",
"compression": "^1.7.4",
"connect-redis": "^7.1.0",
"cookie-parser": "^1.4.6",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-rate-limit": "^7.1.5",
"express-session": "^1.17.3",
"express-validator": "^7.0.1",
"express-ws": "^5.0.2",
"helmet": "^7.1.0",
"joi": "^17.11.1",
"jsonwebtoken": "^9.0.2",
"knex": "^3.0.1",
"lodash": "^4.17.21",
"moment": "^2.29.4",
"node-cron": "^3.0.3",
"nodemailer": "^6.9.7",
"pg": "^8.11.3",
"rate-limit-redis": "^4.2.1",
"redis": "^4.6.11",
"socket.io": "^4.8.1",
"uuid": "^9.0.1",
"validator": "^13.15.15",
"winston": "^3.11.0",
"winston-daily-rotate-file": "^4.7.1",
"ws": "^8.14.2"
},
"devDependencies": {
"@types/jest": "^29.5.8",
"eslint": "^8.56.0",
"eslint-config-node": "^4.1.0",
"eslint-plugin-jest": "^27.6.0",
"eslint-plugin-node": "^11.1.0",
"jest": "^29.7.0",
"nodemon": "^3.0.2",
"supertest": "^6.3.3"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=9.0.0"
},
"keywords": [
"mmo",
"strategy",
"game",
"nodejs",
"postgresql",
"redis",
"websocket"
],
"author": "Shattered Void Development Team",
"license": "UNLICENSED",
"private": true,
"repository": {
"type": "git",
"url": "https://github.com/your-org/shattered-void-mmo.git"
},
"jest": {
"testEnvironment": "node",
"collectCoverageFrom": [
"src/**/*.js",
"!src/server.js",
"!src/database/migrations/**",
"!src/database/seeds/**"
],
"coverageDirectory": "coverage",
"coverageReporters": [
"text",
"lcov",
"html"
],
"testMatch": [
"**/tests/**/*.test.js"
]
}
}