From 203bd4de329df49a8a116cc5eaa354b1dc91ac9b Mon Sep 17 00:00:00 2001 From: Markus Kling Date: Mon, 1 May 2023 15:36:53 +0000 Subject: [PATCH] Hotfix: Change dependencies to newest beta SDK --- docs/releasenotes/v02-00-00.md | 6 + docs/releasenotes/v02-00-04.md | 6 + package-lock.json | 173 ++++++++++-------- package.json | 18 +- scripts/download.js | 2 +- .../device-manager/DeviceManagerService.ts | 2 +- src/app/services/homey-api/HomeyAPIService.ts | 6 +- webpack.app.js | 6 +- 8 files changed, 118 insertions(+), 101 deletions(-) create mode 100644 docs/releasenotes/v02-00-04.md diff --git a/docs/releasenotes/v02-00-00.md b/docs/releasenotes/v02-00-00.md index edd2718d..4cf75abf 100644 --- a/docs/releasenotes/v02-00-00.md +++ b/docs/releasenotes/v02-00-00.md @@ -10,6 +10,12 @@ title: Release Notes v2.0.0 ### RC18 * **2.0.2** [Release notes](docs/releasenotes/v02-00-02.md) +### RC19 +* **2.0.3** [Release notes](docs/releasenotes/v02-00-03.md) + +### RC20 +* **2.0.4** [Release notes](docs/releasenotes/v02-00-04.md) + ## Docs Compatibility with Homey 3.0 SDK diff --git a/docs/releasenotes/v02-00-04.md b/docs/releasenotes/v02-00-04.md new file mode 100644 index 00000000..10f76f44 --- /dev/null +++ b/docs/releasenotes/v02-00-04.md @@ -0,0 +1,6 @@ +--- +layout: page +title: Release Notes v2.0.4 +--- + +(ries to fix an issue with dependencies for 10.* breaking 8.* homey versions. \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2ba6bed4..0716d015 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "d3": "^5.9.2", "date-fns": "^2.0.0-alpha.21", "graceful-fs": "^4.2.3", - "homey-api": "^1.10.20", + "homey-api": "^3.0.0-rc.19", "lodash": "^4.17.11", "material-ui-pickers": "^2.2.4", "natives": "^1.1.6", @@ -796,6 +796,26 @@ "node": ">= 8" } }, + "node_modules/@sentry/cli/node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@sentry/core": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", @@ -5458,29 +5478,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -7709,9 +7706,9 @@ } }, "node_modules/homey-api": { - "version": "1.10.20", - "resolved": "https://registry.npmjs.org/homey-api/-/homey-api-1.10.20.tgz", - "integrity": "sha512-PIA4ln5HVkqupJRPiFIYAm5LG9Pe95PGCDHHQHVi1WneE1M2NcBUJ38oEKNIVN0Op5jYl5YtdS4e65tSFkYGwg==", + "version": "3.0.0-rc.19", + "resolved": "https://registry.npmjs.org/homey-api/-/homey-api-3.0.0-rc.19.tgz", + "integrity": "sha512-dfC+C0m5CArEQXE4hjUAvKBP4CgRZ3LFLr6lrhwhIbVLXVqFPI+s6MwzXi4LSd/NV4qyWfhKEPQZ9HSmrrTrxQ==", "dependencies": { "core-js": "^3.19.1", "node-fetch": "^2.6.7", @@ -7732,6 +7729,25 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/homey-api/node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/homey/node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -8299,6 +8315,26 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "node_modules/homey/node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/homey/node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -11081,25 +11117,6 @@ "semver": "^5.7.0" } }, - "node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -17360,6 +17377,17 @@ "progress": "^2.0.3", "proxy-from-env": "^1.1.0", "which": "^2.0.2" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + } } }, "@sentry/core": { @@ -21200,28 +21228,6 @@ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "peer": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "peer": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -23365,6 +23371,15 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -23655,9 +23670,9 @@ } }, "homey-api": { - "version": "1.10.20", - "resolved": "https://registry.npmjs.org/homey-api/-/homey-api-1.10.20.tgz", - "integrity": "sha512-PIA4ln5HVkqupJRPiFIYAm5LG9Pe95PGCDHHQHVi1WneE1M2NcBUJ38oEKNIVN0Op5jYl5YtdS4e65tSFkYGwg==", + "version": "3.0.0-rc.19", + "resolved": "https://registry.npmjs.org/homey-api/-/homey-api-3.0.0-rc.19.tgz", + "integrity": "sha512-dfC+C0m5CArEQXE4hjUAvKBP4CgRZ3LFLr6lrhwhIbVLXVqFPI+s6MwzXi4LSd/NV4qyWfhKEPQZ9HSmrrTrxQ==", "requires": { "core-js": "^3.19.1", "node-fetch": "^2.6.7", @@ -23669,6 +23684,14 @@ "version": "3.30.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.0.tgz", "integrity": "sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==" + }, + "node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "requires": { + "whatwg-url": "^5.0.0" + } } } }, @@ -25555,14 +25578,6 @@ "semver": "^5.7.0" } }, - "node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", diff --git a/package.json b/package.json index e3c8406a..02a92624 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,10 @@ "@material-ui/icons": "^4.5.1", "@sentry/node": "^5.0.0", "body-scroll-lock": "^2.6.1", - "homey-api": "^1.10.20", "d3": "^5.9.2", "date-fns": "^2.0.0-alpha.21", "graceful-fs": "^4.2.3", + "homey-api": "^3.0.0-rc.19", "lodash": "^4.17.11", "material-ui-pickers": "^2.2.4", "natives": "^1.1.6", @@ -37,6 +37,7 @@ "@sentry/cli": "^1.40.0", "@types/chai": "^4.2.6", "@types/d3": "^5.7.2", + "@types/homey": "npm:homey-apps-sdk-v3-types@^0.3.4", "@types/lodash": "^4.14.123", "@types/mocha": "^5.2.6", "@types/mock-require": "^2.0.0", @@ -47,9 +48,8 @@ "@types/react-router-dom": "^5.1.3", "@types/socket.io-client": "^1.4.32", "@vitalets/google-translate-api": "^3.0.0", - "homey": "2.33.13", - "@types/homey": "npm:homey-apps-sdk-v3-types@^0.3.4", "awesome-typescript-loader": "^5.2.1", + "babel-loader": "^8.0.5", "chai": "^4.2.0", "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^5.0.5", @@ -58,6 +58,7 @@ "file-loader": "^5.0.2", "fstream": "^1.0.12", "glob": "^7.1.6", + "homey": "2.33.13", "html-webpack-plugin": "^5.5.1", "https": "^1.0.0", "license-checker-webpack-plugin": "^0.2.1", @@ -76,37 +77,28 @@ "unzipper": "^0.10.5", "webpack": "^5.79.0", "webpack-cli": "^5.0.1", - "webpack-dev-server": "^4.13.3", - "babel-loader": "^8.0.5" + "webpack-dev-server": "^4.13.3" }, "scripts": { "homey": "homey", - "homey:run": "rimraf /tmp/homey-heating && npm run build:app:dev && homey -p /tmp/homey-heating app run --remote", "homey:install": "rimraf /tmp/homey-heating && npm run build:app:prod && npm run build:web:prod && homey -p /tmp/homey-heating app install", - "dist": "npm run build:app:prod && npm run build:web:prod && homey -p /tmp/homey-heating app validate --level publish", "tag": "npm run lint:app && npm run lint:web && npm run test && git tag", "test": "", "test2": "rimraf tmp && tsc -p ./src/test/tsconfig.json && mocha", - "release:download": "node scripts/download.js", "release:install": "homey app install -p tmp", "release:publish": "homey app publish -p tmp", - "build:setversion": "node scripts/update-version.js", "build:sentry": "sentry-cli", - "lint:app": "tslint --project ./src/tsconfig.json", "lint:web": "tslint --project ./src/settings/tsconfig.json", - "build:app:releasenotes": "node scripts/release-notes.js", "build:app:dev": "webpack --mode development --config webpack.app.js", "build:app:prod": "npm run lint:app && npm run build:app:releasenotes && webpack --mode production --config webpack.app.js", - "build:web:dev": "webpack --mode development --config webpack.react.js", "build:web:prod": "npm run lint:web && webpack --mode production --config webpack.react.js", - "start:web": "webpack-dev-server --mode development --config webpack.react.js --open", "start:web:prod": "webpack-dev-server --mode production --config webpack.react.js --open" }, diff --git a/scripts/download.js b/scripts/download.js index 240171a4..537039fb 100644 --- a/scripts/download.js +++ b/scripts/download.js @@ -9,7 +9,7 @@ var branchName = process.argv.length >= 3 ? process.argv[2] : null; const options = { hostname: 'api.github.com', - path: '/repos/mskg/homey-heating/branches', + path: '/repos/mskg/homey-heating/branches?per_page=100', headers: { 'User-Agent': 'console' } }; diff --git a/src/app/services/device-manager/DeviceManagerService.ts b/src/app/services/device-manager/DeviceManagerService.ts index 1e211068..a8eec3d6 100644 --- a/src/app/services/device-manager/DeviceManagerService.ts +++ b/src/app/services/device-manager/DeviceManagerService.ts @@ -15,7 +15,7 @@ export type AuditedDevice = { } & IDevice; export function VirtualDevice(device: IDevice): boolean { - return device.driverUri.match(/app\.mskg\.homey\-heating/ig) != null; + return device.driverUri != null && device.driverUri.match(/app\.mskg\.homey\-heating/ig) != null; } export function CanSetTargetTemperature(device: IDevice): boolean { diff --git a/src/app/services/homey-api/HomeyAPIService.ts b/src/app/services/homey-api/HomeyAPIService.ts index 27b97794..af4c449d 100644 --- a/src/app/services/homey-api/HomeyAPIService.ts +++ b/src/app/services/homey-api/HomeyAPIService.ts @@ -1,5 +1,5 @@ import { App as HomeyApp } from "homey"; -import { HomeyAPIApp } from "homey-api"; +import { HomeyAPI } from "homey-api"; import { singleton } from "tsyringe"; import { ICategoryLogger, LoggerFactory } from "../log"; import { StableHomeyAPI } from "./api"; @@ -21,7 +21,9 @@ export class HomeyAPIService { if (this.homeyAPI == null) { try { this.logger.debug("Connecting to API"); - this.homeyAPI = new HomeyAPIApp({ homey, debug: !__PRODUCTION__ }) as StableHomeyAPI; + + //@ts-ignore + this.homeyAPI = await HomeyAPI.createAppAPI({ homey, debug: !__PRODUCTION__ }) as StableHomeyAPI; } catch (e) { this.logger.error(e, "CATASTROPHIC FAILURE **** CANNOT BE HANDELED *****"); diff --git a/webpack.app.js b/webpack.app.js index fb41b3f1..e75bdae9 100644 --- a/webpack.app.js +++ b/webpack.app.js @@ -95,10 +95,6 @@ var appConfig = (env, argv) => { from: 'node_modules/reflect-metadata/Reflect.js', to: distPath + '/node_modules/reflect-metadata/index.js' }, - { - from: 'node_modules/homey', - to: distPath + '/node_modules/homey' - }, { from: 'node_modules/homey-api', to: distPath + '/node_modules/homey-api' @@ -194,7 +190,7 @@ var appConfig = (env, argv) => { "@app/model": "@app/model", "@app/helper": "@app/helper", "@app/services": "@app/services", - "@app/flows": "@app/flows", + "@app/flows": "@app/flows" }, plugins: plugins,