nodejs-poolcontroller 8.1.1 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +63 -0
- package/.github/workflows/ghcr-publish.yml +67 -0
- package/Changelog +27 -0
- package/Dockerfile +52 -9
- package/README.md +127 -9
- package/config/Config.ts +57 -7
- package/config/VersionCheck.ts +63 -35
- package/controller/Equipment.ts +1 -1
- package/controller/State.ts +14 -3
- package/controller/boards/EasyTouchBoard.ts +10 -10
- package/controller/boards/IntelliCenterBoard.ts +20 -3
- package/controller/boards/NixieBoard.ts +31 -16
- package/controller/boards/SunTouchBoard.ts +2 -0
- package/controller/boards/SystemBoard.ts +1 -1
- package/controller/comms/Comms.ts +55 -14
- package/controller/comms/messages/Messages.ts +169 -6
- package/controller/comms/messages/status/RegalModbusStateMessage.ts +411 -0
- package/controller/nixie/pumps/Pump.ts +198 -0
- package/defaultConfig.json +5 -0
- package/docker-compose.yml +32 -0
- package/package.json +23 -25
- package/types/express-multer.d.ts +32 -0
- package/.github/workflows/docker-publish-njsPC-linux.yml +0 -50
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodejs-poolcontroller",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.3.0",
|
|
4
4
|
"description": "nodejs-poolController",
|
|
5
5
|
"main": "app.js",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Russell Goldin",
|
|
8
8
|
"name2": "Robert Strouse"
|
|
9
9
|
},
|
|
10
|
-
"license": "
|
|
10
|
+
"license": "AGPL-3.0-only",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "https://github.com/tagyoureit/nodejs-poolController.git"
|
|
14
14
|
},
|
|
15
15
|
"engines": {
|
|
16
|
-
"npm": ">=
|
|
17
|
-
"node": ">=
|
|
16
|
+
"npm": ">=8.0.0",
|
|
17
|
+
"node": ">=20.0.0"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"start": "npm run build && node dist/app.js",
|
|
@@ -23,38 +23,36 @@
|
|
|
23
23
|
"watch": "tsc -w"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@influxdata/influxdb-client": "^1.
|
|
26
|
+
"@influxdata/influxdb-client": "^1.35.0",
|
|
27
27
|
"eslint-config-promise": "^2.0.2",
|
|
28
|
-
"express": "^4.
|
|
28
|
+
"express": "^4.21.2",
|
|
29
29
|
"extend": "^3.0.2",
|
|
30
30
|
"jszip": "^3.9.1",
|
|
31
|
-
"mqtt": "^4.3.
|
|
32
|
-
"multer": "^
|
|
31
|
+
"mqtt": "^4.3.8",
|
|
32
|
+
"multer": "^2.0.2",
|
|
33
33
|
"multicast-dns": "^7.2.4",
|
|
34
|
-
"node-screenlogic": "^2.
|
|
34
|
+
"node-screenlogic": "^2.1.1",
|
|
35
35
|
"node-ssdp": "^4.0.1",
|
|
36
|
-
"serialport": "^11.0.
|
|
37
|
-
"socket.io": "^4.
|
|
38
|
-
"socket.io-client": "^4.
|
|
36
|
+
"serialport": "^11.0.1",
|
|
37
|
+
"socket.io": "^4.8.1",
|
|
38
|
+
"socket.io-client": "^4.8.1",
|
|
39
39
|
"source-map-support": "^0.5.21",
|
|
40
|
-
"winston": "^3.
|
|
40
|
+
"winston": "^3.17.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/express": "^4.17.
|
|
44
|
-
"@types/extend": "^3.0.
|
|
45
|
-
"@types/
|
|
46
|
-
"@
|
|
47
|
-
"@typescript-eslint/
|
|
48
|
-
"
|
|
49
|
-
"eslint": "^8.21.0",
|
|
43
|
+
"@types/express": "^4.17.23",
|
|
44
|
+
"@types/extend": "^3.0.4",
|
|
45
|
+
"@types/node": "^20.19.17",
|
|
46
|
+
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
47
|
+
"@typescript-eslint/parser": "^5.62.0",
|
|
48
|
+
"eslint": "^8.57.1",
|
|
50
49
|
"eslint-config-defaults": "^9.0.0",
|
|
51
|
-
"eslint-plugin-import": "^2.
|
|
50
|
+
"eslint-plugin-import": "^2.32.0",
|
|
52
51
|
"eslint-plugin-node": "^11.1.0",
|
|
53
|
-
"eslint-plugin-promise": "^6.
|
|
54
|
-
"eslint-plugin-standard": "^5.0.0",
|
|
52
|
+
"eslint-plugin-promise": "^6.6.0",
|
|
55
53
|
"grunt": "^1.5.3",
|
|
56
54
|
"grunt-banner": "^0.6.0",
|
|
57
|
-
"ts-node": "^10.
|
|
58
|
-
"typescript": "^4.
|
|
55
|
+
"ts-node": "^10.9.2",
|
|
56
|
+
"typescript": "^4.9.5"
|
|
59
57
|
}
|
|
60
58
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Express Request augmentation for multer 2.x single/multiple file uploads.
|
|
3
|
+
* Added because our tsconfig include patterns did not pick up multer's
|
|
4
|
+
* automatic merging of Request.file / Request.files.
|
|
5
|
+
*/
|
|
6
|
+
import 'express';
|
|
7
|
+
// Minimal subset of Multer's File definition; adjust if needed.
|
|
8
|
+
interface MulterFile {
|
|
9
|
+
fieldname: string;
|
|
10
|
+
originalname: string;
|
|
11
|
+
encoding: string;
|
|
12
|
+
mimetype: string;
|
|
13
|
+
size: number;
|
|
14
|
+
buffer: Buffer;
|
|
15
|
+
destination?: string;
|
|
16
|
+
filename?: string;
|
|
17
|
+
path?: string;
|
|
18
|
+
stream?: NodeJS.ReadableStream;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare global {
|
|
22
|
+
namespace Express {
|
|
23
|
+
interface Request {
|
|
24
|
+
/** Populated by multer single(field) */
|
|
25
|
+
file?: MulterFile;
|
|
26
|
+
/** Populated by multer array(field)/fields()/any() */
|
|
27
|
+
files?: MulterFile[] | { [fieldname: string]: MulterFile[] };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export {};
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
name: Publish Docker Image - Ubuntu
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- master
|
|
7
|
-
tags:
|
|
8
|
-
- "v*.*.*"
|
|
9
|
-
workflow_dispatch:
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
build-and-push:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
steps:
|
|
15
|
-
- name: Docker meta
|
|
16
|
-
id: meta
|
|
17
|
-
uses: docker/metadata-action@v5
|
|
18
|
-
with:
|
|
19
|
-
# list of Docker images to use as base name for tags
|
|
20
|
-
images: |
|
|
21
|
-
tagyoureit/njspc
|
|
22
|
-
# generate Docker tags based on the following events/attributes
|
|
23
|
-
tags: |
|
|
24
|
-
type=schedule
|
|
25
|
-
type=ref,event=branch
|
|
26
|
-
type=ref,event=pr
|
|
27
|
-
type=semver,pattern={{version}}
|
|
28
|
-
type=semver,pattern={{major}}.{{minor}}
|
|
29
|
-
type=semver,pattern={{major}}
|
|
30
|
-
type=sha
|
|
31
|
-
|
|
32
|
-
- name: Set up QEMU
|
|
33
|
-
uses: docker/setup-qemu-action@v3
|
|
34
|
-
|
|
35
|
-
- name: Set up Docker Buildx
|
|
36
|
-
uses: docker/setup-buildx-action@v3
|
|
37
|
-
|
|
38
|
-
- name: Login to Docker Hub
|
|
39
|
-
uses: docker/login-action@v3
|
|
40
|
-
with:
|
|
41
|
-
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
42
|
-
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
43
|
-
|
|
44
|
-
- name: Build and push combined Docker image
|
|
45
|
-
uses: docker/build-push-action@v6
|
|
46
|
-
with:
|
|
47
|
-
push: true
|
|
48
|
-
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
49
|
-
tags: ${{ steps.meta.outputs.tags }}
|
|
50
|
-
labels: ${{ steps.meta.outputs.labels }}
|