{
  "name": "@switchbot/homebridge-switchbot",
  "displayName": "SwitchBot",
  "type": "module",
  "version": "5.0.3",
  "description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
  "author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
  "contributors": [
    {
      "name": "Donavan Becker",
      "url": "https://github.com/donavanbecker"
    }
  ],
  "license": "ISC",
  "funding": [
    {
      "type": "Paypal",
      "url": "https://paypal.me/donavanbecker"
    },
    {
      "type": "GitHub",
      "url": "https://github.com/sponsors/donavanbecker"
    }
  ],
  "homepage": "https://github.com/OpenWonderLabs/homebridge-switchbot#readme",
  "repository": {
    "type": "git",
    "url": "git://github.com/OpenWonderLabs/homebridge-switchbot.git"
  },
  "bugs": {
    "url": "https://github.com/OpenWonderLabs/homebridge-switchbot/issues"
  },
  "keywords": [
    "homebridge-plugin",
    "switchbot",
    "lights",
    "fan",
    "outlet",
    "hub",
    "lightstrip",
    "motion",
    "contact",
    "vacuum",
    "lock",
    "humidifier",
    "humidity",
    "temperature",
    "bot",
    "curtains",
    "windows",
    "ble",
    "ir"
  ],
  "main": "dist/index.js",
  "bin": {},
  "icon": "https://raw.githubusercontent.com/OpenWonderLabs/homebridge-switchbot/latest/branding/icon.png",
  "engineStrict": true,
  "engines": {
    "homebridge": "^2.0.0-beta.89",
    "node": "^22 || ^24"
  },
  "directories": {
    "doc": "docs"
  },
  "scripts": {
    "sync:device-types": "node scripts/sync-device-types.mjs",
    "check": "npm install && npm outdated",
    "ports:free": "node scripts/free-dev-ports.mjs",
    "typecheck": "tsc --noEmit",
    "lint": "eslint --no-warn-ignored src/**/*.ts test/**/*.ts src/homebridge-ui/**/*.html src/homebridge-ui/public/js/*.ts && npm run typecheck",
    "lint:src": "eslint --no-warn-ignored src/**/*.ts",
    "lint:test": "eslint --no-warn-ignored test/**/*.ts",
    "lint:ui": "eslint --no-warn-ignored src/homebridge-ui/**/*.html",
    "lint:fix": "eslint --no-warn-ignored src/**/*.ts test/**/*.ts src/homebridge-ui/**/*.html src/homebridge-ui/public/js/*.ts --fix && npm run typecheck",
    "watch": "npm run ports:free && npm run build && npm run build:ui && npm run plugin-ui && npm link && nodemon",
    "watch:ui": "npm run ports:free && bash -c 'npx homebridge -I -U -D ~/.homebridge-dev & HB_PID=$!; sleep 6; UIX_STORAGE_PATH=~/.homebridge-dev node ./node_modules/homebridge-config-ui-x/dist/bin/standalone.js & npm run watch:files'",
    "watch:files": "nodemon",
    "plugin-ui": "mkdir -p ./dist/homebridge-ui/public && if [ -d ./src/homebridge-ui/public ]; then rsync -a ./src/homebridge-ui/public/ ./dist/homebridge-ui/public/; fi && node scripts/build-ui.js",
    "build": "npm run sync:device-types && npm run clean && tsc && npm run plugin-ui",
    "build:ui": "tsc --project tsconfig.ui.json",
    "prepublishOnly": "npm run lint && npm run build && npm run build:ui && npm run plugin-ui && npm run docs && npm run docs:lint",
    "postpublish": "npm run clean && npm ci",
    "clean": "shx rm -rf ./dist",
    "test": "vitest run",
    "test:watch": "vitest watch",
    "test-coverage": "npm run test -- --coverage",
    "docs": "typedoc",
    "docs:lint": "typedoc --emit none --treatWarningsAsErrors"
  },
  "publishConfig": {
    "access": "public"
  },
  "dependencies": {
    "@homebridge/plugin-ui-utils": "^2.2.3",
    "class-validator": "^0.15.1",
    "node-switchbot": "^4.0.1"
  },
  "devDependencies": {
    "@antfu/eslint-config": "^8.2.0",
    "@types/debug": "^4.1.13",
    "@types/fs-extra": "^11.0.4",
    "@types/node": "^25.6.0",
    "@types/semver": "^7.7.1",
    "@types/source-map-support": "^0.5.10",
    "@vitest/coverage-v8": "^4.1.4",
    "esbuild": "^0.28.0",
    "eslint": "^10.2.0",
    "eslint-plugin-format": "^2.0.1",
    "eslint-plugin-html": "^8.1.4",
    "eslint-plugin-perfectionist": "^5.8.0",
    "homebridge": "^2.0.0-beta.89",
    "homebridge-config-ui-x": "^5.21.0",
    "nodemon": "^3.1.14",
    "shx": "^0.4.0",
    "typedoc": "^0.28.19",
    "typescript": "^6.0.2",
    "vitest": "^4.1.4"
  }
}