@iobroker/js-controller-cli 7.2.3 → 8.0.0-alpha.2-20260923-99da17fcc
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/build/cjs/index.js +3 -3
- package/build/cjs/lib/_Types.d.ts +8 -1
- package/build/cjs/lib/cli/cliCert.d.ts +7 -4
- package/build/cjs/lib/cli/cliCert.js +10 -6
- package/build/cjs/lib/cli/cliCert.js.map +2 -2
- package/build/cjs/lib/cli/cliCommand.d.ts +63 -15
- package/build/cjs/lib/cli/cliCommand.js +8 -1
- package/build/cjs/lib/cli/cliCommand.js.map +2 -2
- package/build/cjs/lib/cli/cliCompact.d.ts +5 -2
- package/build/cjs/lib/cli/cliCompact.js +9 -2
- package/build/cjs/lib/cli/cliCompact.js.map +2 -2
- package/build/cjs/lib/cli/cliDebug.d.ts +5 -2
- package/build/cjs/lib/cli/cliDebug.js +8 -1
- package/build/cjs/lib/cli/cliDebug.js.map +2 -2
- package/build/cjs/lib/cli/cliHost.d.ts +13 -10
- package/build/cjs/lib/cli/cliHost.js +13 -5
- package/build/cjs/lib/cli/cliHost.js.map +2 -2
- package/build/cjs/lib/cli/cliLogs.d.ts +9 -3
- package/build/cjs/lib/cli/cliLogs.js +12 -1
- package/build/cjs/lib/cli/cliLogs.js.map +2 -2
- package/build/cjs/lib/cli/cliMessage.d.ts +2 -1
- package/build/cjs/lib/cli/cliMessage.js +5 -0
- package/build/cjs/lib/cli/cliMessage.js.map +2 -2
- package/build/cjs/lib/cli/cliObjects.d.ts +21 -18
- package/build/cjs/lib/cli/cliObjects.js +51 -33
- package/build/cjs/lib/cli/cliObjects.js.map +2 -2
- package/build/cjs/lib/cli/cliPlugin.d.ts +3 -3
- package/build/cjs/lib/cli/cliPlugin.js +6 -0
- package/build/cjs/lib/cli/cliPlugin.js.map +2 -2
- package/build/cjs/lib/cli/cliProcess.d.ts +17 -7
- package/build/cjs/lib/cli/cliProcess.js +77 -24
- package/build/cjs/lib/cli/cliProcess.js.map +3 -3
- package/build/cjs/lib/cli/cliStates.d.ts +7 -4
- package/build/cjs/lib/cli/cliStates.js +14 -6
- package/build/cjs/lib/cli/cliStates.js.map +2 -2
- package/build/cjs/lib/cli/cliTools.js +11 -0
- package/build/cjs/lib/cli/cliTools.js.map +1 -1
- package/build/cjs/lib/cli/messages.js +47 -46
- package/build/cjs/lib/cli/messages.js.map +1 -1
- package/build/cjs/lib/progressBar.d.ts +59 -0
- package/build/cjs/lib/progressBar.js +115 -0
- package/build/cjs/lib/progressBar.js.map +7 -0
- package/build/cjs/lib/setup/customError.d.ts +4 -0
- package/build/cjs/lib/setup/customError.js +7 -0
- package/build/cjs/lib/setup/customError.js.map +2 -2
- package/build/cjs/lib/setup/dbConnection.js +69 -64
- package/build/cjs/lib/setup/dbConnection.js.map +3 -3
- package/build/cjs/lib/setup/formatters.d.ts +4 -4
- package/build/cjs/lib/setup/formatters.js +5 -0
- package/build/cjs/lib/setup/formatters.js.map +2 -2
- package/build/cjs/lib/setup/multihostClient.js +6 -2
- package/build/cjs/lib/setup/multihostClient.js.map +1 -1
- package/build/cjs/lib/setup/pluginInfos.d.ts +5 -0
- package/build/cjs/lib/setup/pluginInfos.js +2 -0
- package/build/cjs/lib/setup/pluginInfos.js.map +2 -2
- package/build/cjs/lib/setup/setupBackup.d.ts +53 -0
- package/build/cjs/lib/setup/setupBackup.js +125 -14
- package/build/cjs/lib/setup/setupBackup.js.map +3 -3
- package/build/cjs/lib/setup/setupInstall.d.ts +66 -15
- package/build/cjs/lib/setup/setupInstall.js +282 -28
- package/build/cjs/lib/setup/setupInstall.js.map +2 -2
- package/build/cjs/lib/setup/setupLicense.d.ts +13 -0
- package/build/cjs/lib/setup/setupLicense.js +33 -2
- package/build/cjs/lib/setup/setupLicense.js.map +2 -2
- package/build/cjs/lib/setup/setupList.d.ts +55 -1
- package/build/cjs/lib/setup/setupList.js +78 -24
- package/build/cjs/lib/setup/setupList.js.map +3 -3
- package/build/cjs/lib/setup/setupMultihost.d.ts +7 -0
- package/build/cjs/lib/setup/setupMultihost.js +78 -11
- package/build/cjs/lib/setup/setupMultihost.js.map +3 -3
- package/build/cjs/lib/setup/setupPacketManager.d.ts +10 -0
- package/build/cjs/lib/setup/setupPacketManager.js +16 -6
- package/build/cjs/lib/setup/setupPacketManager.js.map +2 -2
- package/build/cjs/lib/setup/setupRepo.d.ts +19 -0
- package/build/cjs/lib/setup/setupRepo.js +141 -13
- package/build/cjs/lib/setup/setupRepo.js.map +2 -2
- package/build/cjs/lib/setup/setupSetup.d.ts +34 -0
- package/build/cjs/lib/setup/setupSetup.js +209 -35
- package/build/cjs/lib/setup/setupSetup.js.map +3 -3
- package/build/cjs/lib/setup/setupUpgrade.d.ts +13 -2
- package/build/cjs/lib/setup/setupUpgrade.js +72 -12
- package/build/cjs/lib/setup/setupUpgrade.js.map +2 -2
- package/build/cjs/lib/setup/setupUpload.d.ts +77 -1
- package/build/cjs/lib/setup/setupUpload.js +152 -9
- package/build/cjs/lib/setup/setupUpload.js.map +2 -2
- package/build/cjs/lib/setup/setupUsers.d.ts +44 -14
- package/build/cjs/lib/setup/setupUsers.js +330 -17
- package/build/cjs/lib/setup/setupUsers.js.map +2 -2
- package/build/cjs/lib/setup/setupVendor.d.ts +14 -1
- package/build/cjs/lib/setup/setupVendor.js +40 -8
- package/build/cjs/lib/setup/setupVendor.js.map +2 -2
- package/build/cjs/lib/setup/setupVisDebug.d.ts +16 -2
- package/build/cjs/lib/setup/setupVisDebug.js +41 -17
- package/build/cjs/lib/setup/setupVisDebug.js.map +3 -3
- package/build/cjs/lib/setup/utils.d.ts +1 -1
- package/build/cjs/lib/setup/utils.js +13 -9
- package/build/cjs/lib/setup/utils.js.map +3 -3
- package/build/cjs/lib/setup.d.ts +1 -1
- package/build/cjs/lib/setup.js +858 -1758
- package/build/cjs/lib/setup.js.map +3 -3
- package/build/esm/lib/_Types.d.ts +8 -1
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCert.d.ts +7 -4
- package/build/esm/lib/cli/cliCert.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCert.js +6 -6
- package/build/esm/lib/cli/cliCert.js.map +1 -1
- package/build/esm/lib/cli/cliCommand.d.ts +63 -15
- package/build/esm/lib/cli/cliCommand.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCommand.js +4 -1
- package/build/esm/lib/cli/cliCommand.js.map +1 -1
- package/build/esm/lib/cli/cliCompact.d.ts +5 -2
- package/build/esm/lib/cli/cliCompact.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCompact.js +5 -2
- package/build/esm/lib/cli/cliCompact.js.map +1 -1
- package/build/esm/lib/cli/cliDebug.d.ts +5 -2
- package/build/esm/lib/cli/cliDebug.d.ts.map +1 -1
- package/build/esm/lib/cli/cliDebug.js +4 -1
- package/build/esm/lib/cli/cliDebug.js.map +1 -1
- package/build/esm/lib/cli/cliHost.d.ts +13 -10
- package/build/esm/lib/cli/cliHost.d.ts.map +1 -1
- package/build/esm/lib/cli/cliHost.js +8 -5
- package/build/esm/lib/cli/cliHost.js.map +1 -1
- package/build/esm/lib/cli/cliLogs.d.ts +9 -3
- package/build/esm/lib/cli/cliLogs.d.ts.map +1 -1
- package/build/esm/lib/cli/cliLogs.js +8 -1
- package/build/esm/lib/cli/cliLogs.js.map +1 -1
- package/build/esm/lib/cli/cliMessage.d.ts +2 -1
- package/build/esm/lib/cli/cliMessage.d.ts.map +1 -1
- package/build/esm/lib/cli/cliMessage.js +1 -0
- package/build/esm/lib/cli/cliMessage.js.map +1 -1
- package/build/esm/lib/cli/cliObjects.d.ts +21 -18
- package/build/esm/lib/cli/cliObjects.d.ts.map +1 -1
- package/build/esm/lib/cli/cliObjects.js +44 -38
- package/build/esm/lib/cli/cliObjects.js.map +1 -1
- package/build/esm/lib/cli/cliPlugin.d.ts +3 -3
- package/build/esm/lib/cli/cliPlugin.d.ts.map +1 -1
- package/build/esm/lib/cli/cliPlugin.js +1 -1
- package/build/esm/lib/cli/cliPlugin.js.map +1 -1
- package/build/esm/lib/cli/cliProcess.d.ts +17 -7
- package/build/esm/lib/cli/cliProcess.d.ts.map +1 -1
- package/build/esm/lib/cli/cliProcess.js +73 -12
- package/build/esm/lib/cli/cliProcess.js.map +1 -1
- package/build/esm/lib/cli/cliStates.d.ts +7 -4
- package/build/esm/lib/cli/cliStates.d.ts.map +1 -1
- package/build/esm/lib/cli/cliStates.js +6 -2
- package/build/esm/lib/cli/cliStates.js.map +1 -1
- package/build/esm/lib/progressBar.d.ts +59 -0
- package/build/esm/lib/progressBar.d.ts.map +1 -0
- package/build/esm/lib/progressBar.js +104 -0
- package/build/esm/lib/progressBar.js.map +1 -0
- package/build/esm/lib/setup/customError.d.ts +4 -0
- package/build/esm/lib/setup/customError.d.ts.map +1 -1
- package/build/esm/lib/setup/customError.js +3 -0
- package/build/esm/lib/setup/customError.js.map +1 -1
- package/build/esm/lib/setup/dbConnection.d.ts.map +1 -1
- package/build/esm/lib/setup/dbConnection.js +10 -13
- package/build/esm/lib/setup/dbConnection.js.map +1 -1
- package/build/esm/lib/setup/formatters.d.ts +4 -4
- package/build/esm/lib/setup/formatters.js +4 -4
- package/build/esm/lib/setup/pluginInfos.d.ts +5 -0
- package/build/esm/lib/setup/pluginInfos.d.ts.map +1 -1
- package/build/esm/lib/setup/pluginInfos.js +5 -0
- package/build/esm/lib/setup/pluginInfos.js.map +1 -1
- package/build/esm/lib/setup/setupBackup.d.ts +53 -0
- package/build/esm/lib/setup/setupBackup.d.ts.map +1 -1
- package/build/esm/lib/setup/setupBackup.js +132 -13
- package/build/esm/lib/setup/setupBackup.js.map +1 -1
- package/build/esm/lib/setup/setupInstall.d.ts +66 -15
- package/build/esm/lib/setup/setupInstall.d.ts.map +1 -1
- package/build/esm/lib/setup/setupInstall.js +309 -23
- package/build/esm/lib/setup/setupInstall.js.map +1 -1
- package/build/esm/lib/setup/setupLicense.d.ts +13 -0
- package/build/esm/lib/setup/setupLicense.d.ts.map +1 -1
- package/build/esm/lib/setup/setupLicense.js +31 -1
- package/build/esm/lib/setup/setupLicense.js.map +1 -1
- package/build/esm/lib/setup/setupList.d.ts +55 -1
- package/build/esm/lib/setup/setupList.d.ts.map +1 -1
- package/build/esm/lib/setup/setupList.js +61 -8
- package/build/esm/lib/setup/setupList.js.map +1 -1
- package/build/esm/lib/setup/setupMultihost.d.ts +7 -0
- package/build/esm/lib/setup/setupMultihost.d.ts.map +1 -1
- package/build/esm/lib/setup/setupMultihost.js +85 -6
- package/build/esm/lib/setup/setupMultihost.js.map +1 -1
- package/build/esm/lib/setup/setupPacketManager.d.ts +10 -0
- package/build/esm/lib/setup/setupPacketManager.d.ts.map +1 -1
- package/build/esm/lib/setup/setupPacketManager.js +9 -0
- package/build/esm/lib/setup/setupPacketManager.js.map +1 -1
- package/build/esm/lib/setup/setupRepo.d.ts +19 -0
- package/build/esm/lib/setup/setupRepo.d.ts.map +1 -1
- package/build/esm/lib/setup/setupRepo.js +164 -14
- package/build/esm/lib/setup/setupRepo.js.map +1 -1
- package/build/esm/lib/setup/setupSetup.d.ts +34 -0
- package/build/esm/lib/setup/setupSetup.d.ts.map +1 -1
- package/build/esm/lib/setup/setupSetup.js +218 -21
- package/build/esm/lib/setup/setupSetup.js.map +1 -1
- package/build/esm/lib/setup/setupUpgrade.d.ts +13 -2
- package/build/esm/lib/setup/setupUpgrade.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUpgrade.js +70 -6
- package/build/esm/lib/setup/setupUpgrade.js.map +1 -1
- package/build/esm/lib/setup/setupUpload.d.ts +77 -1
- package/build/esm/lib/setup/setupUpload.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUpload.js +164 -7
- package/build/esm/lib/setup/setupUpload.js.map +1 -1
- package/build/esm/lib/setup/setupUsers.d.ts +44 -14
- package/build/esm/lib/setup/setupUsers.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUsers.js +346 -14
- package/build/esm/lib/setup/setupUsers.js.map +1 -1
- package/build/esm/lib/setup/setupVendor.d.ts +14 -1
- package/build/esm/lib/setup/setupVendor.d.ts.map +1 -1
- package/build/esm/lib/setup/setupVendor.js +33 -2
- package/build/esm/lib/setup/setupVendor.js.map +1 -1
- package/build/esm/lib/setup/setupVisDebug.d.ts +16 -2
- package/build/esm/lib/setup/setupVisDebug.d.ts.map +1 -1
- package/build/esm/lib/setup/setupVisDebug.js +39 -14
- package/build/esm/lib/setup/setupVisDebug.js.map +1 -1
- package/build/esm/lib/setup/utils.d.ts +1 -1
- package/build/esm/lib/setup/utils.d.ts.map +1 -1
- package/build/esm/lib/setup/utils.js +2 -4
- package/build/esm/lib/setup/utils.js.map +1 -1
- package/build/esm/lib/setup.d.ts +1 -1
- package/build/esm/lib/setup.d.ts.map +1 -1
- package/build/esm/lib/setup.js +959 -1910
- package/build/esm/lib/setup.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -9,15 +9,23 @@ import tty from 'node:tty';
|
|
|
9
9
|
import path from 'node:path';
|
|
10
10
|
import { getRepository, isVersionIgnored } from '../../lib/setup/utils.js';
|
|
11
11
|
import { IoBrokerError } from '../../lib/setup/customError.js';
|
|
12
|
+
import { dbConnect } from '../../lib/setup/dbConnection.js';
|
|
13
|
+
import * as CLITools from '../../lib/cli/cliTools.js';
|
|
12
14
|
const debug = Debug('iobroker:cli');
|
|
15
|
+
/**
|
|
16
|
+
* CLI command to upgrade the js-controller
|
|
17
|
+
*/
|
|
13
18
|
export class Upgrade {
|
|
14
19
|
hostname = tools.getHostName();
|
|
15
20
|
upload;
|
|
16
21
|
install;
|
|
17
22
|
objects;
|
|
18
23
|
processExit;
|
|
24
|
+
/**
|
|
25
|
+
* @param options The objects client, the upload/install helpers and the process-exit callback
|
|
26
|
+
*/
|
|
19
27
|
constructor(options) {
|
|
20
|
-
options
|
|
28
|
+
options ||= {};
|
|
21
29
|
if (!options.processExit) {
|
|
22
30
|
throw new Error('Invalid arguments: processExit is missing');
|
|
23
31
|
}
|
|
@@ -38,14 +46,15 @@ export class Upgrade {
|
|
|
38
46
|
const relevantAdapters = [];
|
|
39
47
|
// check which adapters are upgradeable and sort them according to their dependencies
|
|
40
48
|
for (const adapter of list) {
|
|
41
|
-
|
|
49
|
+
const repoAdapter = repo[adapter];
|
|
50
|
+
if (repoAdapter.controller) {
|
|
42
51
|
// skip controller
|
|
43
52
|
continue;
|
|
44
53
|
}
|
|
45
54
|
const adapterDir = tools.getAdapterDir(adapter);
|
|
46
55
|
if (adapterDir && fs.existsSync(path.join(adapterDir, 'io-package.json'))) {
|
|
47
56
|
const ioInstalled = fs.readJsonSync(path.join(adapterDir, 'io-package.json'));
|
|
48
|
-
if (!tools.upToDate(
|
|
57
|
+
if (!tools.upToDate(repoAdapter.version, ioInstalled.common.version)) {
|
|
49
58
|
// not up to date, we need to put it into account for our dependency check
|
|
50
59
|
relevantAdapters.push(adapter);
|
|
51
60
|
}
|
|
@@ -58,8 +67,9 @@ export class Upgrade {
|
|
|
58
67
|
// create an ordered list for upgrades
|
|
59
68
|
for (let i = relevantAdapters.length - 1; i >= 0; i--) {
|
|
60
69
|
const relAdapter = relevantAdapters[i];
|
|
70
|
+
const relevantAdapter = repo[relAdapter];
|
|
61
71
|
// if a new version has no dependencies, we can upgrade
|
|
62
|
-
if (!
|
|
72
|
+
if (!relevantAdapter.dependencies && !relevantAdapter.globalDependencies) {
|
|
63
73
|
// no deps, simply add it
|
|
64
74
|
sortedAdapters.push(relAdapter);
|
|
65
75
|
relevantAdapters.splice(relevantAdapters.indexOf(relAdapter), 1);
|
|
@@ -67,8 +77,8 @@ export class Upgrade {
|
|
|
67
77
|
}
|
|
68
78
|
else {
|
|
69
79
|
const allDeps = {
|
|
70
|
-
...tools.parseDependencies(
|
|
71
|
-
...tools.parseDependencies(
|
|
80
|
+
...tools.parseDependencies(relevantAdapter.dependencies),
|
|
81
|
+
...tools.parseDependencies(relevantAdapter.globalDependencies),
|
|
72
82
|
};
|
|
73
83
|
// we have to check if the deps are there
|
|
74
84
|
let conflict = false;
|
|
@@ -556,4 +566,58 @@ export class Upgrade {
|
|
|
556
566
|
}
|
|
557
567
|
}
|
|
558
568
|
}
|
|
569
|
+
/**
|
|
570
|
+
* @param options The process-command options (args, params, callback, etc.)
|
|
571
|
+
*/
|
|
572
|
+
export function processCommandUpgrade(options) {
|
|
573
|
+
const { args, params, callback } = options;
|
|
574
|
+
let adapter = CLITools.normalizeAdapterName(args[0]);
|
|
575
|
+
if (adapter === 'all') {
|
|
576
|
+
adapter = null;
|
|
577
|
+
}
|
|
578
|
+
dbConnect(params, async ({ objects, states }) => {
|
|
579
|
+
const upgrade = new Upgrade({
|
|
580
|
+
objects,
|
|
581
|
+
states,
|
|
582
|
+
params,
|
|
583
|
+
processExit: callback,
|
|
584
|
+
});
|
|
585
|
+
if (adapter) {
|
|
586
|
+
try {
|
|
587
|
+
if (adapter.split('@')[0] === 'self') {
|
|
588
|
+
const hostAlive = await states.getStateAsync(`system.host.${tools.getHostName()}.alive`);
|
|
589
|
+
const version = adapter.split('@')[1];
|
|
590
|
+
await upgrade.upgradeController({
|
|
591
|
+
forceDowngrade: params.force || params.f,
|
|
592
|
+
controllerRunning: !!hostAlive?.val,
|
|
593
|
+
version,
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
else {
|
|
597
|
+
await upgrade.upgradeAdapter('', adapter, params.force || params.f, params.y || params.yes, false);
|
|
598
|
+
}
|
|
599
|
+
return void callback();
|
|
600
|
+
}
|
|
601
|
+
catch (err) {
|
|
602
|
+
console.error(`Cannot upgrade: ${err.message}`);
|
|
603
|
+
return void callback(EXIT_CODES.INVALID_REPO);
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
else {
|
|
607
|
+
// upgrade all
|
|
608
|
+
try {
|
|
609
|
+
const links = await getRepository({ objects });
|
|
610
|
+
if (!links) {
|
|
611
|
+
return void callback(EXIT_CODES.INVALID_REPO);
|
|
612
|
+
}
|
|
613
|
+
await upgrade.upgradeAdapterHelper(links, Object.keys(links).sort(), false, params.y || params.yes);
|
|
614
|
+
return void callback();
|
|
615
|
+
}
|
|
616
|
+
catch (e) {
|
|
617
|
+
console.error(`Cannot upgrade: ${e.message}`);
|
|
618
|
+
return void callback(e instanceof IoBrokerError ? e.code : EXIT_CODES.INVALID_REPO);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
});
|
|
622
|
+
}
|
|
559
623
|
//# sourceMappingURL=setupUpgrade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupUpgrade.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setupUpgrade.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,12 @@
|
|
|
9
9
|
import type { Client as StatesRedisClient } from '@iobroker/db-states-redis';
|
|
10
10
|
import type { Client as ObjectsRedisClient } from '@iobroker/db-objects-redis';
|
|
11
11
|
import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
|
|
12
|
+
import type { ProcessCommandOptions } from '../../lib/cli/cliCommand.js';
|
|
13
|
+
/** Options for the upload command */
|
|
12
14
|
export interface CLIUploadOptions {
|
|
15
|
+
/** The states database client */
|
|
13
16
|
states: StatesRedisClient;
|
|
17
|
+
/** The objects database client */
|
|
14
18
|
objects: ObjectsRedisClient;
|
|
15
19
|
}
|
|
16
20
|
interface File {
|
|
@@ -22,6 +26,9 @@ interface Logger extends InternalLogger {
|
|
|
22
26
|
}
|
|
23
27
|
/** Logger without noisy levels */
|
|
24
28
|
type MinimalLogger = Omit<Logger, 'info' | 'silly' | 'debug'>;
|
|
29
|
+
/**
|
|
30
|
+
* CLI command to upload adapter files into the objects database
|
|
31
|
+
*/
|
|
25
32
|
export declare class Upload {
|
|
26
33
|
private readonly states;
|
|
27
34
|
private readonly objects;
|
|
@@ -30,11 +37,42 @@ export declare class Upload {
|
|
|
30
37
|
private readonly sendToHostFromCliAsync;
|
|
31
38
|
private callbacks;
|
|
32
39
|
private lastProgressUpdate;
|
|
40
|
+
/**
|
|
41
|
+
* @param _options The states and objects database clients
|
|
42
|
+
*/
|
|
33
43
|
constructor(_options: CLIUploadOptions);
|
|
44
|
+
/**
|
|
45
|
+
* Filter the given hosts to those that are currently alive
|
|
46
|
+
*
|
|
47
|
+
* @param hosts The hosts to check
|
|
48
|
+
*/
|
|
34
49
|
checkHostsIfAlive(hosts: string[]): Promise<string[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Get the list of known hosts
|
|
52
|
+
*
|
|
53
|
+
* @param onlyAlive Whether to only return hosts that are currently alive
|
|
54
|
+
*/
|
|
35
55
|
getHosts(onlyAlive: boolean): Promise<string[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Check if some adapters must be restarted because of the given adapter's files and restart them
|
|
58
|
+
*
|
|
59
|
+
* @param adapter The adapter whose dependents should be restarted
|
|
60
|
+
*/
|
|
36
61
|
checkRestartOther(adapter: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Send a message to a host from the CLI
|
|
64
|
+
*
|
|
65
|
+
* @param host The target host id
|
|
66
|
+
* @param command The command to send
|
|
67
|
+
* @param message The message payload
|
|
68
|
+
* @param callback Called with the host's response
|
|
69
|
+
*/
|
|
37
70
|
sendToHostFromCli(host: string, command: string, message: ioBroker.MessagePayload, callback: ioBroker.MessageCallback | null): void;
|
|
71
|
+
/**
|
|
72
|
+
* Upload the files of all given adapters from every host
|
|
73
|
+
*
|
|
74
|
+
* @param adapters The adapters to upload
|
|
75
|
+
*/
|
|
38
76
|
uploadAdapterFullAsync(adapters: string[]): Promise<void>;
|
|
39
77
|
/**
|
|
40
78
|
* Uploads a file
|
|
@@ -43,7 +81,13 @@ export declare class Upload {
|
|
|
43
81
|
* @param target target path
|
|
44
82
|
*/
|
|
45
83
|
uploadFile(source: string, target: string): Promise<string>;
|
|
46
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Delete the given files from the objects database
|
|
86
|
+
*
|
|
87
|
+
* @param files The files to delete
|
|
88
|
+
* @param logger Logger used to report errors
|
|
89
|
+
*/
|
|
90
|
+
eraseFiles(files: File[], logger: MinimalLogger | typeof console): Promise<void>;
|
|
47
91
|
/**
|
|
48
92
|
* Collect Files of an adapter specific directory from the ioBroker storage
|
|
49
93
|
*
|
|
@@ -55,7 +99,22 @@ export declare class Upload {
|
|
|
55
99
|
filesToDelete: File[];
|
|
56
100
|
dirs: File[];
|
|
57
101
|
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Upload the files of a single adapter into the objects database
|
|
104
|
+
*
|
|
105
|
+
* @param adapter The adapter whose files are uploaded
|
|
106
|
+
* @param isAdmin Whether the admin files should be uploaded
|
|
107
|
+
* @param files The files to upload
|
|
108
|
+
* @param id The upload state id used to report progress
|
|
109
|
+
* @param logger Logger used to report progress
|
|
110
|
+
*/
|
|
58
111
|
upload(adapter: string, isAdmin: boolean, files: string[], id: string, logger: MinimalLogger | typeof console): Promise<string>;
|
|
112
|
+
/**
|
|
113
|
+
* Recursively collect all file paths below the given directory
|
|
114
|
+
*
|
|
115
|
+
* @param dir The directory to walk
|
|
116
|
+
* @param _results Accumulator of results collected so far
|
|
117
|
+
*/
|
|
59
118
|
walk(dir: string, _results?: string[]): string[];
|
|
60
119
|
/**
|
|
61
120
|
* Upload given adapter
|
|
@@ -67,7 +126,20 @@ export declare class Upload {
|
|
|
67
126
|
* @param _logger logger instance
|
|
68
127
|
*/
|
|
69
128
|
uploadAdapter(adapter: string, isAdmin: boolean, forceUpload: boolean, subTree?: string, _logger?: MinimalLogger): Promise<string>;
|
|
129
|
+
/**
|
|
130
|
+
* Deep-merge additional values into the native section of an object
|
|
131
|
+
*
|
|
132
|
+
* @param target The target object to extend
|
|
133
|
+
* @param additional The additional values to merge in
|
|
134
|
+
*/
|
|
70
135
|
extendNative(target: Record<string, any>, additional: Record<string, unknown>): Record<string, any>;
|
|
136
|
+
/**
|
|
137
|
+
* Merge additional values into the common section of an instance object, preserving some attributes
|
|
138
|
+
*
|
|
139
|
+
* @param target The target common object to extend
|
|
140
|
+
* @param additional The additional values to merge in
|
|
141
|
+
* @param instance The instance id the common belongs to
|
|
142
|
+
*/
|
|
71
143
|
extendCommon(target: Record<string, any>, additional: Record<string, any>, instance: string): ioBroker.InstanceCommon;
|
|
72
144
|
/**
|
|
73
145
|
* Extends the `system.instance.adapter.<instanceNumber>` objects with the native properties from adapters io-package.json
|
|
@@ -87,5 +159,9 @@ export declare class Upload {
|
|
|
87
159
|
*/
|
|
88
160
|
upgradeAdapterObjects(name: string, ioPack?: ioBroker.AdapterObject, logger?: MinimalLogger | typeof console): Promise<string>;
|
|
89
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* @param options The process command options
|
|
164
|
+
*/
|
|
165
|
+
export declare function processCommandUpload(options: ProcessCommandOptions): void;
|
|
90
166
|
export {};
|
|
91
167
|
//# sourceMappingURL=setupUpload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupUpload.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpload.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"setupUpload.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpload.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,18 @@
|
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
import fs from 'fs-extra';
|
|
10
|
-
import { tools } from '@iobroker/js-controller-common';
|
|
10
|
+
import { tools, EXIT_CODES } from '@iobroker/js-controller-common';
|
|
11
11
|
import deepClone from 'deep-clone';
|
|
12
12
|
import { isDeepStrictEqual } from 'node:util';
|
|
13
13
|
import axios from 'axios';
|
|
14
14
|
import mime from 'mime-types';
|
|
15
15
|
import { join } from 'node:path';
|
|
16
|
+
import { dbConnect } from '../../lib/setup/dbConnection.js';
|
|
17
|
+
import { ProgressBar } from '../../lib/progressBar.js';
|
|
16
18
|
const hostname = tools.getHostName();
|
|
19
|
+
/**
|
|
20
|
+
* CLI command to upload adapter files into the objects database
|
|
21
|
+
*/
|
|
17
22
|
export class Upload {
|
|
18
23
|
states;
|
|
19
24
|
objects;
|
|
@@ -22,6 +27,9 @@ export class Upload {
|
|
|
22
27
|
sendToHostFromCliAsync;
|
|
23
28
|
callbacks = {};
|
|
24
29
|
lastProgressUpdate = Date.now();
|
|
30
|
+
/**
|
|
31
|
+
* @param _options The states and objects database clients
|
|
32
|
+
*/
|
|
25
33
|
constructor(_options) {
|
|
26
34
|
const options = _options || {};
|
|
27
35
|
if (!options.states) {
|
|
@@ -34,6 +42,11 @@ export class Upload {
|
|
|
34
42
|
this.objects = options.objects;
|
|
35
43
|
this.sendToHostFromCliAsync = tools.promisifyNoError(this.sendToHostFromCli);
|
|
36
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Filter the given hosts to those that are currently alive
|
|
47
|
+
*
|
|
48
|
+
* @param hosts The hosts to check
|
|
49
|
+
*/
|
|
37
50
|
async checkHostsIfAlive(hosts) {
|
|
38
51
|
const result = [];
|
|
39
52
|
if (hosts) {
|
|
@@ -46,6 +59,11 @@ export class Upload {
|
|
|
46
59
|
}
|
|
47
60
|
return result;
|
|
48
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the list of known hosts
|
|
64
|
+
*
|
|
65
|
+
* @param onlyAlive Whether to only return hosts that are currently alive
|
|
66
|
+
*/
|
|
49
67
|
async getHosts(onlyAlive) {
|
|
50
68
|
const hosts = [];
|
|
51
69
|
try {
|
|
@@ -71,7 +89,11 @@ export class Upload {
|
|
|
71
89
|
}
|
|
72
90
|
return hosts;
|
|
73
91
|
}
|
|
74
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Check if some adapters must be restarted because of the given adapter's files and restart them
|
|
94
|
+
*
|
|
95
|
+
* @param adapter The adapter whose dependents should be restarted
|
|
96
|
+
*/
|
|
75
97
|
async checkRestartOther(adapter) {
|
|
76
98
|
const adapterDir = tools.getAdapterDir(adapter);
|
|
77
99
|
if (!adapterDir) {
|
|
@@ -118,6 +140,14 @@ export class Upload {
|
|
|
118
140
|
console.error(`Cannot parse ${adapterDir}/io-package.json: ${e.message}`);
|
|
119
141
|
}
|
|
120
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Send a message to a host from the CLI
|
|
145
|
+
*
|
|
146
|
+
* @param host The target host id
|
|
147
|
+
* @param command The command to send
|
|
148
|
+
* @param message The message payload
|
|
149
|
+
* @param callback Called with the host's response
|
|
150
|
+
*/
|
|
121
151
|
sendToHostFromCli(host, command, message, callback) {
|
|
122
152
|
const time = Date.now();
|
|
123
153
|
const from = `system.host.${hostname}_cli_${time}`;
|
|
@@ -126,7 +156,7 @@ export class Upload {
|
|
|
126
156
|
callback();
|
|
127
157
|
}
|
|
128
158
|
callback = null;
|
|
129
|
-
this.states.unsubscribeMessage(from);
|
|
159
|
+
this.states.unsubscribeMessage(from).catch(e => console.error(`Cannot unsubscribe: ${e.message}`));
|
|
130
160
|
// @ts-expect-error todo: I don't think this works
|
|
131
161
|
this.states.onChange = null;
|
|
132
162
|
}, 60_000);
|
|
@@ -141,7 +171,7 @@ export class Upload {
|
|
|
141
171
|
callback(msg && msg.message);
|
|
142
172
|
callback = null;
|
|
143
173
|
clearTimeout(timeout);
|
|
144
|
-
this.states.unsubscribeMessage(from);
|
|
174
|
+
this.states.unsubscribeMessage(from).catch(e => console.error(`Cannot unsubscribe: ${e.message}`));
|
|
145
175
|
// @ts-expect-error
|
|
146
176
|
this.states.onChange = null;
|
|
147
177
|
}
|
|
@@ -164,9 +194,14 @@ export class Upload {
|
|
|
164
194
|
}
|
|
165
195
|
this.callbacks[`_${obj.callback.id}`] = { cb: callback };
|
|
166
196
|
// we cannot receive answers from hosts in CLI, so this command is "fire and forget"
|
|
167
|
-
this.states.pushMessage(host, obj);
|
|
197
|
+
this.states.pushMessage(host, obj).catch(e => console.error(`Cannot push message: ${e.message}`));
|
|
168
198
|
});
|
|
169
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Upload the files of all given adapters from every host
|
|
202
|
+
*
|
|
203
|
+
* @param adapters The adapters to upload
|
|
204
|
+
*/
|
|
170
205
|
async uploadAdapterFullAsync(adapters) {
|
|
171
206
|
if (adapters?.length) {
|
|
172
207
|
const liveHosts = await this.getHosts(true);
|
|
@@ -278,8 +313,14 @@ export class Upload {
|
|
|
278
313
|
}
|
|
279
314
|
return `${adapter}/${target}`;
|
|
280
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Delete the given files from the objects database
|
|
318
|
+
*
|
|
319
|
+
* @param files The files to delete
|
|
320
|
+
* @param logger Logger used to report errors
|
|
321
|
+
*/
|
|
281
322
|
async eraseFiles(files, logger) {
|
|
282
|
-
if (files
|
|
323
|
+
if (files?.length) {
|
|
283
324
|
for (const file of files) {
|
|
284
325
|
try {
|
|
285
326
|
await this.objects.unlinkAsync(file.adapter, file.path);
|
|
@@ -336,9 +377,22 @@ export class Upload {
|
|
|
336
377
|
}
|
|
337
378
|
return { filesToDelete: _files, dirs: _dirs };
|
|
338
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* Upload the files of a single adapter into the objects database
|
|
382
|
+
*
|
|
383
|
+
* @param adapter The adapter whose files are uploaded
|
|
384
|
+
* @param isAdmin Whether the admin files should be uploaded
|
|
385
|
+
* @param files The files to upload
|
|
386
|
+
* @param id The upload state id used to report progress
|
|
387
|
+
* @param logger Logger used to report progress
|
|
388
|
+
*/
|
|
339
389
|
async upload(adapter, isAdmin, files, id, logger) {
|
|
340
390
|
const uploadID = `system.adapter.${adapter}.upload`;
|
|
341
391
|
await this.states.setState(uploadID, { val: 0, ack: true });
|
|
392
|
+
// A bar only makes sense when the output goes to a terminal which can overwrite its own
|
|
393
|
+
// line, and when it goes to the console at all - an upload triggered by the controller
|
|
394
|
+
// writes through a real logger into iobroker.log, where control characters are noise.
|
|
395
|
+
const progress = files.length && logger === console && ProgressBar.isSupported() ? new ProgressBar(id, files.length) : null;
|
|
342
396
|
for (let f = 0; f < files.length; f++) {
|
|
343
397
|
const file = files[f];
|
|
344
398
|
// do not upload '.gitignore' files. Todo: add other exceptions
|
|
@@ -354,7 +408,10 @@ export class Upload {
|
|
|
354
408
|
let attName = attNameArr.pop();
|
|
355
409
|
attName = attName.split('/').slice(2).join('/');
|
|
356
410
|
const remainingFiles = files.length - f - 1;
|
|
357
|
-
if (
|
|
411
|
+
if (progress) {
|
|
412
|
+
progress.update(f + 1);
|
|
413
|
+
}
|
|
414
|
+
else if (remainingFiles >= 100) {
|
|
358
415
|
(!f || !(remainingFiles % 50)) &&
|
|
359
416
|
logger.log(`upload [${remainingFiles}] ${id} ${file} ${attName} ${mimeType}`);
|
|
360
417
|
}
|
|
@@ -382,9 +439,13 @@ export class Upload {
|
|
|
382
439
|
await this.objects.writeFileAsync(id, attName, content, { mimeType: mimeType || undefined });
|
|
383
440
|
}
|
|
384
441
|
catch (e) {
|
|
442
|
+
// close the bar's line first, otherwise the message lands inside it and the next
|
|
443
|
+
// redraw overwrites it
|
|
444
|
+
progress?.interrupt();
|
|
385
445
|
console.error(`Error: Cannot upload ${file}: ${e.message}`);
|
|
386
446
|
}
|
|
387
447
|
}
|
|
448
|
+
progress?.finish();
|
|
388
449
|
// Set upload progress to 0;
|
|
389
450
|
if (!isAdmin && files.length) {
|
|
390
451
|
await this.states.setState(uploadID, { val: 0, ack: true });
|
|
@@ -392,6 +453,12 @@ export class Upload {
|
|
|
392
453
|
return adapter;
|
|
393
454
|
}
|
|
394
455
|
// Read synchronous all files recursively from local directory
|
|
456
|
+
/**
|
|
457
|
+
* Recursively collect all file paths below the given directory
|
|
458
|
+
*
|
|
459
|
+
* @param dir The directory to walk
|
|
460
|
+
* @param _results Accumulator of results collected so far
|
|
461
|
+
*/
|
|
395
462
|
walk(dir, _results) {
|
|
396
463
|
const results = _results || [];
|
|
397
464
|
try {
|
|
@@ -537,6 +604,12 @@ export class Upload {
|
|
|
537
604
|
}
|
|
538
605
|
return adapter;
|
|
539
606
|
}
|
|
607
|
+
/**
|
|
608
|
+
* Deep-merge additional values into the native section of an object
|
|
609
|
+
*
|
|
610
|
+
* @param target The target object to extend
|
|
611
|
+
* @param additional The additional values to merge in
|
|
612
|
+
*/
|
|
540
613
|
extendNative(target, additional) {
|
|
541
614
|
if (tools.isObject(additional)) {
|
|
542
615
|
for (const [attr, attrData] of Object.entries(additional)) {
|
|
@@ -558,6 +631,13 @@ export class Upload {
|
|
|
558
631
|
}
|
|
559
632
|
return target;
|
|
560
633
|
}
|
|
634
|
+
/**
|
|
635
|
+
* Merge additional values into the common section of an instance object, preserving some attributes
|
|
636
|
+
*
|
|
637
|
+
* @param target The target common object to extend
|
|
638
|
+
* @param additional The additional values to merge in
|
|
639
|
+
* @param instance The instance id the common belongs to
|
|
640
|
+
*/
|
|
561
641
|
extendCommon(target, additional, instance) {
|
|
562
642
|
if (tools.isObject(additional)) {
|
|
563
643
|
const preserveAttributes = [
|
|
@@ -755,4 +835,81 @@ export class Upload {
|
|
|
755
835
|
return name;
|
|
756
836
|
}
|
|
757
837
|
}
|
|
838
|
+
/**
|
|
839
|
+
* @param options The process command options
|
|
840
|
+
*/
|
|
841
|
+
export function processCommandUpload(options) {
|
|
842
|
+
const { args, params, callback } = options;
|
|
843
|
+
const { showHelp } = options.commandOptions;
|
|
844
|
+
const name = args[0];
|
|
845
|
+
const subTree = args[1];
|
|
846
|
+
if (name) {
|
|
847
|
+
dbConnect(params, async ({ objects, states }) => {
|
|
848
|
+
const upload = new Upload({ states, objects });
|
|
849
|
+
if (name === 'all') {
|
|
850
|
+
try {
|
|
851
|
+
const objs = await objects.getObjectListAsync({
|
|
852
|
+
startkey: 'system.adapter.',
|
|
853
|
+
endkey: 'system.adapter.\u9999',
|
|
854
|
+
});
|
|
855
|
+
if (objs) {
|
|
856
|
+
const adapters = [];
|
|
857
|
+
for (const row of objs.rows) {
|
|
858
|
+
if (row.value.type !== 'adapter') {
|
|
859
|
+
continue;
|
|
860
|
+
}
|
|
861
|
+
adapters.push(tools.isObject(row.value.common.name)
|
|
862
|
+
? row.value.common.name.en
|
|
863
|
+
: row.value.common.name);
|
|
864
|
+
}
|
|
865
|
+
await upload.uploadAdapterFullAsync(adapters);
|
|
866
|
+
}
|
|
867
|
+
callback();
|
|
868
|
+
}
|
|
869
|
+
catch (err) {
|
|
870
|
+
console.error(`Cannot upload all adapters: ${err.message}`);
|
|
871
|
+
return void callback(EXIT_CODES.CANNOT_UPLOAD_DATA);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
else {
|
|
875
|
+
// if upload of file
|
|
876
|
+
if (name.includes('.')) {
|
|
877
|
+
if (!subTree) {
|
|
878
|
+
console.log(`Please specify target name, like:\n${tools.appName} upload /file/picture.png /vis-2.0/main/img/picture.png`);
|
|
879
|
+
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
880
|
+
}
|
|
881
|
+
try {
|
|
882
|
+
const newName = await upload.uploadFile(name, subTree);
|
|
883
|
+
console.log(`File "${name}" is successfully saved under ${newName}`);
|
|
884
|
+
return void callback();
|
|
885
|
+
}
|
|
886
|
+
catch (err) {
|
|
887
|
+
console.error(`Cannot upload file "${name}": ${err.message}`);
|
|
888
|
+
return void callback(EXIT_CODES.CANNOT_UPLOAD_DATA);
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
else {
|
|
892
|
+
try {
|
|
893
|
+
if (subTree) {
|
|
894
|
+
await upload.uploadAdapter(name, false, true, subTree);
|
|
895
|
+
}
|
|
896
|
+
else {
|
|
897
|
+
await upload.uploadAdapterFullAsync([name]);
|
|
898
|
+
}
|
|
899
|
+
return void callback();
|
|
900
|
+
}
|
|
901
|
+
catch (err) {
|
|
902
|
+
console.error(`Cannot upload files "${name}": ${err.message}`);
|
|
903
|
+
return void callback(EXIT_CODES.CANNOT_UPLOAD_DATA);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
else {
|
|
910
|
+
console.log('No adapter name found!');
|
|
911
|
+
showHelp();
|
|
912
|
+
return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
|
|
913
|
+
}
|
|
914
|
+
}
|
|
758
915
|
//# sourceMappingURL=setupUpload.js.map
|