{
  "name": "homebridge-plugin-utils",
  "version": "2.1.0",
  "displayName": "Homebridge Plugin Utilities",
  "description": "Opinionated utilities to provide common capabilities and create rich configuration webUI experiences for Homebridge plugins.",
  "author": {
    "name": "HJD",
    "url": "https://github.com/hjdhjd"
  },
  "homepage": "https://github.com/hjdhjd/homebridge-plugin-utils#readme",
  "license": "ISC",
  "repository": {
    "type": "git",
    "url": "git://github.com/hjdhjd/homebridge-plugin-utils.git"
  },
  "bugs": {
    "url": "http://github.com/hjdhjd/homebridge-plugin-utils/issues"
  },
  "type": "module",
  "engines": {
    "node": ">=22.20"
  },
  "keywords": [
    "homebridge",
    "homebridge-developer",
    "homebridge-plugin-developer",
    "homekit",
    "homekit secure video",
    "hksv",
    "camera"
  ],
  "scripts": {
    "build": "npm run clean && tsc -p tsconfig.build.json && tsc -p tsconfig.eslint-plugin.json && node build/fs-ops.mjs finalize",
    "build-docs": "node build/fs-ops.mjs clean-docs && npx typedoc",
    "build-ui": "node build/fs-ops.mjs build-ui",
    "clean": "node build/fs-ops.mjs clean dist && npm run build-ui",
    "lint": "eslint --max-warnings=${ESLINT_MAX_WARNINGS:-\"-1\"} eslint.config.mjs build src ui",
    "postpublish": "npm run clean",
    "prepublishOnly": "npm run lint && npm run typecheck && npm run build",
    "test": "node --import ./ui/test-loader.mjs --test --experimental-test-coverage --test-coverage-include='src/**/*.ts' --test-coverage-include='ui/**/*.mjs' --test-coverage-exclude='src/**/*.test.ts' --test-coverage-exclude='ui/**/*.test.mjs' --test-coverage-exclude='ui/**/*.helpers.mjs' --test-coverage-exclude='ui/test-loader.mjs' --test-coverage-lines=85 --test-coverage-branches=80 --test-coverage-functions=85 --test-timeout=15000 \"src/**/*.test.ts\" \"ui/**/*.test.mjs\" \"build/**/*.test.mjs\"",
    "test:all": "npm run test && npm run test:e2e",
    "test:e2e": "node --import ./ui/test-loader.mjs --test --test-timeout=120000 \"test/e2e/**/*.test.ts\" \"test/e2e/**/*.test.mjs\"",
    "test:focus": "node --import ./ui/test-loader.mjs --test --test-only --test-timeout=15000 \"src/**/*.test.ts\" \"ui/**/*.test.mjs\" \"build/**/*.test.mjs\"",
    "test:watch": "node --import ./ui/test-loader.mjs --test --watch \"src/**/*.test.ts\" \"ui/**/*.test.mjs\" \"build/**/*.test.mjs\"",
    "typecheck": "tsc --noEmit"
  },
  "main": "dist/index.js",
  "exports": {
    ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" },
    "./eslint": { "types": "./dist/eslint-plugin/index.d.mts", "import": "./build/eslint-plugin/index.mjs" },
    "./logclient": { "types": "./dist/logclient/index.d.ts", "import": "./dist/logclient/index.js" },
    "./package.json": "./package.json"
  },
  "bin": {
    "homebridge-plugin-utils": "dist/cli/index.js",
    "hblog": "dist/logclient/cli.js"
  },
  "devDependencies": {
    "@homebridge/hap-nodejs": "2.1.8",
    "@stylistic/eslint-plugin": "5.10.0",
    "@types/node": "26.1.1",
    "aedes": "1.0.2",
    "eslint": "9.39.2",
    "happy-dom": "20.10.6",
    "homebridge": "2.1.1",
    "typedoc": "0.28.20",
    "typedoc-plugin-markdown": "4.12.0",
    "typescript": "5.9.3",
    "typescript-eslint": "8.64.0"
  },
  "dependencies": {
    "mqtt": "5.15.2"
  }
}
