package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "ojuri",
"version": "1.8.1",
"description": "Self-hosted, real-time fraud detection platform. Multi-agent (RDA / PAA / MLA / FIA), Kafka-decoupled, with an operator dashboard.",
"main": "dist/server.js",
"author": "Ayodeji Abodunrin <https://ayodejiabodunrin.com/>",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ojuri-io/ojuri.git"
},
"bugs": {
"url": "https://github.com/ojuri-io/ojuri/issues"
},
"homepage": "https://github.com/ojuri-io/ojuri#readme",
"keywords": [
"fraud-detection",
"real-time",
"kafka",
"onnx",
"xgboost",
"fastify",
"self-hosted",
"fintech"
],
"scripts": {
"start:dev": "nodemon",
"start": "node dist/server.js",
"prebuild": "rm -rf dist",
"build": "tsc",
"postbuild": "copyfiles -u 1 \"src/**/*.yaml\" dist",
"prepare": "husky install",
"test": "NODE_ENV=test jest --runInBand --passWithNoTests --forceExit",
"lint": "eslint --ignore-path .eslintignore --ext .ts .",
"lint:fix": "eslint . --ext .ts --fix",
"knex": "ts-node -r dotenv/config ./node_modules/knex/bin/cli.js",
"db:migrate:make": "npm run knex -- migrate:make",
"db:migrate": "npm run db:normalize && npm run knex -- migrate:latest && npm run knex -- seed:run",
"db:normalize": "ts-node -r dotenv/config src/database/normalize-migration-names.cli.ts",
"db:migrate:rollback": "npm run knex -- migrate:rollback",
"db:seed": "npm run knex -- seed:run",
"seed:load": "ts-node -r dotenv/config scripts/seed-load.ts",
"demo:load": "ts-node -r dotenv/config scripts/seed-load.ts --file data/demo/sample-transactions.json --concurrency 4",
"replay": "ts-node -r dotenv/config scripts/replay.ts",
"reset:admin": "ts-node scripts/reset-admin-password.ts"
},
"devDependencies": {
"@types/bcrypt": "^6.0.0",
"@types/jest": "^30.0.0",
"@types/jsonwebtoken": "^9.0.10",
"@types/node": "^25.0.2",
"@types/opossum": "^8.1.9",
"@types/stream-to-array": "^2.3.3",
"@types/validatorjs": "^3.15.5",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^28.10.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-promise": "^6.6.0",
"fastify-tsconfig": "^3.0.0",
"graphology-types": "^0.24.8",
"husky": "^9.1.7",
"jest": "^30.2.0",
"lint-staged": "^16.2.7",
"nodemon": "^3.1.11",
"prettier": "^3.7.4",
"ts-jest": "^29.4.6",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.9.3"
},
"dependencies": {
"@fastify/cors": "^11.2.0",
"axios": "^1.13.2",
"bcrypt": "^6.0.0",
"copyfiles": "^2.4.1",
"date-fns": "^4.1.0",
"dotenv": "^17.2.3",
"event-dispatch": "~0.4.1",
"fastify": "^5.6.2",
"fastify-plugin": "^5.1.0",
"google-auth-library": "^10.5.0",
"graphology": "^0.26.0",
"graphology-communities-louvain": "^2.0.2",
"graphology-metrics": "^2.4.0",
"handlebars": "^4.7.8",
"http-status": "^2.1.0",
"ioredis": "~5.8.2",
"jsonwebtoken": "^9.0.3",
"kafkajs": "^2.2.4",
"knex": "^3.1.0",
"level": "^10.0.0",
"module-alias": "^2.2.3",
"ms": "^2.1.3",
"objection": "^3.1.5",
"onnxruntime-node": "^1.24.3",
"opossum": "^9.0.0",
"pg": "^8.16.3",
"pino": "^10.1.0",
"prom-client": "^15.1.3",
"randomatic": "^3.1.1",
"reflect-metadata": "^0.2.2",
"slugify": "^1.6.6",
"tsyringe": "^4.10.0",
"validatorjs": "^3.22.1"
},
"_moduleAliases": {
"@config": "dist/config",
"@shared": "dist/shared",
"@utils": "dist/shared/utils"
},
"lint-staged": {
"**/*.{js, ts}": [
"npm run lint -- --fix",
"npx prettier --write ./src"
]
}
}