UNPKG

@switchbot/homebridge-switchbot

Version:

The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.

119 lines 4.18 kB
{ "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" } }