{
  "name": "smartfactvoice-backend",
  "version": "0.0.1",
  "packageManager": "pnpm@11.2.2",
  "description": "",
  "author": "",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "build": "nest build",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/src/main",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
    "lint:fix": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:smoke:f2f3": "jest src/compras/compras.service.spec.ts src/ordenes-compra/ordenes-compra.service.spec.ts src/recepciones-compra/recepciones-compra.service.spec.ts src/pagos-proveedor/pagos-proveedor.service.spec.ts src/requisiciones/requisiciones.service.spec.ts --runInBand",
    "test:smoke:f4f6": "jest src/compras/compras.service.spec.ts src/gastos/gastos.service.spec.ts src/pagos-proveedor/pagos-proveedor.service.spec.ts --runInBand",
    "test:smoke:f6-conciliacion": "jest src/tesoreria/services/tes-conciliacion.service.spec.ts --runInBand",
    "test:smoke:compras-gastos-e2e": "jest src/compras/compras-gastos-integrated-flow.spec.ts --runInBand",
    "check:compras:readiness": "ts-node scripts/check-compras-readiness.ts",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
    "test:e2e": "jest --config ./test/jest-e2e.json",
    "setup:tesoreria:pago-proveedor": "ts-node scripts/setup-tesoreria-pago-proveedor.ts",
    "seed:rrhh:empleados": "ts-node scripts/seed-rrhh-empleados.ts",
    "seed:rrhh:presentismo": "ts-node scripts/seed-rrhh-presentismo.ts",
    "provision:presupuestos": "ts-node scripts/provision-presupuestos.ts",
    "import:clientes:alisabe": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/migrate-access/import-clientes-alisabe.ts",
    "reparar:clientes:taller": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/migrate-access/reparar-clientes-taller.ts",
    "piloto:imagenes": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/piloto-imagenes-productos.ts",
    "reprocesar:asientos:facturas": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/reprocesar-asientos-facturas.ts",
    "reversar:mov-caja:recibos-anulados": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/reversar-mov-caja-recibos-anulados.ts",
    "backfill:nc-aplicaciones-cuota": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/backfill-nc-aplicaciones-cuota.ts",
    "reparent:submodulo": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/reparent-submodulo.ts",
    "reparent:contrapartida-contado": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/reparent-contrapartida-contado.ts",
    "recuperar:cdc": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/recuperar-cdc.ts",
    "vincular:nc": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/vincular-nc-factura.ts",
    "reparar:cxc": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/reparar-cuentas-cobrar-faltantes.ts",
    "restaurar:nc": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/restaurar-nc-reversadas.ts",
    "ajustar:saldo": "ts-node --transpile-only -r tsconfig-paths/register --project tsconfig.scripts.json scripts/ajustar-saldo-corte.ts"
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.88.0",
    "@aws-sdk/client-s3": "^3.1049.0",
    "@aws-sdk/s3-request-presigner": "^3.1049.0",
    "@bull-board/api": "^6.16.2",
    "@bull-board/express": "^6.16.2",
    "@bull-board/nestjs": "^6.16.2",
    "@nestjs-modules/mailer": "2.3.4",
    "@nestjs/bullmq": "^11.0.4",
    "@nestjs/cache-manager": "^3.0.1",
    "@nestjs/common": "^11.0.1",
    "@nestjs/config": "^4.0.2",
    "@nestjs/core": "^11.0.1",
    "@nestjs/jwt": "^11.0.1",
    "@nestjs/mapped-types": "*",
    "@nestjs/passport": "^11.0.5",
    "@nestjs/platform-express": "^11.0.1",
    "@nestjs/platform-socket.io": "^11.1.16",
    "@nestjs/schedule": "^6.1.1",
    "@nestjs/swagger": "^11.2.1",
    "@nestjs/throttler": "6.4.0",
    "@nestjs/websockets": "^11.1.16",
    "@types/pdf-parse": "^1.1.5",
    "bcrypt": "^6.0.0",
    "bullmq": "^5.63.0",
    "cache-manager": "^7.2.4",
    "cache-manager-redis-yet": "^5.1.5",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.2",
    "dotenv": "^17.2.3",
    "express": "^4.18.2",
    "fast-xml-parser": "^5.11.1",
    "file-type": "^16.5.4",
    "handlebars": "^4.7.9",
    "ioredis": "^5.8.2",
    "joi": "^18.0.1",
    "nest-winston": "^1.10.2",
    "node-forge": "^1.3.1",
    "node-sql-parser": "^5.4.0",
    "nodemailer": "^7.0.10",
    "openai": "^6.34.0",
    "passport": "^0.7.0",
    "passport-jwt": "^4.0.1",
    "pdf-parse": "^1.1.1",
    "redis": "^5.9.0",
    "reflect-metadata": "^0.2.2",
    "rxjs": "^7.8.1",
    "sharp": "^0.34.5",
    "socket.io": "^4.8.3",
    "socket.io-client": "^4.8.3",
    "twilio": "^5.10.4",
    "winston": "^3.19.0",
    "winston-daily-rotate-file": "^5.0.0",
    "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
  },
  "devDependencies": {
    "@eslint/eslintrc": "^3.2.0",
    "@eslint/js": "^9.18.0",
    "@nestjs/cli": "^11.0.0",
    "@nestjs/schematics": "^11.0.0",
    "@nestjs/testing": "^11.0.1",
    "@prisma/client": "6.19.3",
    "@swc/cli": "^0.7.10",
    "@swc/core": "^1.10.0",
    "@types/bcrypt": "^6.0.0",
    "@types/express": "^5.0.0",
    "@types/jest": "^30.0.0",
    "@types/multer": "^2.0.0",
    "@types/node": "^22.10.7",
    "@types/node-forge": "^1.3.14",
    "@types/passport": "^1.0.17",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^6.0.2",
    "eslint": "^9.18.0",
    "eslint-config-prettier": "^10.0.1",
    "eslint-plugin-prettier": "^5.2.2",
    "globals": "^16.0.0",
    "jest": "^30.0.0",
    "prettier": "^3.4.2",
    "prisma": "6.19.3",
    "source-map-support": "^0.5.21",
    "standard": "^17.1.2",
    "supertest": "^7.0.0",
    "ts-jest": "^29.2.5",
    "ts-loader": "^9.5.2",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.7.3",
    "typescript-eslint": "^8.20.0"
  },
  "eslintConfig": {
    "extends": "./node_modules/standard/eslintrc.json"
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": "src",
    "moduleNameMapper": {
      "^src/(.*)$": "<rootDir>/$1"
    },
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node"
  },
  "prisma": {
    "seed": "ts-node prisma/seed.ts"
  }
}
