{
  "name": "zwave-js-ui",
  "version": "10.1.5",
  "description": "Z-Wave Control Panel and MQTT Gateway",
  "keywords": [
    "mqtt",
    "zwave",
    "control-panel",
    "gateway",
    "hass",
    "homeassistant",
    "iot",
    "nodejs",
    "vue",
    "vuetify"
  ],
  "bugs": {
    "url": "https://github.com/zwave-js/zwave-js-ui/issues"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/zwave-js/zwave-js-ui"
  },
  "license": "MIT",
  "author": "Daniel Lando <daniel.sorridi@gmail.com>",
  "bin": "server/bin/www.js",
  "scripts": {
    "dev": "vite",
    "dev-https": "SERVER_SSL='true' npm run dev",
    "dev:server": "nodemon",
    "server": "node -r ./esbuild-register.js api/bin/www.ts",
    "fake-stick": "npx mock-server -- -c server_config.js",
    "start": "node --preserve-symlinks server/bin/www.js",
    "bundle": "node esbuild.js",
    "lint": "npm-run-all 'lint:*'",
    "lint-fix": "npm-run-all 'lint-fix:*'",
    "lint:eslint": "eslint --ext .js,.ts,.vue .",
    "lint-fix:eslint": "eslint --fix --ext .js,.ts,.vue .",
    "lint:markdownlint": "markdownlint '**/*.md'",
    "lint-fix:markdownlint": "markdownlint --fix '**/*.md'",
    "test": "npm-run-all 'test:*'",
    "test:server": "mocha -r ./esbuild-register.js './test/**/*.test.ts'",
    "test:ui": "mocha -r @babel/register src/modules",
    "docs": "docsify serve ./docs",
    "coverage": "c8 --clean npm run test",
    "record-coverage": "c8 report --reporter=text-lcov --all --exclude='test/*' --exclude=.git --exclude=.eslintrc.js --exclude=.postcssrc.js --exclude=wallaby.js > ./coverage/lcov.info",
    "build": "npm-run-all build:*",
    "build:server": "tsc",
    "build:ui": "vite build",
    "clean": "tsc --build --clean",
    "pkg": "chmod +x package.sh && ./package.sh",
    "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md",
    "changelog-init": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
    "release": "read -p 'GITHUB_TOKEN: ' GITHUB_TOKEN && export GITHUB_TOKEN=$GITHUB_TOKEN && release-it",
    "generate-pwa-assets": "npx @vite-pwa/assets-generator --preset minimal public/logo.svg",
    "browser": "chromium-browser --user-data-dir=/tmp/zui-data --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://localhost:8092 https://localhost:8092",
    "docker:build": "docker build -f docker/Dockerfile -t zwavejs/zwave-js-ui:latest .",
    "docker:run": "docker run -p 8092:8092 zwavejs/zwave-js-ui:latest"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ],
  "dependencies": {
    "@esm2cjs/escape-string-regexp": "^5.0.0",
    "@jamescoyle/vue-icon": "^0.1.2",
    "@kvaster/zwavejs-prom": "^0.0.3",
    "@mdi/js": "7.4.47",
    "@zwave-js/log-transport-json": "^3.0.0",
    "@zwave-js/server": "^3.0.0",
    "ansi_up": "^6.0.2",
    "archiver": "^7.0.1",
    "axios": "^1.7.2",
    "barcode-detector": "^2.2.11",
    "connect-history-api-fallback": "2.0.0",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "croner": "^8.0.2",
    "cronstrue": "^2.50.0",
    "csurf": "^1.11.0",
    "dotenv": "^16.4.5",
    "express": "^4.19.2",
    "express-rate-limit": "^7.3.1",
    "express-session": "^1.18.0",
    "extract-zip": "^2.0.1",
    "fs-extra": "^11.2.0",
    "js-logger": "^1.6.1",
    "jsonfile": "^6.1.0",
    "jsonwebtoken": "^9.0.2",
    "markdown-it": "^14.1.0",
    "merge": "^2.1.1",
    "morgan": "~1.10.0",
    "mqtt": "^5.7.2",
    "mqtt-jsonl-store": "^0.2.1",
    "multer": "^1.4.5-lts.1",
    "native-url": "^0.3.4",
    "nprogress": "^0.2.0",
    "pinia": "^2.1.7",
    "prismjs": "^1.29.0",
    "qr-scanner": "^1.4.2",
    "selfsigned": "^2.4.1",
    "session-file-store": "^1.5.0",
    "socket.io": "^4.7.5",
    "socket.io-client": "^4.7.5",
    "uplot": "^1.6.30",
    "v-snackbars": "^3.2.8",
    "vis-data": "^7.1.9",
    "vis-network": "^9.1.9",
    "vue": "^2.7.14",
    "vue-prism-editor": "^1.3.0",
    "vue-router": "^3.6.5",
    "vuedraggable": "^2.24.3",
    "vuetify": "^2.7.2",
    "winston": "^3.13.0",
    "winston-daily-rotate-file": "^5.0.0",
    "zwave-js": "^15.0.5",
    "zxing-wasm": "^1.2.15"
  },
  "devDependencies": {
    "@actions/github": "^6.0.0",
    "@babel/register": "^7.24.6",
    "@release-it/conventional-changelog": "^8.0.1",
    "@tsconfig/node18": "^18.2.4",
    "@types/archiver": "^6.0.2",
    "@types/chai": "^4.3.16",
    "@types/chai-as-promised": "^7.1.8",
    "@types/connect-history-api-fallback": "^1.5.4",
    "@types/csurf": "^1.11.5",
    "@types/express": "^4.17.21",
    "@types/express-rate-limit": "^5.1.3",
    "@types/express-session": "1.18.0",
    "@types/extract-zip": "^2.0.1",
    "@types/fs-extra": "^11.0.4",
    "@types/jsonfile": "^6.1.4",
    "@types/jsonwebtoken": "^9.0.6",
    "@types/mocha": "^10.0.6",
    "@types/morgan": "^1.9.9",
    "@types/multer": "^1.4.11",
    "@types/node": "^20.14.6",
    "@types/proxyquire": "^1.3.31",
    "@types/sinon-chai": "^3.2.12",
    "@typescript-eslint/eslint-plugin": "^7.13.1",
    "@typescript-eslint/parser": "^7.13.1",
    "@vitejs/plugin-vue2": "^2.3.1",
    "@yao-pkg/pkg": "^6.1.1",
    "c8": "^10.1.2",
    "chai": "^4.4.1",
    "chai-as-promised": "^8.0.0",
    "conventional-changelog-cli": "^5.0.0",
    "docsify": "^4.13.1",
    "docsify-cli": "^4.4.4",
    "esbuild": "^0.25.1",
    "esbuild-register": "^3.5.0",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-babel": "^5.3.1",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "^5.1.3",
    "eslint-plugin-promise": "^6.2.0",
    "eslint-plugin-vue": "^9.26.0",
    "markdownlint-cli": "^0.41.0",
    "material-design-icons-iconfont": "^6.7.0",
    "mocha": "^10.4.0",
    "nodemon": "^3.1.3",
    "npm-run-all": "^4.1.5",
    "prettier": "^3.3.2",
    "proxyquire": "^2.1.3",
    "release-it": "^17.3.0",
    "rimraf": "^5.0.7",
    "sass": "1.77.6",
    "semver": "^7.6.2",
    "sinon": "^18.0.0",
    "sinon-chai": "^3.7.0",
    "ts-morph": "^20.0.0",
    "ts-node": "^10.9.2",
    "typescript": "^5.4.5",
    "vite": "^5.3.1",
    "vite-plugin-pwa": "^0.20.0",
    "vue-template-compiler": "^2.7.16"
  },
  "overrides": {
    "rollup": "npm:@rollup/wasm-node"
  },
  "engines": {
    "node": ">= 20"
  },
  "pkg": {
    "scripts": [
      "server/**/*",
      "node_modules/axios/dist/node/*"
    ],
    "assets": [
      "dist/**/*",
      "snippets/**",
      "node_modules/@serialport/**",
      "node_modules/@zwave-js/serial/node_modules/@serialport/**",
      "node_modules/zwave-js/node_modules/@serialport/**",
      "node_modules/@zwave-js/config/config/**"
    ]
  },
  "release-it": {
    "github": {
      "release": true,
      "assets": [
        "build/pkg/*.zip"
      ]
    },
    "git": {
      "tagName": "v${version}",
      "requireCleanWorkingDir": false
    },
    "hooks": {
      "before:release": "./package.sh --bundle"
    },
    "npm": {
      "publish": true
    },
    "plugins": {
      "@release-it/conventional-changelog": {
        "preset": "angular",
        "infile": "CHANGELOG.md"
      }
    }
  }
}
