{ "name": "sentrovia", "version": "0.1.8", "description": "Self-hosted uptime monitoring for websites, APIs, TCP ports, PostgreSQL, and cron jobs with verified alerts, evidence, and public status pages.", "private": true, "homepage": "https://github.com/febroine/sentrovia-monitoring", "bugs": { "url": "https://github.com/febroine/sentrovia-monitoring/issues" }, "repository": { "type": "git", "url": "https://github.com/febroine/sentrovia-monitoring.git" }, "engines": { "node": ">=20.9.0" }, "scripts": { "dev": "next dev", "prebuild": "node scripts/cleanup-retired-files.mjs --source-only", "build": "next build", "start": "next start", "test": "vitest run", "test:e2e:docker": "node tests/e2e/docker-runtime.mjs", "test:e2e:dynamic": "node tests/e2e/run-dynamic-suite.mjs", "test:e2e:ui": "node tests/e2e/ui-interactions.mjs", "typecheck": "tsc --noEmit", "docker:web": "node scripts/bootstrap-runtime.mjs web", "docker:worker": "node scripts/bootstrap-runtime.mjs worker", "worker:dev": "tsx watch src/worker/runner.ts", "worker:start": "tsx src/worker/runner.ts", "lint": "eslint", "db:generate": "drizzle-kit generate", "db:push": "drizzle-kit push", "db:push:bootstrap": "drizzle-kit push --force", "db:sync": "node scripts/sync-database-schema.mjs", "db:repair": "node scripts/repair-database.mjs", "db:repair:dry-run": "node scripts/repair-database.mjs --dry-run", "auth:recover-admin": "node scripts/recover-admin.mjs", "db:manual": "node scripts/apply-manual-migrations.mjs", "db:manual:baseline": "node scripts/apply-manual-migrations.mjs --baseline", "backup:restore": "tsx scripts/restore-database-backup.ts", "release:artifacts": "node scripts/create-release-artifacts.mjs", "benchmark:scale": "node scripts/benchmark-scale.mjs" }, "dependencies": { "@base-ui/react": "^1.3.0", "@next/env": "^16.3.1", "bcryptjs": "^3.0.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "drizzle-orm": "^0.45.2", "jose": "^6.2.2", "lucide-react": "^1.7.0", "next": "^16.3.8", "nodemailer": "10.0.13", "playwright": "^1.60.0", "postgres": "^3.4.9", "react": "19.2.4", "react-dom": "19.2.4", "tailwind-merge": "^3.5.0", "tailwindcss-animate": "^1.0.7", "tsx": "^4.22.5", "write-excel-file": "^4.1.1", "yaml": "^2.8.3", "zod": "^4.3.6", "zustand": "^5.0.12" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/node": "^20", "@types/nodemailer": "^8.0.0", "@types/react": "^19", "@types/react-dom": "^19", "drizzle-kit": "^0.31.10", "esbuild": "0.28.1", "eslint": "^9.39.5", "eslint-config-next": "^16.3.8", "postcss": "8.5.26", "tailwindcss": "^4", "typescript": "^5", "vitest": "^4.1.10" }, "overrides": { "@esbuild-kit/core-utils": { "esbuild": "0.25.12" }, "nanoid": "3.3.18", "postcss": "8.5.26", "sharp": "0.35.4" }, "allowScripts": { "esbuild@0.25.12": true, "esbuild@0.28.1": true, "sharp@0.35.4": true, "unrs-resolver@1.11.1": true } }