{ "name": "uptime-kuma", "version": "3.0.0-beta.0", "license": "MIT", "repository": { "type": "git", "url": "https://github.com/louislam/uptime-kuma.git" }, "engines": { "node": ">= 20.0.0" }, "scripts": { "lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .", "lint:js-prod": "node --run lint:js", "lint-fix:js": "eslint --ext \".js,.vue\" --fix --ignore-path .gitignore .", "lint:style": "stylelint \"**/*.{vue,css,scss}\" --ignore-path .gitignore", "lint-fix:style": "stylelint \"**/*.{vue,css,scss}\" --fix --ignore-path .gitignore", "lint": "node --run lint:js && node --run lint:style", "fmt": "prettier --write \"**/*.{js,ts,vue,css,scss,json,md,yml,yaml}\"", "lint:prod": "node --run lint:js-prod && node --run lint:style", "dev": "concurrently -k -r \"wait-on tcp:3000 && node --run start-server-dev \" \"node --run start-frontend-dev\"", "start-frontend-dev": "cross-env NODE_ENV=development vite --host", "start": "node --import=tsx server/server.js", "start-server": "node --import=tsx server/server.js", "start-server-dev": "cross-env NODE_ENV=development tsx server/server.js", "start-server-dev:watch": "cross-env NODE_ENV=development tsx --watch server/server.js", "build": "vite build", "test": "node --run test-backend && node --run test-e2e", "test-with-build": "node --run build && npm test", "test-backend": "cross-env TEST_BACKEND=1 node --import=tsx --test --test-reporter=spec \"test/backend-test/**/*.{ts,js}\"", "test-e2e": "playwright test", "test-e2e-local": "cross-env SKIP_TESTCONTAINER=1 npm run build && npm run test-e2e", "test-e2e-ui": "playwright test --ui --ui-port=51063", "playwright-codegen": "playwright codegen localhost:3000 --save-storage=./private/e2e-auth.json", "playwright-show-report": "playwright show-report ./private/playwright-report", "vite-preview-dist": "vite preview --host", "upload-artifacts": "node extra/release/upload-artifacts.mjs", "upload-artifacts-beta": "node extra/release/upload-artifacts-beta.mjs", "setup": "git checkout 2.5.5 && npm ci --omit dev --no-audit && npm run download-dist", "download-dist": "node extra/download-dist.js", "mark-as-nightly": "node extra/mark-as-nightly.js", "reset-password": "node --import=tsx extra/reset-password.mts", "remove-2fa": "node extra/remove-2fa.js", "start-clear-server": "node extra/start-clear-server.mjs", "simple-dns-server": "node extra/simple-dns-server.js", "simple-mqtt-server": "node extra/simple-mqtt-server.js", "release-final": "node ./extra/release/release.mjs", "release-beta": "node ./extra/release/release.mjs --beta", "release-nightly": "node ./extra/release/nightly.mjs", "git-remove-tag": "git tag -d", "build-dist-and-restart": "node --run build && node --run start-server-dev", "start-pr-test": "node extra/checkout-pr.mjs && npm install && node --run dev", "deploy-demo-server": "node extra/deploy-demo-server.js", "reset-migrate-aggregate-table-state": "node extra/reset-migrate-aggregate-table-state.js", "generate-changelog": "node ./extra/release/generate-changelog.mjs", "create-release": "node ./extra/release/create-release.mjs", "audit": "npm audit --omit=dev" }, "dependencies": { "@aws-sdk/client-cloudwatch": "^3.1152.0", "@aws-sdk/client-ec2": "^3.1152.0", "@better-auth/api-key": "1.6.11", "@grpc/grpc-js": "~1.8.22", "@inquirer/core": "~11.2.1", "@inquirer/prompts": "~8.5.2", "@louislam/ping": "~0.4.4-mod.1", "@vvo/tzdb": "~6.198.0", "args-parser": "~1.3.0", "axios": "~0.33.0", "badge-maker": "~3.3.1", "bcryptjs": "~2.4.3", "better-auth": "~1.6.11", "better-sqlite3": "~12.11.1", "chardet": "~1.4.0", "cheerio": "~1.0.0", "chroma-js": "~2.4.2", "command-exists": "~1.2.9", "compare-versions": "~3.6.0", "country-flag-emoji-polyfill": "~0.1.8", "croner": "~8.1.2", "dayjs": "~1.11.19", "dev-null": "~0.1.1", "express": "~4.22.1", "express-basic-auth": "~1.2.1", "express-static-gzip": "~2.1.8", "feed": "~4.2.2", "form-data": "~4.0.5", "gamedig": "~5.3.2", "globalping": "~0.2.0", "html-escaper": "~3.0.3", "http-cookie-agent": "~5.0.4", "http-graceful-shutdown": "~3.1.15", "http-proxy-agent": "~7.0.2", "https-proxy-agent": "~7.0.6", "iconv-lite": "~0.6.3", "is-url": "~1.2.4", "isomorphic-ws": "~5.0.0", "jsesc": "~3.0.2", "jsonata": "~2.2.2", "kafkajs": "~2.2.4", "knex": "~3.3.0", "limiter": "~2.1.0", "liquidjs": "~10.29.0", "marked": "~14.1.4", "mitt": "~3.0.1", "mongodb": "~4.17.2", "mqtt": "~4.3.8", "mssql": "~12.0.0", "mysql2": "~3.24.2", "nanoid": "~3.3.11", "net-snmp": "~3.26.1", "node-cloudflared-tunnel": "~1.0.10", "node-radius-utils": "~1.2.0", "nodemailer": "~10.0.0", "nostr-tools": "~2.20.0", "openid-client": "~5.7.1", "oracledb": "~6.10.0", "password-hash": "~1.2.2", "pg": "~8.11.6", "pg-connection-string": "~2.6.4", "playwright-core": "~1.61.1", "prom-client": "~13.2.0", "prometheus-api-metrics": "~3.2.2", "promisify-child-process": "~4.1.2", "protobufjs": "~8.8.0", "qs": "~6.16.0", "radius": "~1.1.4", "redbean-node": "~0.4.0", "redis": "~5.9.0", "semver": "~7.5.4", "socket.io": "~4.8.3", "socket.io-client": "~4.8.3", "socks-proxy-agent": "~8.0.5", "sqlstring": "~2.3.3", "ssh2-sftp-client": "~12.0.1", "tar": "~6.2.1", "tcp-ping": "~0.1.1", "tldts": "~7.0.23", "tough-cookie": "~4.1.4", "tsx": "~4.23.1", "unlimited-timeout": "~0.1.0", "validator": "~13.15.26", "web-push": "~3.6.7", "ws": "~8.21.3", "zod": "~4.4.3" }, "devDependencies": { "@actions/github": "~9.1.1", "@fortawesome/fontawesome-svg-core": "~1.2.36", "@fortawesome/free-regular-svg-icons": "~5.15.4", "@fortawesome/free-solid-svg-icons": "~5.15.4", "@fortawesome/vue-fontawesome": "~3.1.3", "@playwright/test": "~1.61.1", "@popperjs/core": "~2.10.2", "@testcontainers/hivemq": "10.28.0", "@testcontainers/mariadb": "10.28.0", "@testcontainers/mssqlserver": "10.28.0", "@testcontainers/mysql": "11.14.0", "@testcontainers/oraclefree": "11.14.0", "@testcontainers/postgresql": "11.14.0", "@testcontainers/rabbitmq": "10.28.0", "@types/better-sqlite3": "~7.6.13", "@types/bootstrap": "~5.1.13", "@types/node": "^26.1.1", "@types/web-push": "^3.6.4", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-vue": "~6.0.7", "@vue/compiler-sfc": "~3.5.39", "@vuepic/vue-datepicker": "~3.4.8", "aedes": "~1.0.0", "bootstrap": "5.1.3", "chart.js": "~4.2.1", "chartjs-adapter-dayjs-4": "~1.0.4", "concurrently": "^7.6.0", "cronstrue": "~2.24.0", "cross-env": "~7.0.3", "dns2": "~2.0.5", "dompurify": "~3.4.0", "eslint": "~8.14.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jsdoc": "~46.4.6", "eslint-plugin-vue": "~8.7.1", "eslint-plugin-vue-scoped-css": "~2.7.2", "favico.js": "~0.3.10", "node-ssh": "~13.1.0", "postcss-html": "~1.8.1", "postcss-rtlcss": "~5.7.1", "postcss-scss": "~4.0.9", "prettier": "^3.8.1", "prismjs": "~1.30.0", "qrcode": "~1.5.4", "rollup-plugin-visualizer": "~7.0.1", "sass": "^1.101.0", "ssh2": "~1.17.0", "stylelint": "^15.11.0", "stylelint-config-prettier": "^9.0.5", "stylelint-config-standard": "~25.0.0", "terser": "~5.15.1", "test": "~3.3.0", "testcontainers": "^11.12.0", "typescript": "~4.4.4", "v-pagination-3": "~0.1.7", "vite": "~8.1.2", "vite-plugin-compression": "^0.5.1", "vue": "~3.5.39", "vue-chartjs": "~5.2.0", "vue-contenteditable": "~3.0.4", "vue-i18n": "~11.2.8", "vue-image-crop-upload": "~3.0.3", "vue-multiselect": "~3.0.0", "vue-prism-editor": "~2.0.0-alpha.2", "vue-qrcode": "~1.0.1", "vue-router": "~4.2.5", "vue-toastification": "~2.0.0-rc.5", "vuedraggable": "~4.1.0", "wait-on": "^7.2.0", "whatwg-url": "~12.0.1" }, "overrides": { "@aws-sdk/credential-providers": "npm:useless-module@1.0.0", "tedious": { "@azure/identity": "npm:useless-module@1.0.0", "@azure/keyvault-keys": "npm:useless-module@1.0.0" }, "knex": "$knex" }, "allowScripts": { "better-sqlite3@12.11.1": true, "@fortawesome/fontawesome-common-types@0.2.36": true, "@fortawesome/fontawesome-svg-core@1.2.36": true, "@fortawesome/free-regular-svg-icons@5.15.4": true, "@fortawesome/free-solid-svg-icons@5.15.4": true, "core-js@2.6.12": true, "core-js@3.26.1": true, "cpu-features@0.0.10": true, "protobufjs@7.5.4": true, "protobufjs@7.6.1": true, "protobufjs@7.2.6": true, "protobufjs@7.6.6": true, "oracledb@6.10.0": true, "ssh2@1.17.0": true, "vue-demi@0.12.5": true, "esbuild@0.28.2": true, "@parcel/watcher@2.6.0": true } }