{
    "name": "uptime-kuma",
    "version": "2.0.0-dev",
    "license": "MIT",
    "repository": {
        "type": "git",
        "url": "https://github.com/louislam/uptime-kuma.git"
    },
    "engines": {
        "node": "18 || >= 20.4.0"
    },
    "scripts": {
        "lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .",
        "lint:js-prod": "npm run lint:js -- --max-warnings 0",
        "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": "npm run lint:js && npm run lint:style",
        "lint:prod": "npm run lint:js-prod && npm run lint:style",
        "dev": "concurrently -k -r \"wait-on tcp:3000 && npm run start-server-dev \" \"npm run start-frontend-dev\"",
        "start-frontend-dev": "cross-env NODE_ENV=development vite --host --config ./config/vite.config.js",
        "start-frontend-devcontainer": "cross-env NODE_ENV=development DEVCONTAINER=1 vite --host --config ./config/vite.config.js",
        "start": "npm run start-server",
        "start-server": "node server/server.js",
        "start-server-dev": "cross-env NODE_ENV=development node server/server.js",
        "start-server-dev:watch": "cross-env NODE_ENV=development node --watch server/server.js",
        "build": "vite build --config ./config/vite.config.js",
        "test": "npm run test-backend && npm run test-e2e",
        "test-with-build": "npm run build && npm test",
        "test-backend": "node extra/test-backend.mjs",
        "test-backend-node20": "cross-env TEST_BACKEND=1 node --test test/backend-test",
        "test-backend-node22": "cross-env TEST_BACKEND=1 node --test test/backend-test/**/test-*.js",
        "test-e2e": "playwright test --config ./config/playwright.config.js",
        "test-e2e-ui": "playwright test --config ./config/playwright.config.js --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",
        "tsc": "tsc",
        "vite-preview-dist": "vite preview --host --config ./config/vite.config.js",
        "build-docker": "npm run build && npm run build-docker-full && npm run build-docker-slim",
        "build-docker-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base2 --target base2 . --push",
        "build-docker-base-slim": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base2-slim --target base2-slim . --push",
        "build-docker-builder-go": "docker buildx build -f docker/builder-go.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:builder-go . --push",
        "build-docker-slim": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2-slim -t louislam/uptime-kuma:$VERSION-slim --target release --build-arg BASE_IMAGE=louislam/uptime-kuma:base2-slim . --push",
        "build-docker-full": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2 -t louislam/uptime-kuma:$VERSION --target release . --push",
        "build-docker-nightly": "node ./extra/test-docker.js && npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly2 --target nightly . --push",
        "build-docker-slim-rootless": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2-slim-rootless -t louislam/uptime-kuma:$VERSION-slim-rootless --target rootless --build-arg BASE_IMAGE=louislam/uptime-kuma:base2-slim . --push",
        "build-docker-full-rootless": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2-rootless -t louislam/uptime-kuma:$VERSION-rootless --target rootless . --push",
        "build-docker-nightly-rootless": "node ./extra/test-docker.js && npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly2-rootless --target nightly-rootless . --push",
        "build-docker-nightly-local": "npm run build && docker build -f docker/dockerfile -t louislam/uptime-kuma:nightly2 --target nightly .",
        "build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test2 --target pr-test2 . --push",
        "upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
        "setup": "git checkout 1.23.14 && npm ci --production && npm run download-dist",
        "download-dist": "node extra/download-dist.js",
        "mark-as-nightly": "node extra/mark-as-nightly.js",
        "reset-password": "node extra/reset-password.js",
        "remove-2fa": "node extra/remove-2fa.js",
        "simple-dns-server": "node extra/simple-dns-server.js",
        "simple-mqtt-server": "node extra/simple-mqtt-server.js",
        "simple-mongo": "docker run --rm -p 27017:27017 mongo",
        "simple-postgres": "docker run --rm -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres",
        "simple-mariadb": "docker run --rm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb# mariadb",
        "update-language-files": "cd extra/update-language-files && node index.js && cross-env-shell eslint ../../src/languages/$npm_config_language.js --fix",
        "release-final": "node ./extra/test-docker.js && node extra/update-version.js && npm run build-docker && node ./extra/press-any-key.js && npm run upload-artifacts && node ./extra/update-wiki-version.js",
        "release-beta": "node ./extra/test-docker.js && node extra/beta/update-version.js && npm run build && node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:$VERSION -t louislam/uptime-kuma:beta .  --target release --push && node ./extra/press-any-key.js && npm run upload-artifacts",
        "git-remove-tag": "git tag -d",
        "build-dist-and-restart": "npm run build && npm run start-server-dev",
        "start-pr-test": "node extra/checkout-pr.js && npm install && npm run dev",
        "build-healthcheck-armv7": "cross-env GOOS=linux GOARCH=arm GOARM=7 go build -x -o ./extra/healthcheck-armv7 ./extra/healthcheck.go",
        "deploy-demo-server": "node extra/deploy-demo-server.js",
        "sort-contributors": "node extra/sort-contributors.js",
        "quick-run-nightly": "docker run --rm --env NODE_ENV=development -p 3001:3001 louislam/uptime-kuma:nightly2",
        "start-dev-container": "cd docker && docker-compose -f docker-compose-dev.yml up --force-recreate",
        "rebase-pr-to-1.23.X": "node extra/rebase-pr.js 1.23.X"
    },
    "dependencies": {
        "@grpc/grpc-js": "~1.8.22",
        "@louislam/ping": "~0.4.4-mod.1",
        "@louislam/sqlite3": "15.1.6",
        "@vvo/tzdb": "^6.125.0",
        "args-parser": "~1.3.0",
        "axios": "~0.28.1",
        "badge-maker": "~3.3.1",
        "bcryptjs": "~2.4.3",
        "chardet": "~1.4.0",
        "check-password-strength": "^2.0.5",
        "cheerio": "~1.0.0-rc.12",
        "chroma-js": "~2.4.2",
        "command-exists": "~1.2.9",
        "compare-versions": "~3.6.0",
        "compression": "~1.7.4",
        "croner": "~8.1.0",
        "dayjs": "~1.11.5",
        "dev-null": "^0.1.1",
        "dotenv": "~16.0.3",
        "express": "~4.21.0",
        "express-basic-auth": "~1.2.1",
        "express-static-gzip": "~2.1.7",
        "feed": "^4.2.2",
        "form-data": "~4.0.0",
        "gamedig": "^4.2.0",
        "html-escaper": "^3.0.3",
        "http-cookie-agent": "~5.0.4",
        "http-graceful-shutdown": "~3.1.7",
        "http-proxy-agent": "~5.0.0",
        "https-proxy-agent": "~5.0.1",
        "iconv-lite": "~0.6.3",
        "isomorphic-ws": "^5.0.0",
        "jsesc": "~3.0.2",
        "jsonata": "^2.0.3",
        "jsonwebtoken": "~9.0.0",
        "jwt-decode": "~3.1.2",
        "kafkajs": "^2.2.4",
        "knex": "^2.4.2",
        "limiter": "~2.1.0",
        "liquidjs": "^10.7.0",
        "marked": "^14.0.0",
        "mitt": "~3.0.1",
        "mongodb": "~4.17.1",
        "mqtt": "~4.3.7",
        "mssql": "~11.0.0",
        "mysql2": "~3.9.6",
        "nanoid": "~3.3.4",
        "net-snmp": "^3.11.2",
        "node-cloudflared-tunnel": "~1.0.9",
        "node-radius-client": "~1.0.0",
        "nodemailer": "~6.9.13",
        "nostr-tools": "^1.13.1",
        "notp": "~2.0.3",
        "openid-client": "^5.4.2",
        "password-hash": "~1.2.2",
        "pg": "~8.11.3",
        "pg-connection-string": "~2.6.2",
        "playwright-core": "~1.39.0",
        "prom-client": "~13.2.0",
        "prometheus-api-metrics": "~3.2.1",
        "promisify-child-process": "~4.1.2",
        "protobufjs": "~7.2.4",
        "qs": "~6.10.4",
        "redbean-node": "~0.3.0",
        "redis": "~4.5.1",
        "semver": "~7.5.4",
        "socket.io": "~4.8.0",
        "socket.io-client": "~4.8.0",
        "socks-proxy-agent": "6.1.1",
        "tar": "~6.2.1",
        "tcp-ping": "~0.1.1",
        "thirty-two": "~1.0.2",
        "tough-cookie": "~4.1.3",
        "ws": "^8.13.0"
    },
    "devDependencies": {
        "@actions/github": "~5.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.0.0-5",
        "@playwright/test": "~1.39.0",
        "@popperjs/core": "~2.10.2",
        "@testcontainers/hivemq": "^10.13.1",
        "@testcontainers/rabbitmq": "^10.13.2",
        "@types/bootstrap": "~5.1.9",
        "@types/node": "^20.8.6",
        "@typescript-eslint/eslint-plugin": "^6.7.5",
        "@typescript-eslint/parser": "^6.7.5",
        "@vitejs/plugin-vue": "~5.0.1",
        "@vue/compiler-sfc": "~3.4.2",
        "@vuepic/vue-datepicker": "~3.4.8",
        "aedes": "^0.46.3",
        "bootstrap": "5.1.3",
        "chart.js": "~4.2.1",
        "chartjs-adapter-dayjs-4": "~1.0.4",
        "concurrently": "^7.1.0",
        "core-js": "~3.26.1",
        "cronstrue": "~2.24.0",
        "cross-env": "~7.0.3",
        "delay": "^5.0.0",
        "dns2": "~2.0.1",
        "dompurify": "~3.1.7",
        "eslint": "~8.14.0",
        "eslint-plugin-jsdoc": "~46.4.6",
        "eslint-plugin-vue": "~8.7.1",
        "favico.js": "~0.3.10",
        "get-port-please": "^3.1.1",
        "node-ssh": "~13.1.0",
        "postcss-html": "~1.5.0",
        "postcss-rtlcss": "~3.7.2",
        "postcss-scss": "~4.0.4",
        "prismjs": "~1.29.0",
        "qrcode": "~1.5.0",
        "rollup-plugin-visualizer": "^5.6.0",
        "sass": "~1.42.1",
        "stylelint": "^15.10.1",
        "stylelint-config-standard": "~25.0.0",
        "terser": "~5.15.0",
        "test": "~3.3.0",
        "testcontainers": "^10.13.1",
        "typescript": "~4.4.4",
        "v-pagination-3": "~0.1.7",
        "vite": "~5.2.8",
        "vite-plugin-compression": "^0.5.1",
        "vite-plugin-vue-devtools": "^7.0.15",
        "vue": "~3.4.2",
        "vue-chartjs": "~5.2.0",
        "vue-confirm-dialog": "~1.0.2",
        "vue-contenteditable": "~3.0.4",
        "vue-i18n": "~9.2.2",
        "vue-image-crop-upload": "~3.0.3",
        "vue-multiselect": "~3.0.0-alpha.2",
        "vue-prism-editor": "~2.0.0-alpha.2",
        "vue-qrcode": "~1.0.0",
        "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"
    }
}
