{
  "name": "kener",
  "version": "4.0.18",
  "type": "module",
  "private": false,
  "license": "MIT",
  "description": "Kener is a modern, open-source status page application built with Node.js. It provides real-time monitoring, uptime tracking, incident management, and beautiful dashboards. Perfect for DevOps teams, SaaS providers, and businesses needing reliable service status communication with minimal setup.",
  "author": "Raj Nandan Sharma <rajnandan1@gmail.com>",
  "keywords": [
    "status page",
    "uptime monitoring",
    "incident management",
    "DevOps tools",
    "service reliability",
    "open source",
    "Node.js",
    "dashboard",
    "system monitoring",
    "status alerts",
    "outage communication",
    "API monitoring",
    "SaaS status",
    "performance metrics",
    "status reporting"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/rajnandan1/kener.git"
  },
  "scripts": {
    "build": "node scripts/build-sveltekit.js && node scripts/build-server.js",
    "build-with-docs": "node scripts/build-sveltekit.js --with-docs && node scripts/build-server.js",
    "build:sveltekit": "vite build",
    "build:server": "node scripts/build-server.js",
    "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
    "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
    "configure": "node build.js",
    "dev": "npm-run-all --parallel devschedule development",
    "development": "vite dev",
    "devschedule": "vite-node src/lib/server/startup.ts",
    "generate-readme": "node scripts/generate-readme.js",
    "index-docs": "vite-node scripts/index-docs.ts",
    "migrate": "vite-node scripts/fix-migration-ext.ts && npx knex migrate:latest",
    "predev": "npm run seed",
    "prepare": "svelte-kit sync || echo ''",
    "preseed": "vite-node scripts/fix-migration-ext.ts && npx knex migrate:latest",
    "prettify": "prettier --write .",
    "preview": "vite preview",
    "schedule": "vite-node src/lib/server/startup.ts",
    "seed": "npx knex seed:run",
    "start": "node build/main.js"
  },
  "devDependencies": {
    "@internationalized/date": "^3.10.0",
    "@lucide/svelte": "^0.561.0",
    "@sveltejs/adapter-auto": "^7.0.0",
    "@sveltejs/adapter-node": "^5.4.0",
    "@sveltejs/kit": "^2.48.5",
    "@sveltejs/vite-plugin-svelte": "^6.2.1",
    "@tailwindcss/typography": "^0.5.19",
    "@tailwindcss/vite": "^4.1.17",
    "@types/bcrypt": "^6.0.0",
    "@types/d3-scale": "^4.0.9",
    "@types/d3-shape": "^3.1.8",
    "@types/dns2": "^2.0.10",
    "@types/express": "^5.0.6",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/mustache": "^4.2.6",
    "@types/node": "^25.0.3",
    "@types/nodemailer": "^7.0.4",
    "autoprefixer": "^10.4.22",
    "clsx": "^2.1.1",
    "concurrently": "^9.2.1",
    "cross-env": "^10.1.0",
    "date-picker-svelte": "^2.17.0",
    "layerchart": "^2.0.0-next.43",
    "postcss": "^8.5.6",
    "postcss-load-config": "^6.0.1",
    "prettier": "^3.7.4",
    "prettier-plugin-svelte": "^3.4.0",
    "prettier-plugin-tailwindcss": "^0.7.2",
    "svelte": "^5.43.8",
    "svelte-awesome-color-picker": "^4.1.0",
    "svelte-check": "^4.3.4",
    "svelte-sonner": "^1.0.7",
    "tailwind-merge": "^3.4.0",
    "tailwind-variants": "^3.2.2",
    "tailwindcss": "^4.1.17",
    "tw-animate-css": "^1.4.0",
    "typescript": "^5.9.3",
    "vaul-svelte": "^1.0.0-next.7",
    "vite": "^7.2.2",
    "vite-node": "^5.3.0",
    "vite-plugin-devtools-json": "^1.0.0"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "dependencies": {
    "@babel/runtime": "^7.28.4",
    "@codemirror/autocomplete": "^6.20.0",
    "@codemirror/commands": "^6.10.1",
    "@codemirror/lang-css": "^6.3.1",
    "@codemirror/lang-html": "^6.4.11",
    "@codemirror/lang-javascript": "^6.2.4",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/lang-markdown": "^6.5.0",
    "@codemirror/lang-sql": "^6.10.0",
    "@codemirror/language": "^6.12.1",
    "@codemirror/lint": "^6.9.2",
    "@codemirror/search": "^6.6.0",
    "@codemirror/state": "^6.5.4",
    "@codemirror/view": "^6.39.11",
    "@formkit/auto-animate": "^0.9.0",
    "@grpc/grpc-js": "^1.14.3",
    "@grpc/proto-loader": "^0.8.0",
    "@humanspeak/svelte-purify": "^0.0.6",
    "@number-flow/svelte": "^0.3.9",
    "@scalar/express-api-reference": "^0.8.28",
    "@scalar/sveltekit": "^0.1.43",
    "@scaleway/random-name": "^5.1.4",
    "@uiw/codemirror-theme-github": "^4.25.3",
    "axios": "^1.13.2",
    "badge-maker": "^5.0.2",
    "bcrypt": "^6.0.0",
    "better-sqlite3": "^12.5.0",
    "bits-ui": "^2.14.4",
    "bullmq": "^5.66.2",
    "cheerio": "^1.1.2",
    "croner": "^9.1.0",
    "date-fns": "^4.1.0",
    "date-fns-tz": "^3.2.0",
    "dns2": "^2.1.0",
    "dotenv": "^17.2.3",
    "esbuild": "^0.27.2",
    "express": "^5.2.1",
    "figlet": "^1.9.4",
    "flexsearch": "^0.8.212",
    "front-matter": "^4.0.2",
    "gamedig": "^5.3.2",
    "glob": "^13.0.6",
    "highlight.js": "^11.11.1",
    "ioredis": "^5.8.2",
    "js-yaml": "^4.1.1",
    "jsonwebtoken": "^9.0.3",
    "knex": "^3.1.0",
    "lucide-svelte": "^0.561.0",
    "marked": "^17.0.1",
    "marked-alert": "^2.1.2",
    "marked-custom-heading-id": "^2.0.16",
    "marked-gfm-heading-id": "^4.1.3",
    "marked-highlight": "^2.2.3",
    "marked-plaintify": "^1.1.1",
    "mobile-detect": "^1.4.5",
    "mode-watcher": "^1.1.0",
    "mustache": "^4.2.0",
    "mysql2": "^3.15.3",
    "nanoid": "^5.1.6",
    "node-cache": "^5.1.2",
    "nodemailer": "^7.0.11",
    "npm-run-all": "^4.1.5",
    "pg": "^8.16.3",
    "pg-pool": "^3.10.1",
    "ping": "^1.0.0",
    "randomstring": "^1.3.1",
    "resend": "^6.6.0",
    "rrule": "^2.8.1",
    "sharp": "^0.34.5",
    "striptags": "^3.2.0",
    "style-to-object": "^1.0.14",
    "svelte-codemirror-editor": "^2.1.0",
    "vite-plugin-package-version": "^1.1.0"
  }
}
