diff --git a/.github/workflows/attach-artifact.yml b/.github/workflows/attach-artifact.yml index e4668e30b..651547c01 100644 --- a/.github/workflows/attach-artifact.yml +++ b/.github/workflows/attach-artifact.yml @@ -13,7 +13,7 @@ jobs: - name: Setup node uses: actions/setup-node@v1 with: - node-version: 16.x + node-version: 20.x # Sanity check to ensure that release tags don't start with a 'v' version prefix but adhere to the X.Y.Z format - name: Check for Tag name Format diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e52cc351c..165c892e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,20 +27,20 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - node-version: [16.x, 17.x, 18.x] + node-version: [18.x, 20.x] include: - - os: macos-latest - node-version: 16.x - os: macos-latest node-version: 18.x - - os: windows-2019 - node-version: 16.x + - os: macos-latest + node-version: 20.x - os: windows-2019 node-version: 18.x - - os: windows-latest - node-version: 16.x + - os: windows-2019 + node-version: 20.x - os: windows-latest node-version: 18.x + - os: windows-latest + node-version: 20.x runs-on: ${{ matrix.os }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 31a8972a5..81664157f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,20 +7,20 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node-version: [16.x, 17.x, 18.x] + node-version: [18.x, 20.x] include: - - os: macos-latest - node-version: 16.x - os: macos-latest node-version: 18.x - - os: windows-2019 - node-version: 16.x + - os: macos-latest + node-version: 20.x - os: windows-2019 node-version: 18.x - - os: windows-latest - node-version: 16.x + - os: windows-2019 + node-version: 20.x - os: windows-latest node-version: 18.x + - os: windows-latest + node-version: 20.x runs-on: ${{ matrix.os }} diff --git a/package.json b/package.json index 508189c64..2740293bc 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "homebridge": ">=1.6.0" }, "scripts": { + "check": "npm install && npm outdated", "watch": "concurrently \"npm run watch:ui\" \"npm run watch:server\"", "watch:server": "nodemon", "watch:ui": "npm run start --prefix ui", diff --git a/ui/package-lock.json b/ui/package-lock.json index eecce593d..aedca7fb5 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -19,7 +19,7 @@ "@angular/platform-browser-dynamic": "^14.1.1", "@angular/router": "^14.1.1", "@auth0/angular-jwt": "^5.0.2", - "@homebridge/plugin-ui-utils": "0.1.0", + "@homebridge/plugin-ui-utils": "0.0.19", "@ng-bootstrap/ng-bootstrap": "^11.0.1", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", @@ -3039,9 +3039,9 @@ "dev": true }, "node_modules/@homebridge/plugin-ui-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-0.1.0.tgz", - "integrity": "sha512-dFpXhSy/+moDzOf8yRZxeuqZOAHTA0bZDElMXnO98cequ+7kPmX+wgREYVrYcHZYtJK744nD1n7qT2gy/E/yFg==" + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-0.0.19.tgz", + "integrity": "sha512-axFX7lN2Yd7bz/6SlD7dzq5sY/N9+XYuLHPukuiyHQRDtNMRL1uDqJhOx6RVaN2tYDHB75h7YxRQWP7U44Mgzg==" }, "node_modules/@humanwhocodes/config-array": { "version": "0.9.5", @@ -8594,15 +8594,15 @@ "dev": true }, "node_modules/hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, "dependencies": { "lru-cache": "^7.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/hpack.js": { @@ -8648,9 +8648,9 @@ "dev": true }, "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "node_modules/http-deceiver": { @@ -9662,9 +9662,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -17137,9 +17137,9 @@ "dev": true }, "@homebridge/plugin-ui-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-0.1.0.tgz", - "integrity": "sha512-dFpXhSy/+moDzOf8yRZxeuqZOAHTA0bZDElMXnO98cequ+7kPmX+wgREYVrYcHZYtJK744nD1n7qT2gy/E/yFg==" + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/@homebridge/plugin-ui-utils/-/plugin-ui-utils-0.0.19.tgz", + "integrity": "sha512-axFX7lN2Yd7bz/6SlD7dzq5sY/N9+XYuLHPukuiyHQRDtNMRL1uDqJhOx6RVaN2tYDHB75h7YxRQWP7U44Mgzg==" }, "@humanwhocodes/config-array": { "version": "0.9.5", @@ -21303,9 +21303,9 @@ "dev": true }, "hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, "requires": { "lru-cache": "^7.5.1" @@ -21356,9 +21356,9 @@ "dev": true }, "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "http-deceiver": { @@ -22096,9 +22096,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonc-parser": { "version": "3.0.0", diff --git a/ui/package.json b/ui/package.json index e9bcd2bb0..2d797c227 100644 --- a/ui/package.json +++ b/ui/package.json @@ -3,6 +3,7 @@ "version": "0.0.0", "license": "MIT", "scripts": { + "check": "npm install && npm outdated", "ng": "ng", "start": "ng serve", "build": "ng build --configuration production --output-path=../public --source-map=false --aot=true", @@ -20,7 +21,7 @@ "@angular/platform-browser-dynamic": "^14.1.1", "@angular/router": "^14.1.1", "@auth0/angular-jwt": "^5.0.2", - "@homebridge/plugin-ui-utils": "0.1.0", + "@homebridge/plugin-ui-utils": "0.0.19", "@ng-bootstrap/ng-bootstrap": "^11.0.1", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", diff --git a/ui/src/app/core/manage-plugins/custom-plugins/custom-plugins.component.ts b/ui/src/app/core/manage-plugins/custom-plugins/custom-plugins.component.ts index 071c99dda..18ca7c191 100644 --- a/ui/src/app/core/manage-plugins/custom-plugins/custom-plugins.component.ts +++ b/ui/src/app/core/manage-plugins/custom-plugins/custom-plugins.component.ts @@ -131,7 +131,6 @@ export class CustomPluginsComponent implements OnInit, OnDestroy { case 'loaded': this.injectDefaultStyles(e); this.confirmReady(e); - this.uiLoaded = true; break; case 'request': { this.handleRequest(e); @@ -139,6 +138,7 @@ export class CustomPluginsComponent implements OnInit, OnDestroy { } case 'scrollHeight': this.setiFrameHeight(e); + this.uiLoaded = true; break; case 'config.get': { this.requestResponse(e, this.getConfigBlocks());