From e201ea1fc1124baa5d3372c625e6bb1efe95a475 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Thu, 23 Jan 2025 13:11:31 -0800 Subject: [PATCH] doorbird: fix build --- plugins/doorbird/package-lock.json | 91 ++++++++++++++++++------------ plugins/doorbird/package.json | 2 +- plugins/doorbird/src/main.ts | 20 +++---- plugins/doorbird/tsconfig.json | 1 + 4 files changed, 66 insertions(+), 48 deletions(-) diff --git a/plugins/doorbird/package-lock.json b/plugins/doorbird/package-lock.json index 13a1072e5..5fb8e07a2 100644 --- a/plugins/doorbird/package-lock.json +++ b/plugins/doorbird/package-lock.json @@ -13,7 +13,7 @@ "devDependencies": { "@scrypted/common": "file:../../common", "@scrypted/sdk": "file:../../sdk", - "@types/node": "^18.15.11", + "@types/node": "^22.10.10", "cross-env": "^7.0.3" } }, @@ -24,36 +24,41 @@ "license": "ISC", "dependencies": { "@scrypted/sdk": "file:../sdk", - "@scrypted/server": "file:../server", "http-auth-utils": "^5.0.1", - "node-fetch-commonjs": "^3.1.1", - "typescript": "^5.3.3" + "typescript": "^5.5.3" }, "devDependencies": { - "@types/node": "^20.10.8", + "@types/node": "^20.11.0", + "monaco-editor": "^0.50.0", "ts-node": "^10.9.2" } }, "../../sdk": { "name": "@scrypted/sdk", - "version": "0.3.4", + "version": "0.3.108", "dev": true, "license": "ISC", "dependencies": { - "@babel/preset-typescript": "^7.18.6", - "adm-zip": "^0.4.13", - "axios": "^1.6.5", - "babel-loader": "^9.1.0", - "babel-plugin-const-enum": "^1.1.0", - "esbuild": "^0.15.9", + "@babel/preset-typescript": "^7.26.0", + "@rollup/plugin-commonjs": "^28.0.1", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.3.0", + "@rollup/plugin-typescript": "^12.1.1", + "@rollup/plugin-virtual": "^3.0.2", + "adm-zip": "^0.5.16", + "axios": "^1.7.8", + "babel-loader": "^9.2.1", + "babel-plugin-const-enum": "^1.2.0", "ncp": "^2.0.0", "raw-loader": "^4.0.2", - "rimraf": "^3.0.2", - "tmp": "^0.2.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.4", - "webpack": "^5.75.0", - "webpack-bundle-analyzer": "^4.5.0" + "rimraf": "^6.0.1", + "rollup": "^4.27.4", + "tmp": "^0.2.3", + "ts-loader": "^9.5.1", + "tslib": "^2.8.1", + "typescript": "^5.6.3", + "webpack": "^5.96.1", + "webpack-bundle-analyzer": "^4.10.2" }, "bin": { "scrypted-changelog": "bin/scrypted-changelog.js", @@ -65,11 +70,9 @@ "scrypted-webpack": "bin/scrypted-webpack.js" }, "devDependencies": { - "@types/node": "^18.11.18", - "@types/stringify-object": "^4.0.0", - "stringify-object": "^3.3.0", - "ts-node": "^10.4.0", - "typedoc": "^0.23.21" + "@types/node": "^22.10.1", + "ts-node": "^10.9.2", + "typedoc": "^0.26.11" } }, "node_modules/@scrypted/common": { @@ -81,10 +84,14 @@ "link": true }, "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", - "dev": true + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } }, "node_modules/asynckit": { "version": "0.4.0", @@ -92,11 +99,12 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -145,10 +153,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -177,15 +186,16 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -307,6 +317,13 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT" + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/plugins/doorbird/package.json b/plugins/doorbird/package.json index 20c796dff..47a672ef3 100644 --- a/plugins/doorbird/package.json +++ b/plugins/doorbird/package.json @@ -38,7 +38,7 @@ "devDependencies": { "@scrypted/common": "file:../../common", "@scrypted/sdk": "file:../../sdk", - "@types/node": "^18.15.11", + "@types/node": "^22.10.10", "cross-env": "^7.0.3" } } diff --git a/plugins/doorbird/src/main.ts b/plugins/doorbird/src/main.ts index 25dac9160..52d9b3b90 100644 --- a/plugins/doorbird/src/main.ts +++ b/plugins/doorbird/src/main.ts @@ -1,13 +1,13 @@ -import { listenZero } from '@scrypted/common/src/listen-cluster'; -import sdk, { BinarySensor, Camera, DeviceProvider, DeviceCreator, DeviceCreatorSettings, DeviceInformation, FFmpegInput, Intercom, MediaObject, PictureOptions, ResponseMediaStreamOptions, ScryptedDeviceBase, ScryptedDeviceType, ScryptedInterface, ScryptedMimeTypes, Setting, Settings, VideoCamera, MotionSensor } from '@scrypted/sdk'; -import child_process, { ChildProcess } from 'child_process'; -import { ffmpegLogInitialOutput, safePrintFFmpegArguments } from "@scrypted/common/src/media-helpers"; -import net from 'net'; -import { randomBytes } from 'crypto'; -import { PassThrough, Readable } from "stream"; -import { readLength } from "@scrypted/common/src/read-stream"; import { authHttpFetch } from "@scrypted/common/src/http-auth-fetch"; -import { ApiRingEvent, ApiMotionEvent, DoorbirdAPI } from "./doorbird-api"; +import { listenZero } from '@scrypted/common/src/listen-cluster'; +import { ffmpegLogInitialOutput, safePrintFFmpegArguments } from "@scrypted/common/src/media-helpers"; +import { readLength } from "@scrypted/common/src/read-stream"; +import sdk, { BinarySensor, Camera, DeviceCreator, DeviceCreatorSettings, DeviceInformation, DeviceProvider, FFmpegInput, Intercom, MediaObject, MotionSensor, PictureOptions, ResponseMediaStreamOptions, ScryptedDeviceBase, ScryptedDeviceType, ScryptedInterface, ScryptedMimeTypes, Setting, Settings, VideoCamera } from '@scrypted/sdk'; +import child_process, { ChildProcess } from 'child_process'; +import { randomBytes } from 'crypto'; +import net from 'net'; +import { PassThrough, Readable } from "stream"; +import { ApiMotionEvent, ApiRingEvent, DoorbirdAPI } from "./doorbird-api"; const { deviceManager, mediaManager } = sdk; @@ -384,7 +384,7 @@ class DoorbirdCamera extends ScryptedDeviceBase implements Intercom, Camera, Vid this.console.log('Doorbird: timed out waiting for tcp client from ffmpeg'); server.close(); }, 30000); - const port = await listenZero(server); + const port = await listenZero(server, '127.0.0.1'); return port; } diff --git a/plugins/doorbird/tsconfig.json b/plugins/doorbird/tsconfig.json index 29a035d51..2bf497ce6 100644 --- a/plugins/doorbird/tsconfig.json +++ b/plugins/doorbird/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "module": "Node16", "target": "esnext", "moduleResolution": "Node16", "esModuleInterop": true,