matterbridge 3.5.2 → 3.5.3-dev-20260202-e19e9b6
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/CHANGELOG.md +30 -1
- package/README-DOCKER.md +2 -2
- package/README.md +14 -9
- package/dist/broadcastServer.d.ts +0 -115
- package/dist/broadcastServer.js +0 -117
- package/dist/broadcastServerTypes.d.ts +0 -43
- package/dist/broadcastServerTypes.js +0 -24
- package/dist/checkUpdates.d.ts +0 -75
- package/dist/checkUpdates.js +1 -91
- package/dist/cli.d.ts +0 -24
- package/dist/cli.js +1 -97
- package/dist/cliEmitter.d.ts +0 -36
- package/dist/cliEmitter.js +0 -37
- package/dist/cliHistory.d.ts +0 -42
- package/dist/cliHistory.js +0 -38
- package/dist/clusters/export.d.ts +0 -1
- package/dist/clusters/export.js +0 -2
- package/dist/deviceManager.d.ts +0 -108
- package/dist/deviceManager.js +1 -114
- package/dist/devices/airConditioner.d.ts +0 -75
- package/dist/devices/airConditioner.js +0 -57
- package/dist/devices/basicVideoPlayer.d.ts +0 -58
- package/dist/devices/basicVideoPlayer.js +1 -56
- package/dist/devices/batteryStorage.d.ts +0 -43
- package/dist/devices/batteryStorage.js +1 -48
- package/dist/devices/castingVideoPlayer.d.ts +0 -63
- package/dist/devices/castingVideoPlayer.js +2 -65
- package/dist/devices/cooktop.d.ts +0 -55
- package/dist/devices/cooktop.js +0 -56
- package/dist/devices/dishwasher.d.ts +0 -55
- package/dist/devices/dishwasher.js +0 -57
- package/dist/devices/evse.d.ts +0 -57
- package/dist/devices/evse.js +10 -74
- package/dist/devices/export.d.ts +0 -1
- package/dist/devices/export.js +0 -5
- package/dist/devices/extractorHood.d.ts +0 -41
- package/dist/devices/extractorHood.js +0 -43
- package/dist/devices/heatPump.d.ts +0 -43
- package/dist/devices/heatPump.js +2 -50
- package/dist/devices/laundryDryer.d.ts +0 -58
- package/dist/devices/laundryDryer.js +3 -62
- package/dist/devices/laundryWasher.d.ts +0 -64
- package/dist/devices/laundryWasher.js +4 -70
- package/dist/devices/microwaveOven.d.ts +1 -77
- package/dist/devices/microwaveOven.js +5 -88
- package/dist/devices/oven.d.ts +0 -82
- package/dist/devices/oven.js +0 -85
- package/dist/devices/refrigerator.d.ts +0 -100
- package/dist/devices/refrigerator.js +0 -102
- package/dist/devices/roboticVacuumCleaner.d.ts +0 -83
- package/dist/devices/roboticVacuumCleaner.js +9 -100
- package/dist/devices/solarPower.d.ts +0 -36
- package/dist/devices/solarPower.js +0 -38
- package/dist/devices/speaker.d.ts +0 -79
- package/dist/devices/speaker.js +0 -84
- package/dist/devices/temperatureControl.d.ts +0 -21
- package/dist/devices/temperatureControl.js +3 -24
- package/dist/devices/waterHeater.d.ts +0 -74
- package/dist/devices/waterHeater.js +2 -82
- package/dist/dgram/export.d.ts +0 -1
- package/dist/dgram/export.js +0 -1
- package/dist/frontend.d.ts +0 -187
- package/dist/frontend.js +37 -498
- package/dist/frontendTypes.d.ts +0 -57
- package/dist/frontendTypes.js +0 -45
- package/dist/helpers.d.ts +0 -43
- package/dist/helpers.js +0 -54
- package/dist/index.d.ts +0 -23
- package/dist/index.js +0 -25
- package/dist/jestutils/export.d.ts +0 -1
- package/dist/jestutils/export.js +0 -1
- package/dist/jestutils/jestHelpers.d.ts +0 -255
- package/dist/jestutils/jestHelpers.js +15 -371
- package/dist/logger/export.d.ts +0 -1
- package/dist/logger/export.js +0 -1
- package/dist/matter/behaviors.d.ts +0 -1
- package/dist/matter/behaviors.js +0 -2
- package/dist/matter/clusters.d.ts +0 -1
- package/dist/matter/clusters.js +0 -2
- package/dist/matter/devices.d.ts +0 -1
- package/dist/matter/devices.js +0 -2
- package/dist/matter/endpoints.d.ts +0 -1
- package/dist/matter/endpoints.js +0 -2
- package/dist/matter/export.d.ts +0 -1
- package/dist/matter/export.js +0 -2
- package/dist/matter/types.d.ts +0 -1
- package/dist/matter/types.js +0 -2
- package/dist/matterNode.d.ts +0 -258
- package/dist/matterNode.js +8 -359
- package/dist/matterbridge.d.ts +0 -373
- package/dist/matterbridge.js +46 -854
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
- package/dist/matterbridgeAccessoryPlatform.js +0 -50
- package/dist/matterbridgeBehaviors.d.ts +0 -24
- package/dist/matterbridgeBehaviors.js +5 -65
- package/dist/matterbridgeDeviceTypes.d.ts +0 -649
- package/dist/matterbridgeDeviceTypes.js +6 -673
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
- package/dist/matterbridgeDynamicPlatform.js +0 -50
- package/dist/matterbridgeEndpoint.d.ts +0 -1369
- package/dist/matterbridgeEndpoint.js +54 -1507
- package/dist/matterbridgeEndpointHelpers.d.ts +0 -425
- package/dist/matterbridgeEndpointHelpers.js +20 -482
- package/dist/matterbridgeEndpointTypes.d.ts +0 -70
- package/dist/matterbridgeEndpointTypes.js +0 -25
- package/dist/matterbridgePlatform.d.ts +0 -434
- package/dist/matterbridgePlatform.js +1 -472
- package/dist/matterbridgePlatformTypes.d.ts +0 -29
- package/dist/matterbridgePlatformTypes.js +0 -24
- package/dist/matterbridgeTypes.d.ts +0 -46
- package/dist/matterbridgeTypes.js +0 -26
- package/dist/mb_coap.d.ts +0 -23
- package/dist/mb_coap.js +3 -41
- package/dist/mb_health.d.ts +0 -67
- package/dist/mb_health.js +0 -70
- package/dist/mb_mdns.d.ts +0 -23
- package/dist/mb_mdns.js +36 -94
- package/dist/pluginManager.d.ts +0 -305
- package/dist/pluginManager.js +5 -342
- package/dist/shelly.d.ts +0 -157
- package/dist/shelly.js +7 -178
- package/dist/spawn.d.ts +0 -32
- package/dist/spawn.js +1 -71
- package/dist/storage/export.d.ts +0 -1
- package/dist/storage/export.js +0 -1
- package/dist/utils/export.d.ts +0 -1
- package/dist/utils/export.js +0 -1
- package/dist/worker.d.ts +0 -61
- package/dist/worker.js +4 -65
- package/dist/workerCheckUpdates.d.ts +0 -24
- package/dist/workerCheckUpdates.js +5 -36
- package/dist/workerGlobalPrefix.d.ts +0 -24
- package/dist/workerGlobalPrefix.js +5 -36
- package/dist/workerTypes.d.ts +0 -25
- package/dist/workerTypes.js +0 -24
- package/frontend/build/assets/index.js +4 -4
- package/frontend/build/assets/vendor_emotion.js +1 -1
- package/frontend/build/assets/vendor_lodash.js +1 -1
- package/frontend/build/assets/vendor_mdi.js +1 -1
- package/frontend/build/assets/vendor_mui.js +22 -22
- package/frontend/build/assets/vendor_node_modules.js +20 -20
- package/frontend/build/assets/vendor_notistack.js +2 -2
- package/frontend/build/assets/vendor_qrcode.js +1 -1
- package/frontend/build/assets/vendor_rjsf.js +8 -8
- package/frontend/build/index.html +1 -1
- package/frontend/package.json +48 -47
- package/npm-shrinkwrap.json +77 -47
- package/package.json +7 -7
- package/dist/broadcastServer.d.ts.map +0 -1
- package/dist/broadcastServer.js.map +0 -1
- package/dist/broadcastServerTypes.d.ts.map +0 -1
- package/dist/broadcastServerTypes.js.map +0 -1
- package/dist/checkUpdates.d.ts.map +0 -1
- package/dist/checkUpdates.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cliEmitter.d.ts.map +0 -1
- package/dist/cliEmitter.js.map +0 -1
- package/dist/cliHistory.d.ts.map +0 -1
- package/dist/cliHistory.js.map +0 -1
- package/dist/clusters/export.d.ts.map +0 -1
- package/dist/clusters/export.js.map +0 -1
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/devices/airConditioner.d.ts.map +0 -1
- package/dist/devices/airConditioner.js.map +0 -1
- package/dist/devices/basicVideoPlayer.d.ts.map +0 -1
- package/dist/devices/basicVideoPlayer.js.map +0 -1
- package/dist/devices/batteryStorage.d.ts.map +0 -1
- package/dist/devices/batteryStorage.js.map +0 -1
- package/dist/devices/castingVideoPlayer.d.ts.map +0 -1
- package/dist/devices/castingVideoPlayer.js.map +0 -1
- package/dist/devices/cooktop.d.ts.map +0 -1
- package/dist/devices/cooktop.js.map +0 -1
- package/dist/devices/dishwasher.d.ts.map +0 -1
- package/dist/devices/dishwasher.js.map +0 -1
- package/dist/devices/evse.d.ts.map +0 -1
- package/dist/devices/evse.js.map +0 -1
- package/dist/devices/export.d.ts.map +0 -1
- package/dist/devices/export.js.map +0 -1
- package/dist/devices/extractorHood.d.ts.map +0 -1
- package/dist/devices/extractorHood.js.map +0 -1
- package/dist/devices/heatPump.d.ts.map +0 -1
- package/dist/devices/heatPump.js.map +0 -1
- package/dist/devices/laundryDryer.d.ts.map +0 -1
- package/dist/devices/laundryDryer.js.map +0 -1
- package/dist/devices/laundryWasher.d.ts.map +0 -1
- package/dist/devices/laundryWasher.js.map +0 -1
- package/dist/devices/microwaveOven.d.ts.map +0 -1
- package/dist/devices/microwaveOven.js.map +0 -1
- package/dist/devices/oven.d.ts.map +0 -1
- package/dist/devices/oven.js.map +0 -1
- package/dist/devices/refrigerator.d.ts.map +0 -1
- package/dist/devices/refrigerator.js.map +0 -1
- package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
- package/dist/devices/roboticVacuumCleaner.js.map +0 -1
- package/dist/devices/solarPower.d.ts.map +0 -1
- package/dist/devices/solarPower.js.map +0 -1
- package/dist/devices/speaker.d.ts.map +0 -1
- package/dist/devices/speaker.js.map +0 -1
- package/dist/devices/temperatureControl.d.ts.map +0 -1
- package/dist/devices/temperatureControl.js.map +0 -1
- package/dist/devices/waterHeater.d.ts.map +0 -1
- package/dist/devices/waterHeater.js.map +0 -1
- package/dist/dgram/export.d.ts.map +0 -1
- package/dist/dgram/export.js.map +0 -1
- package/dist/frontend.d.ts.map +0 -1
- package/dist/frontend.js.map +0 -1
- package/dist/frontendTypes.d.ts.map +0 -1
- package/dist/frontendTypes.js.map +0 -1
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jestutils/export.d.ts.map +0 -1
- package/dist/jestutils/export.js.map +0 -1
- package/dist/jestutils/jestHelpers.d.ts.map +0 -1
- package/dist/jestutils/jestHelpers.js.map +0 -1
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/behaviors.d.ts.map +0 -1
- package/dist/matter/behaviors.js.map +0 -1
- package/dist/matter/clusters.d.ts.map +0 -1
- package/dist/matter/clusters.js.map +0 -1
- package/dist/matter/devices.d.ts.map +0 -1
- package/dist/matter/devices.js.map +0 -1
- package/dist/matter/endpoints.d.ts.map +0 -1
- package/dist/matter/endpoints.js.map +0 -1
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matter/types.d.ts.map +0 -1
- package/dist/matter/types.js.map +0 -1
- package/dist/matterNode.d.ts.map +0 -1
- package/dist/matterNode.js.map +0 -1
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
- package/dist/matterbridgeEndpointHelpers.js.map +0 -1
- package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
- package/dist/matterbridgeEndpointTypes.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgePlatformTypes.d.ts.map +0 -1
- package/dist/matterbridgePlatformTypes.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/mb_coap.d.ts.map +0 -1
- package/dist/mb_coap.js.map +0 -1
- package/dist/mb_health.d.ts.map +0 -1
- package/dist/mb_health.js.map +0 -1
- package/dist/mb_mdns.d.ts.map +0 -1
- package/dist/mb_mdns.js.map +0 -1
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/shelly.d.ts.map +0 -1
- package/dist/shelly.js.map +0 -1
- package/dist/spawn.d.ts.map +0 -1
- package/dist/spawn.js.map +0 -1
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- package/dist/utils/export.d.ts.map +0 -1
- package/dist/utils/export.js.map +0 -1
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js.map +0 -1
- package/dist/workerCheckUpdates.d.ts.map +0 -1
- package/dist/workerCheckUpdates.js.map +0 -1
- package/dist/workerGlobalPrefix.d.ts.map +0 -1
- package/dist/workerGlobalPrefix.js.map +0 -1
- package/dist/workerTypes.d.ts.map +0 -1
- package/dist/workerTypes.js.map +0 -1
package/dist/checkUpdates.js
CHANGED
|
@@ -1,41 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the check updates functions.
|
|
3
|
-
*
|
|
4
|
-
* @file checkUpdates.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2025-02-24
|
|
7
|
-
* @version 2.0.1
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
|
-
// AnsiLogger module
|
|
25
1
|
import { AnsiLogger, db, debugStringify, nt, wr } from 'node-ansi-logger';
|
|
26
|
-
// Matterbridge module
|
|
27
2
|
import { hasParameter, isValidString } from '@matterbridge/utils';
|
|
28
3
|
import { plg } from './matterbridgeTypes.js';
|
|
29
4
|
import { BroadcastServer } from './broadcastServer.js';
|
|
30
|
-
/**
|
|
31
|
-
* Checks for updates for Matterbridge and its plugins.
|
|
32
|
-
* If the 'shelly' parameter is present, also checks for Shelly updates.
|
|
33
|
-
*
|
|
34
|
-
* @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
|
|
35
|
-
* @returns {Promise<void>} A promise that resolves when the update checks are complete.
|
|
36
|
-
*/
|
|
37
5
|
export async function checkUpdates(matterbridge) {
|
|
38
|
-
const log = new AnsiLogger({ logName: 'MatterbridgeUpdates', logTimestampFormat: 4
|
|
6
|
+
const log = new AnsiLogger({ logName: 'MatterbridgeUpdates', logTimestampFormat: 4, logLevel: matterbridge.logLevel });
|
|
39
7
|
const server = new BroadcastServer('updates', log);
|
|
40
8
|
const checkUpdatePromise = checkUpdatesAndLog(matterbridge, log, server);
|
|
41
9
|
const latestVersionPromise = getMatterbridgeLatestVersion(matterbridge, log, server);
|
|
@@ -51,7 +19,6 @@ export async function checkUpdates(matterbridge) {
|
|
|
51
19
|
}
|
|
52
20
|
}
|
|
53
21
|
catch (error) {
|
|
54
|
-
// istanbul ignore next cause it's just an error log
|
|
55
22
|
log.debug(`Error fetching plugins for update check: ${error instanceof Error ? error.message : error}`);
|
|
56
23
|
}
|
|
57
24
|
if (hasParameter('shelly')) {
|
|
@@ -62,14 +29,6 @@ export async function checkUpdates(matterbridge) {
|
|
|
62
29
|
await Promise.all([checkUpdatePromise, latestVersionPromise, devVersionPromise, ...pluginsVersionPromises, ...pluginsDevVersionPromises, ...shellyUpdatesPromises]);
|
|
63
30
|
server.close();
|
|
64
31
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Checks for updates and logs from https://matterbridge.io/.
|
|
67
|
-
* If the update check fails, logs a warning message.
|
|
68
|
-
*
|
|
69
|
-
* @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
|
|
70
|
-
* @param {AnsiLogger} log - The logger instance.
|
|
71
|
-
* @param {BroadcastServer} server - The broadcast server instance.
|
|
72
|
-
*/
|
|
73
32
|
export async function checkUpdatesAndLog(matterbridge, log, server) {
|
|
74
33
|
const { getGitHubUpdate } = await import('@matterbridge/utils');
|
|
75
34
|
const branch = matterbridge.matterbridgeVersion.includes('-dev-') ? 'dev' : 'main';
|
|
@@ -86,29 +45,17 @@ export async function checkUpdatesAndLog(matterbridge, log, server) {
|
|
|
86
45
|
dst: 'frontend',
|
|
87
46
|
params: { message: branch === 'main' ? updateJson.latestMessage : updateJson.devMessage, timeout: 0, severity: branch === 'main' ? updateJson.latestMessageSeverity : updateJson.devMessageSeverity },
|
|
88
47
|
});
|
|
89
|
-
// matterbridge.frontend.wssSendSnackbarMessage(branch === 'main' ? updateJson.latestMessage : updateJson.devMessage, 0, branch === 'main' ? updateJson.latestMessageSeverity : updateJson.devMessageSeverity);
|
|
90
48
|
}
|
|
91
49
|
}
|
|
92
50
|
catch (error) {
|
|
93
51
|
log.debug(`Error checking GitHub ${branch} updates: ${error instanceof Error ? error.message : error}`);
|
|
94
52
|
}
|
|
95
53
|
}
|
|
96
|
-
/**
|
|
97
|
-
* Retrieves the latest version of Matterbridge and updates the matterbridgeLatestVersion property.
|
|
98
|
-
* If there is an error retrieving the latest version, logs an error message.
|
|
99
|
-
*
|
|
100
|
-
* @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
|
|
101
|
-
* @param {AnsiLogger} log - The logger instance.
|
|
102
|
-
* @param {BroadcastServer} server - The broadcast server instance.
|
|
103
|
-
* @returns {Promise<string | undefined>} A promise that resolves when the latest version is retrieved.
|
|
104
|
-
*/
|
|
105
54
|
export async function getMatterbridgeLatestVersion(matterbridge, log, server) {
|
|
106
55
|
const { getNpmPackageVersion } = await import('@matterbridge/utils');
|
|
107
56
|
try {
|
|
108
57
|
const version = await getNpmPackageVersion('matterbridge');
|
|
109
58
|
server.request({ type: 'matterbridge_latest_version', src: server.name, dst: 'matterbridge', params: { version } });
|
|
110
|
-
// matterbridge.matterbridgeLatestVersion = version;
|
|
111
|
-
// await matterbridge.nodeContext?.set<string>('matterbridgeLatestVersion', matterbridge.matterbridgeLatestVersion);
|
|
112
59
|
if (matterbridge.matterbridgeVersion !== version) {
|
|
113
60
|
log.notice(`Matterbridge is out of date. Current version: ${matterbridge.matterbridgeVersion}. Latest version: ${version}.`);
|
|
114
61
|
server.request({
|
|
@@ -117,11 +64,8 @@ export async function getMatterbridgeLatestVersion(matterbridge, log, server) {
|
|
|
117
64
|
dst: 'frontend',
|
|
118
65
|
params: { message: 'Matterbridge latest update available', timeout: 0, severity: 'info' },
|
|
119
66
|
});
|
|
120
|
-
// matterbridge.frontend.wssSendSnackbarMessage('Matterbridge latest update available', 0, 'info');
|
|
121
67
|
server.request({ type: 'frontend_updaterequired', src: server.name, dst: 'frontend', params: { devVersion: false } });
|
|
122
|
-
// matterbridge.frontend.wssSendUpdateRequired();
|
|
123
68
|
server.request({ type: 'frontend_refreshrequired', src: server.name, dst: 'frontend', params: { changed: 'settings' } });
|
|
124
|
-
// matterbridge.frontend.wssSendRefreshRequired('settings');
|
|
125
69
|
}
|
|
126
70
|
else {
|
|
127
71
|
log.debug(`Matterbridge is up to date. Current version: ${matterbridge.matterbridgeVersion}. Latest version: ${version}.`);
|
|
@@ -129,26 +73,14 @@ export async function getMatterbridgeLatestVersion(matterbridge, log, server) {
|
|
|
129
73
|
return version;
|
|
130
74
|
}
|
|
131
75
|
catch (error) {
|
|
132
|
-
// logError(matterbridge.log, `Error getting Matterbridge latest version`, error);
|
|
133
76
|
log.warn(`Error getting Matterbridge latest version: ${error instanceof Error ? error.message : error}`);
|
|
134
77
|
}
|
|
135
78
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Retrieves the latest dev version of Matterbridge and updates the matterbridgeDevVersion property.
|
|
138
|
-
* If there is an error retrieving the latest version, logs an error message.
|
|
139
|
-
*
|
|
140
|
-
* @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
|
|
141
|
-
* @param {AnsiLogger} log - The logger instance.
|
|
142
|
-
* @param {BroadcastServer} server - The broadcast server instance.
|
|
143
|
-
* @returns {Promise<string | undefined>} A promise that resolves when the latest dev version is retrieved.
|
|
144
|
-
*/
|
|
145
79
|
export async function getMatterbridgeDevVersion(matterbridge, log, server) {
|
|
146
80
|
const { getNpmPackageVersion } = await import('@matterbridge/utils');
|
|
147
81
|
try {
|
|
148
82
|
const version = await getNpmPackageVersion('matterbridge', 'dev');
|
|
149
83
|
server.request({ type: 'matterbridge_dev_version', src: server.name, dst: 'matterbridge', params: { version } });
|
|
150
|
-
// matterbridge.matterbridgeDevVersion = version;
|
|
151
|
-
// await matterbridge.nodeContext?.set<string>('matterbridgeDevVersion', version);
|
|
152
84
|
if (matterbridge.matterbridgeVersion.includes('-dev-') && matterbridge.matterbridgeVersion !== version) {
|
|
153
85
|
log.notice(`Matterbridge@dev is out of date. Current version: ${matterbridge.matterbridgeVersion}. Latest dev version: ${version}.`);
|
|
154
86
|
server.request({
|
|
@@ -157,11 +89,8 @@ export async function getMatterbridgeDevVersion(matterbridge, log, server) {
|
|
|
157
89
|
dst: 'frontend',
|
|
158
90
|
params: { message: 'Matterbridge dev update available', timeout: 0, severity: 'info' },
|
|
159
91
|
});
|
|
160
|
-
// matterbridge.frontend.wssSendSnackbarMessage('Matterbridge dev update available', 0, 'info');
|
|
161
92
|
server.request({ type: 'frontend_updaterequired', src: server.name, dst: 'frontend', params: { devVersion: true } });
|
|
162
|
-
// matterbridge.frontend.wssSendUpdateRequired(true);
|
|
163
93
|
server.request({ type: 'frontend_refreshrequired', src: server.name, dst: 'frontend', params: { changed: 'settings' } });
|
|
164
|
-
// matterbridge.frontend.wssSendRefreshRequired('settings');
|
|
165
94
|
}
|
|
166
95
|
else if (matterbridge.matterbridgeVersion.includes('-dev-') && matterbridge.matterbridgeVersion === version) {
|
|
167
96
|
log.debug(`Matterbridge@dev is up to date. Current version: ${matterbridge.matterbridgeVersion}. Latest dev version: ${version}.`);
|
|
@@ -172,15 +101,6 @@ export async function getMatterbridgeDevVersion(matterbridge, log, server) {
|
|
|
172
101
|
log.warn(`Error getting Matterbridge latest dev version: ${error instanceof Error ? error.message : error}`);
|
|
173
102
|
}
|
|
174
103
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Retrieves the latest version of a plugin and updates the plugin's latestVersion property.
|
|
177
|
-
* If there is an error retrieving the latest version, logs an error message.
|
|
178
|
-
*
|
|
179
|
-
* @param {AnsiLogger} log - The logger instance.
|
|
180
|
-
* @param {BroadcastServer} server - The broadcast server instance.
|
|
181
|
-
* @param {ApiPlugin} plugin - The plugin for which to retrieve the latest version.
|
|
182
|
-
* @returns {Promise<string | undefined>} A promise that resolves when the latest version is retrieved.
|
|
183
|
-
*/
|
|
184
104
|
export async function getPluginLatestVersion(log, server, plugin) {
|
|
185
105
|
const { getNpmPackageVersion } = await import('@matterbridge/utils');
|
|
186
106
|
try {
|
|
@@ -200,15 +120,6 @@ export async function getPluginLatestVersion(log, server, plugin) {
|
|
|
200
120
|
log.warn(`Error getting plugin ${plg}${plugin.name}${wr} latest version: ${error instanceof Error ? error.message : error}`);
|
|
201
121
|
}
|
|
202
122
|
}
|
|
203
|
-
/**
|
|
204
|
-
* Retrieves the latest dev version of a plugin and updates the plugin's devVersion property.
|
|
205
|
-
* If there is an error retrieving the latest version, logs an error message.
|
|
206
|
-
*
|
|
207
|
-
* @param {AnsiLogger} log - The logger instance.
|
|
208
|
-
* @param {BroadcastServer} server - The broadcast server instance.
|
|
209
|
-
* @param {ApiPlugin} plugin - The plugin for which to retrieve the latest version.
|
|
210
|
-
* @returns {Promise<string | undefined>} A promise that resolves when the latest dev version is retrieved.
|
|
211
|
-
*/
|
|
212
123
|
export async function getPluginDevVersion(log, server, plugin) {
|
|
213
124
|
const { getNpmPackageVersion } = await import('@matterbridge/utils');
|
|
214
125
|
try {
|
|
@@ -228,4 +139,3 @@ export async function getPluginDevVersion(log, server, plugin) {
|
|
|
228
139
|
log.debug(`Error getting plugin ${plg}${plugin.name}${db} latest dev version: ${error instanceof Error ? error.message : error}`);
|
|
229
140
|
}
|
|
230
141
|
}
|
|
231
|
-
//# sourceMappingURL=checkUpdates.js.map
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,29 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the CLI entry point of Matterbridge.
|
|
3
|
-
*
|
|
4
|
-
* @file cli.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2023-12-29
|
|
7
|
-
* @version 3.0.0
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
1
|
import { Inspector, Tracker } from '@matterbridge/utils';
|
|
25
2
|
import type { Matterbridge } from './matterbridge.js';
|
|
26
3
|
export declare let instance: Matterbridge | undefined;
|
|
27
4
|
export declare const tracker: Tracker;
|
|
28
5
|
export declare const inspector: Inspector;
|
|
29
|
-
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.js
CHANGED
|
@@ -1,42 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the CLI entry point of Matterbridge.
|
|
3
|
-
*
|
|
4
|
-
* @file cli.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2023-12-29
|
|
7
|
-
* @version 3.0.0
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
|
-
/* eslint-disable no-console */
|
|
25
|
-
/* eslint-disable n/no-process-exit */
|
|
26
1
|
if (process.argv.includes('--loader') || process.argv.includes('-loader'))
|
|
27
2
|
console.log('\u001B[32mCli loaded.\u001B[40;0m');
|
|
28
|
-
// AnsiLogger module
|
|
29
3
|
import { AnsiLogger } from 'node-ansi-logger';
|
|
30
|
-
// Cli
|
|
31
4
|
import { formatBytes, formatUptime, hasAnyParameter, hasParameter, Inspector, inspectError, Tracker } from '@matterbridge/utils';
|
|
32
5
|
import { cliEmitter } from './cliEmitter.js';
|
|
33
6
|
export let instance;
|
|
34
7
|
export const tracker = new Tracker('Cli', false, false);
|
|
35
8
|
export const inspector = new Inspector('Cli', false, false);
|
|
36
|
-
const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4
|
|
37
|
-
/**
|
|
38
|
-
* Starts the CPU and memory tracker.
|
|
39
|
-
*/
|
|
9
|
+
const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4, logLevel: hasParameter('debug') ? "debug" : "info" });
|
|
40
10
|
function startCpuMemoryCheck() {
|
|
41
11
|
log.debug(`Cpu memory check starting...`);
|
|
42
12
|
tracker.start();
|
|
@@ -49,50 +19,26 @@ function startCpuMemoryCheck() {
|
|
|
49
19
|
});
|
|
50
20
|
log.debug(`Cpu memory check started`);
|
|
51
21
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Stops the CPU and memory tracker.
|
|
54
|
-
*/
|
|
55
22
|
function stopCpuMemoryCheck() {
|
|
56
23
|
log.debug(`Cpu memory check stopping...`);
|
|
57
24
|
tracker.stop();
|
|
58
25
|
tracker.removeAllListeners();
|
|
59
26
|
log.debug(`Cpu memory check stopped`);
|
|
60
27
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Starts the inspector for heap sampling.
|
|
63
|
-
* This function is called when the -inspect parameter is passed.
|
|
64
|
-
*/
|
|
65
28
|
async function startInspector() {
|
|
66
29
|
await inspector.start();
|
|
67
30
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Stops the heap sampling and saves the profile.
|
|
70
|
-
* This function is called when the -inspect parameter is passed.
|
|
71
|
-
*/
|
|
72
31
|
async function stopInspector() {
|
|
73
32
|
await inspector.stop();
|
|
74
33
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Takes a heap snapshot
|
|
77
|
-
*/
|
|
78
34
|
async function takeHeapSnapshot() {
|
|
79
35
|
await inspector.takeHeapSnapshot();
|
|
80
36
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Triggers a manual garbage collection.
|
|
83
|
-
* This function is working only if the node process is started with --expose_gc.
|
|
84
|
-
*
|
|
85
|
-
* @remarks To check the effect of the garbage collection, add also --trace_gc or --trace_gc_verbose.
|
|
86
|
-
*/
|
|
87
37
|
function triggerGarbageCollection() {
|
|
88
38
|
inspector.runGarbageCollector();
|
|
89
39
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Registers event handlers for the Matterbridge instance.
|
|
92
|
-
*/
|
|
93
40
|
function registerHandlers() {
|
|
94
41
|
log.debug('Registering event handlers...');
|
|
95
|
-
// istanbul ignore next cause registerHandlers is called only if instance is defined
|
|
96
42
|
if (!instance)
|
|
97
43
|
return;
|
|
98
44
|
instance.on('shutdown', () => shutdown());
|
|
@@ -106,9 +52,6 @@ function registerHandlers() {
|
|
|
106
52
|
instance.on('triggergarbagecollection', () => triggerGarbageCollection());
|
|
107
53
|
log.debug('Registered event handlers');
|
|
108
54
|
}
|
|
109
|
-
/**
|
|
110
|
-
* Shuts down the Matterbridge instance and exits the process.
|
|
111
|
-
*/
|
|
112
55
|
async function shutdown() {
|
|
113
56
|
log.debug('Received shutdown event, exiting...');
|
|
114
57
|
if (hasParameter('inspect'))
|
|
@@ -117,56 +60,26 @@ async function shutdown() {
|
|
|
117
60
|
cliEmitter.emit('shutdown');
|
|
118
61
|
process.exit(0);
|
|
119
62
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Restarts the Matterbridge instance.
|
|
122
|
-
*/
|
|
123
63
|
async function restart() {
|
|
124
64
|
log.debug('Received restart event, loading...');
|
|
125
65
|
const { Matterbridge } = await import('./matterbridge.js');
|
|
126
66
|
instance = await Matterbridge.loadInstance(true);
|
|
127
67
|
registerHandlers();
|
|
128
68
|
}
|
|
129
|
-
/**
|
|
130
|
-
* Updates the Matterbridge instance.
|
|
131
|
-
*/
|
|
132
69
|
async function update() {
|
|
133
70
|
log.debug('Received update event, updating...');
|
|
134
|
-
// TODO: Implement update logic outside of matterbridge
|
|
135
71
|
const { Matterbridge } = await import('./matterbridge.js');
|
|
136
72
|
instance = await Matterbridge.loadInstance(true);
|
|
137
73
|
registerHandlers();
|
|
138
74
|
}
|
|
139
|
-
/**
|
|
140
|
-
* Starts the CPU and memory check when the -startmemorycheck parameter is passed.
|
|
141
|
-
*/
|
|
142
75
|
function start() {
|
|
143
76
|
log.debug('Received start memory check event');
|
|
144
77
|
startCpuMemoryCheck();
|
|
145
78
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Stops the CPU and memory check when the -stopmemorycheck parameter is passed.
|
|
148
|
-
*/
|
|
149
79
|
function stop() {
|
|
150
80
|
log.debug('Received stop memory check event');
|
|
151
81
|
stopCpuMemoryCheck();
|
|
152
82
|
}
|
|
153
|
-
/**
|
|
154
|
-
* Main function that initializes the Matterbridge instance and starts the CLI.
|
|
155
|
-
*
|
|
156
|
-
* @remarks
|
|
157
|
-
*
|
|
158
|
-
* Debug parameters:
|
|
159
|
-
*
|
|
160
|
-
* --debug enables debug logging.
|
|
161
|
-
*
|
|
162
|
-
* --verbose enables verbose logging.
|
|
163
|
-
*
|
|
164
|
-
* --loader enables loader logging.
|
|
165
|
-
*
|
|
166
|
-
* --inspect enables the inspector for heap sampling.
|
|
167
|
-
*
|
|
168
|
-
* --snapshotinterval <milliseconds> can be used to set the heap snapshot interval. Default is undefined. Minimum is 30000 ms.
|
|
169
|
-
*/
|
|
170
83
|
async function main() {
|
|
171
84
|
log.debug(`Cli main() started`);
|
|
172
85
|
startCpuMemoryCheck();
|
|
@@ -176,7 +89,6 @@ async function main() {
|
|
|
176
89
|
const { Matterbridge } = await import('./matterbridge.js');
|
|
177
90
|
instance = await Matterbridge.loadInstance(true);
|
|
178
91
|
log.debug(`***Matterbridge.loadInstance(true) exited`);
|
|
179
|
-
// Check if the instance needs to shut down from parseCommandLine()
|
|
180
92
|
if (!instance || instance.shutdown) {
|
|
181
93
|
shutdown();
|
|
182
94
|
}
|
|
@@ -194,18 +106,11 @@ main().catch((error) => {
|
|
|
194
106
|
inspectError(log, 'Matterbridge.loadInstance() failed with error', error);
|
|
195
107
|
shutdown();
|
|
196
108
|
});
|
|
197
|
-
/**
|
|
198
|
-
* Displays the version.
|
|
199
|
-
*/
|
|
200
109
|
async function version() {
|
|
201
|
-
// Dynamic JSON import (Node >= 20) with import attributes
|
|
202
110
|
const { default: pkg } = await import('../package.json', { with: { type: 'json' } });
|
|
203
111
|
console.log(`Matterbridge version ${pkg.version}`);
|
|
204
112
|
process.exit(0);
|
|
205
113
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Displays the help.
|
|
208
|
-
*/
|
|
209
114
|
function help() {
|
|
210
115
|
console.log(`
|
|
211
116
|
Usage: matterbridge [options] [command]
|
|
@@ -262,4 +167,3 @@ function help() {
|
|
|
262
167
|
`);
|
|
263
168
|
process.exit(0);
|
|
264
169
|
}
|
|
265
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/cliEmitter.d.ts
CHANGED
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the CLI emitter.
|
|
3
|
-
*
|
|
4
|
-
* @file cliEmitter.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2025-07-04
|
|
7
|
-
* @version 1.0.2
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
1
|
import { EventEmitter } from 'node:events';
|
|
25
2
|
interface CliEvents {
|
|
26
3
|
shutdown: [];
|
|
@@ -32,19 +9,6 @@ interface CliEvents {
|
|
|
32
9
|
export declare const cliEmitter: EventEmitter<CliEvents>;
|
|
33
10
|
export declare let lastOsCpuUsage: number;
|
|
34
11
|
export declare let lastProcessCpuUsage: number;
|
|
35
|
-
/**
|
|
36
|
-
* Sets the last os CPU usage.
|
|
37
|
-
*
|
|
38
|
-
* @param {number} val - The os CPU usage percentage to set.
|
|
39
|
-
* @returns {void}
|
|
40
|
-
*/
|
|
41
12
|
export declare function setLastOsCpuUsage(val: number): void;
|
|
42
|
-
/**
|
|
43
|
-
* Sets the last process CPU usage.
|
|
44
|
-
*
|
|
45
|
-
* @param {number} val - The process CPU usage percentage to set.
|
|
46
|
-
* @returns {void}
|
|
47
|
-
*/
|
|
48
13
|
export declare function setLastProcessCpuUsage(val: number): void;
|
|
49
14
|
export {};
|
|
50
|
-
//# sourceMappingURL=cliEmitter.d.ts.map
|
package/dist/cliEmitter.js
CHANGED
|
@@ -1,49 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the CLI emitter.
|
|
3
|
-
*
|
|
4
|
-
* @file cliEmitter.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2025-07-04
|
|
7
|
-
* @version 1.0.2
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
|
-
// eslint-disable-next-line no-console
|
|
25
1
|
if (process.argv.includes('--loader') || process.argv.includes('-loader'))
|
|
26
2
|
console.log('\u001B[32mCli emitter loaded.\u001B[40;0m');
|
|
27
3
|
import { EventEmitter } from 'node:events';
|
|
28
4
|
export const cliEmitter = new EventEmitter();
|
|
29
5
|
export let lastOsCpuUsage = 0;
|
|
30
6
|
export let lastProcessCpuUsage = 0;
|
|
31
|
-
/**
|
|
32
|
-
* Sets the last os CPU usage.
|
|
33
|
-
*
|
|
34
|
-
* @param {number} val - The os CPU usage percentage to set.
|
|
35
|
-
* @returns {void}
|
|
36
|
-
*/
|
|
37
7
|
export function setLastOsCpuUsage(val) {
|
|
38
8
|
lastOsCpuUsage = val;
|
|
39
9
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Sets the last process CPU usage.
|
|
42
|
-
*
|
|
43
|
-
* @param {number} val - The process CPU usage percentage to set.
|
|
44
|
-
* @returns {void}
|
|
45
|
-
*/
|
|
46
10
|
export function setLastProcessCpuUsage(val) {
|
|
47
11
|
lastProcessCpuUsage = val;
|
|
48
12
|
}
|
|
49
|
-
//# sourceMappingURL=cliEmitter.js.map
|
package/dist/cliHistory.d.ts
CHANGED
|
@@ -1,48 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the CLI history page generator.
|
|
3
|
-
*
|
|
4
|
-
* @file cliHistory.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2025-10-09
|
|
7
|
-
* @version 1.0.1
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
1
|
export type GenerateHistoryPageOptions = {
|
|
25
|
-
/**
|
|
26
|
-
* Full path (file name included) for the generated HTML file.
|
|
27
|
-
* Defaults to `<current working directory>/history.html`.
|
|
28
|
-
*/
|
|
29
2
|
outputPath?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Title shown in the generated page and browser tab.
|
|
32
|
-
* Defaults to `Matterbridge CPU & Memory History`.
|
|
33
|
-
*/
|
|
34
3
|
pageTitle?: string;
|
|
35
|
-
/**
|
|
36
|
-
* Hostname shown in the generated page and browser tab.
|
|
37
|
-
*/
|
|
38
4
|
hostname?: string;
|
|
39
5
|
};
|
|
40
|
-
/**
|
|
41
|
-
* Generates a static HTML dashboard displaying CPU and memory history.
|
|
42
|
-
*
|
|
43
|
-
* @param {GenerateHistoryPageOptions} [options] - Optional configuration for output path, page title, and refresh interval.
|
|
44
|
-
*
|
|
45
|
-
* @returns {string | undefined} The absolute path to the generated HTML file, or undefined if no samples exist.
|
|
46
|
-
*/
|
|
47
6
|
export declare function generateHistoryPage(options?: GenerateHistoryPageOptions): string | undefined;
|
|
48
|
-
//# sourceMappingURL=cliHistory.d.ts.map
|
package/dist/cliHistory.js
CHANGED
|
@@ -1,40 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the CLI history page generator.
|
|
3
|
-
*
|
|
4
|
-
* @file cliHistory.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2025-10-09
|
|
7
|
-
* @version 1.0.1
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
|
-
// eslint-disable-next-line no-console
|
|
25
1
|
if (process.argv.includes('--loader') || process.argv.includes('-loader'))
|
|
26
2
|
console.log('\u001B[32mCli history loaded.\u001B[40;0m');
|
|
27
3
|
import { writeFileSync } from 'node:fs';
|
|
28
4
|
import path from 'node:path';
|
|
29
5
|
import os from 'node:os';
|
|
30
6
|
import { Tracker } from '@matterbridge/utils';
|
|
31
|
-
/**
|
|
32
|
-
* Generates a static HTML dashboard displaying CPU and memory history.
|
|
33
|
-
*
|
|
34
|
-
* @param {GenerateHistoryPageOptions} [options] - Optional configuration for output path, page title, and refresh interval.
|
|
35
|
-
*
|
|
36
|
-
* @returns {string | undefined} The absolute path to the generated HTML file, or undefined if no samples exist.
|
|
37
|
-
*/
|
|
38
7
|
export function generateHistoryPage(options = {}) {
|
|
39
8
|
const pageTitle = options.pageTitle ?? 'Matterbridge CPU & Memory History';
|
|
40
9
|
const hostname = options.hostname ?? os.hostname();
|
|
@@ -814,13 +783,6 @@ export function generateHistoryPage(options = {}) {
|
|
|
814
783
|
writeFileSync(outputPath, html, { encoding: 'utf-8' });
|
|
815
784
|
return outputPath;
|
|
816
785
|
}
|
|
817
|
-
/**
|
|
818
|
-
* Escapes HTML special characters to prevent breaking embedded markup.
|
|
819
|
-
*
|
|
820
|
-
* @param {string} input - The string to escape.
|
|
821
|
-
* @returns {string} The escaped string safe for HTML contexts.
|
|
822
|
-
*/
|
|
823
786
|
function escapeHtml(input) {
|
|
824
787
|
return input.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
825
788
|
}
|
|
826
|
-
//# sourceMappingURL=cliHistory.js.map
|
package/dist/clusters/export.js
CHANGED