Ctrl K
ComunidadGuías…

package.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "homix-marketing",
  "version": "2.0.0",
  "description": "Homix Realty listing marketing and resilient Resend delivery service",
  "type": "module",
  "engines": {
    "node": ">=22 <23"
  },
  "scripts": {
    "postinstall": "prisma generate",
    "dev": "concurrently -k -n web,client \"npm:dev:web\" \"npm:dev:client\"",
    "dev:web": "cross-env APP_ROLE=web tsx watch src/bootstrap.ts",
    "dev:worker": "cross-env APP_ROLE=worker tsx watch src/bootstrap.ts",
    "dev:client": "vite --config client/vite.config.ts",
    "build": "npm run prisma:generate && npm run build:client && npm run build:server",
    "build:client": "vite build --config client/vite.config.ts",
    "build:server": "tsc -p tsconfig.server.json",
    "start": "node dist/server/src/bootstrap.js",
    "start:web": "cross-env APP_ROLE=web node dist/server/src/bootstrap.js",
    "start:worker": "cross-env APP_ROLE=worker node dist/server/src/bootstrap.js",
    "start:migrate": "cross-env APP_ROLE=migrate node dist/server/src/bootstrap.js",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "lint": "eslint . --max-warnings=0",
    "typecheck": "npm run prisma:generate && tsc -p tsconfig.server.json --noEmit && tsc -p client/tsconfig.json --noEmit",
    "test": "npm run test:unit && npm run test:api",
    "test:unit": "vitest run tests/unit",
    "test:api": "vitest run tests/api",
    "test:integration": "bash scripts/run-integration-tests.sh",
    "test:e2e": "bash scripts/run-e2e-tests.sh",
    "test:coverage": "npm run test:coverage:unit && npm run test:coverage:services",
    "test:coverage:unit": "vitest run tests/unit --coverage",
    "test:coverage:services": "bash scripts/run-integration-tests.sh --coverage --config vitest.integration.config.ts",
    "prisma:generate": "prisma generate",
    "prisma:migrate:dev": "prisma migrate dev",
    "prisma:migrate:deploy": "prisma migrate deploy",
    "db:seed": "tsx prisma/seed.ts",
    "db:up": "docker compose up -d postgres",
    "db:down": "docker compose down",
    "migrate:v1": "tsx scripts/migrate-sqlite-v1.ts",
    "docker:build": "docker build -t homix-marketing:local .",
    "infra:lint": "az bicep build --file infra/bootstrap.bicep --stdout > /dev/null && az bicep build --file infra/main.bicep --stdout > /dev/null",
    "openapi:lint": "redocly lint openapi.yaml --config .redocly.yaml",
    "licenses:check": "node scripts/check-licenses.mjs",
    "source:archive:check": "bash scripts/build-source-archive.sh --check",
    "source:archive": "bash scripts/build-source-archive.sh",
    "check": "npm run format:check && npm run lint && npm run typecheck && npm test && npm run build"
  },
  "dependencies": {
    "@azure/identity": "^4.10.2",
    "@azure/monitor-opentelemetry": "^1.14.0",
    "@azure/storage-blob": "^12.28.0",
    "@hookform/resolvers": "^5.2.1",
    "@prisma/client": "^6.12.0",
    "@react-email/components": "^0.5.7",
    "@react-email/render": "^1.4.0",
    "@tanstack/react-query": "^5.87.1",
    "csv-parse": "^7.0.2",
    "dotenv": "^17.2.2",
    "express": "^5.2.1",
    "express-rate-limit": "^8.1.0",
    "helmet": "^8.1.0",
    "lucide-react": "^0.544.0",
    "multer": "^2.2.0",
    "pg": "^8.16.3",
    "pino": "^9.9.4",
    "pino-http": "^10.5.0",
    "prisma": "^6.12.0",
    "react": "^19.1.1",
    "react-dom": "^19.1.1",
    "react-hook-form": "^7.62.0",
    "react-router-dom": "^7.9.1",
    "recharts": "^3.2.1",
    "resend": "^6.21.0",
    "sanitize-html": "^2.17.0",
    "sharp": "^0.35.3",
    "zod": "^4.1.8"
  },
  "devDependencies": {
    "@eslint/js": "^9.35.0",
    "@playwright/test": "^1.55.0",
    "@redocly/cli": "^2.1.0",
    "@testing-library/react": "^16.3.0",
    "@types/better-sqlite3": "^7.6.13",
    "@types/express": "^5.0.3",
    "@types/multer": "^2.0.0",
    "@types/node": "^22.18.3",
    "@types/pg": "^8.15.5",
    "@types/react": "^19.1.13",
    "@types/react-dom": "^19.1.9",
    "@types/sanitize-html": "^2.16.0",
    "@types/supertest": "^6.0.3",
    "@vitejs/plugin-react": "^5.0.2",
    "@vitest/coverage-v8": "^3.2.4",
    "better-sqlite3": "^12.4.1",
    "concurrently": "^9.2.1",
    "cross-env": "^10.0.0",
    "esbuild": "^0.28.2",
    "eslint": "^9.35.0",
    "eslint-config-prettier": "^10.1.8",
    "prettier": "^3.6.2",
    "supertest": "^7.1.4",
    "tsx": "^4.20.5",
    "typescript": "^5.9.2",
    "typescript-eslint": "^8.43.0",
    "vite": "^7.1.5",
    "vitest": "^3.2.4"
  }
}