{ "name": "market-screener", "version": "2.0.0", "type": "module", "scripts": { "server": "tsx bin/server.ts", "dev": "concurrently -n api,ui -c cyan,magenta \"tsx bin/server.ts\" \"npm run dev --prefix ui\"", "ui:install": "npm install --prefix ui --legacy-peer-deps", "typecheck": "tsc --noEmit", "test": "tsx --test --test-reporter=spec tests/*.test.ts", "test:watch": "tsx --test --watch --test-reporter=spec tests/*.test.ts", "lint": "eslint . --ext .ts,.js", "lint:fix": "eslint . --ext .ts,.js --fix", "screen:daily": "tsx bin/daily-screen.ts", "format": "prettier --write \"server/**/*.ts\" \"bin/**/*.ts\" \"tests/**/*.ts\"", "format:check": "prettier --check \"server/**/*.ts\" \"bin/**/*.ts\" \"tests/**/*.ts\"", "prepare": "husky" }, "lint-staged": { "{server,bin,tests}/**/*.{ts,js}": [ "eslint --fix", "prettier --write" ], "ui/src/**/*.ts": [ "prettier --write" ] }, "dependencies": { "@anthropic-ai/sdk": "^0.100.1", "@fastify/cors": "^11.2.0", "@fastify/rate-limit": "^10.2.1", "better-sqlite3": "^11.10.0", "dotenv": "^16.0.0", "fastify": "^5.8.5", "yahoo-finance2": "^3.15.2" }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", "@types/node": "^22.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", "concurrently": "^10.0.3", "eslint": "^8.0.0", "eslint-plugin-import": "^2.32.0", "husky": "^9.0.0", "lint-staged": "^15.0.0", "prettier": "^3.0.0", "tsx": "^4.0.0", "typescript": "^5.0.0" } }