diff --git a/.github/homebridge-beta-bot.json b/.github/homebridge-beta-bot.json index aa99f95..5a46517 100644 --- a/.github/homebridge-beta-bot.json +++ b/.github/homebridge-beta-bot.json @@ -16,6 +16,10 @@ "name": "homebridge", "pattern": "^2.0.0-beta" }, + { + "name": "homebridge-plugin-update-check", + "tag": "beta" + }, { "name": "node", "tag": "^22.x.x" @@ -33,6 +37,10 @@ "name": "homebridge", "pattern": "^2.0.0-beta" }, + { + "name": "homebridge-plugin-update-check", + "tag": "beta" + }, { "name": "node", "tag": "^24.x.x" diff --git a/beta/32bit/package-lock.json b/beta/32bit/package-lock.json index a1e5245..0ccfaa5 100644 --- a/beta/32bit/package-lock.json +++ b/beta/32bit/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "homebridge": "^2.0.0-beta.29", "homebridge-config-ui-x": "^5.5.1-beta.4", + "homebridge-plugin-update-check": "^2.0.0-beta.2", "node": "^22.19.0" } }, @@ -354,6 +355,12 @@ "node": ">=18.0.0 <25.0.0" } }, + "node_modules/@homebridge/plugin-ui-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-2.1.0.tgz", + "integrity": "sha512-tv395ATHOk79PHtnpK7xT642B2vGugGXhNv+4MY0J+tPaq+5yLkZAgOErxP7v8Z36xzsN9MEit6uPL52dzhaRQ==", + "license": "MIT" + }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -2382,6 +2389,40 @@ ], "license": "BSD-3-Clause" }, + "node_modules/homebridge-plugin-update-check": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/homebridge-plugin-update-check/-/homebridge-plugin-update-check-2.0.0-beta.2.tgz", + "integrity": "sha512-2FNKJ/gkVQqEsexdvHh+SWta5coSr2iM2CUwC7KTtsAKaPN7+CoxIl+4Qr8Dbg4N70jNGFagYkeCN4iyqQOCVg==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/sunookitsune" + }, + { + "type": "paypal", + "url": "https://paypal.me/sunoo" + }, + { + "type": "github", + "url": "https://github.com/Sunoo" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/Sunoo" + } + ], + "license": "BSD-2-Clause", + "dependencies": { + "@homebridge/plugin-ui-utils": "^2.0.0", + "axios": "^1.7.8", + "jsonwebtoken": "^9.0.2", + "npm-check-updates": "^17.1.11" + }, + "engines": { + "homebridge": "^1.8.5 || ^2.0.0 || ^2.0.0-beta.23 || ^2.0.0-alpha.37", + "node": "^20 || ^22" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -3303,6 +3344,20 @@ "node": ">=6" } }, + "node_modules/npm-check-updates": { + "version": "17.1.18", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-17.1.18.tgz", + "integrity": "sha512-bkUy2g4v1i+3FeUf5fXMLbxmV95eG4/sS7lYE32GrUeVgQRfQEk39gpskksFunyaxQgTIdrvYbnuNbO/pSUSqw==", + "license": "Apache-2.0", + "bin": { + "ncu": "build/cli.js", + "npm-check-updates": "build/cli.js" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0", + "npm": ">=8.12.1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", diff --git a/beta/32bit/package.json b/beta/32bit/package.json index c267139..515482e 100644 --- a/beta/32bit/package.json +++ b/beta/32bit/package.json @@ -23,6 +23,7 @@ "dependencies": { "homebridge": "^2.0.0-beta.29", "homebridge-config-ui-x": "^5.5.1-beta.4", + "homebridge-plugin-update-check": "^2.0.0-beta.2", "node": "^22.19.0" } -} +} \ No newline at end of file diff --git a/beta/64bit/package-lock.json b/beta/64bit/package-lock.json index ae97ee0..47d878a 100644 --- a/beta/64bit/package-lock.json +++ b/beta/64bit/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "homebridge": "^2.0.0-beta.29", "homebridge-config-ui-x": "^5.5.1-beta.4", + "homebridge-plugin-update-check": "^2.0.0-beta.2", "node": "^24.7.0" } }, @@ -354,6 +355,12 @@ "node": ">=18.0.0 <25.0.0" } }, + "node_modules/@homebridge/plugin-ui-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-2.1.0.tgz", + "integrity": "sha512-tv395ATHOk79PHtnpK7xT642B2vGugGXhNv+4MY0J+tPaq+5yLkZAgOErxP7v8Z36xzsN9MEit6uPL52dzhaRQ==", + "license": "MIT" + }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -2382,6 +2389,40 @@ ], "license": "BSD-3-Clause" }, + "node_modules/homebridge-plugin-update-check": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/homebridge-plugin-update-check/-/homebridge-plugin-update-check-2.0.0-beta.2.tgz", + "integrity": "sha512-2FNKJ/gkVQqEsexdvHh+SWta5coSr2iM2CUwC7KTtsAKaPN7+CoxIl+4Qr8Dbg4N70jNGFagYkeCN4iyqQOCVg==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/sunookitsune" + }, + { + "type": "paypal", + "url": "https://paypal.me/sunoo" + }, + { + "type": "github", + "url": "https://github.com/Sunoo" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/Sunoo" + } + ], + "license": "BSD-2-Clause", + "dependencies": { + "@homebridge/plugin-ui-utils": "^2.0.0", + "axios": "^1.7.8", + "jsonwebtoken": "^9.0.2", + "npm-check-updates": "^17.1.11" + }, + "engines": { + "homebridge": "^1.8.5 || ^2.0.0 || ^2.0.0-beta.23 || ^2.0.0-alpha.37", + "node": "^20 || ^22" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -3303,6 +3344,20 @@ "node": ">=6" } }, + "node_modules/npm-check-updates": { + "version": "17.1.18", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-17.1.18.tgz", + "integrity": "sha512-bkUy2g4v1i+3FeUf5fXMLbxmV95eG4/sS7lYE32GrUeVgQRfQEk39gpskksFunyaxQgTIdrvYbnuNbO/pSUSqw==", + "license": "Apache-2.0", + "bin": { + "ncu": "build/cli.js", + "npm-check-updates": "build/cli.js" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0", + "npm": ">=8.12.1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", diff --git a/beta/64bit/package.json b/beta/64bit/package.json index 9176576..06621ff 100644 --- a/beta/64bit/package.json +++ b/beta/64bit/package.json @@ -23,6 +23,7 @@ "dependencies": { "homebridge": "^2.0.0-beta.29", "homebridge-config-ui-x": "^5.5.1-beta.4", + "homebridge-plugin-update-check": "^2.0.0-beta.2", "node": "^24.7.0" } -} +} \ No newline at end of file diff --git a/build.sh b/build.sh index 9d9f3ab..05a6d2c 100755 --- a/build.sh +++ b/build.sh @@ -42,6 +42,7 @@ cp "$PACKAGE_JSON_PATH" staging/opt/homebridge/package.json NODE_VERSION=$(jq -r '.dependencies.node | gsub("^\\^"; "v")' "$PACKAGE_JSON_PATH") HOMEBRIDGE_VERSION=$(jq -r '.dependencies["homebridge"]' "$PACKAGE_JSON_PATH") HOMEBRIDGE_UIX_VERSION=$(jq -r '.dependencies["homebridge-config-ui-x"]' "$PACKAGE_JSON_PATH") +HOMEBRIDGE_PLUGIN_UPDATE_CHECK_VERSION=$(jq -r '.dependencies["homebridge-plugin-update-check"]' "$PACKAGE_JSON_PATH") MAJOR_NODE=$(jq -r '.dependencies.node | gsub("^\\^"; "")' "$PACKAGE_JSON_PATH" | cut -d. -f1) @@ -99,6 +100,12 @@ export npm_config_loglevel=error npm install --location=global homebridge-config-ui-x@$HOMEBRIDGE_UIX_VERSION echo "|Homebridge UI| $HOMEBRIDGE_UIX_VERSION |" >> "$MANIFEST" +# Only install homebridge-plugin-update-check if it exists in package.json +if [ "$HOMEBRIDGE_PLUGIN_UPDATE_CHECK_VERSION" != "null" ]; then + npm install --location=global homebridge-plugin-update-check@$HOMEBRIDGE_PLUGIN_UPDATE_CHECK_VERSION + echo "|Plugin Update Check| $HOMEBRIDGE_PLUGIN_UPDATE_CHECK_VERSION |" >> "$MANIFEST" +fi + npm install --prefix "$(pwd)/staging/var/lib/homebridge" homebridge@$HOMEBRIDGE_VERSION echo "|Homebridge| $HOMEBRIDGE_VERSION |" >> "$MANIFEST"