@iobroker/js-controller-cli 7.2.3 → 8.0.0-alpha.1-20260921-e5941ca8a

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.
Files changed (225) hide show
  1. package/build/cjs/index.js +3 -3
  2. package/build/cjs/lib/_Types.d.ts +8 -1
  3. package/build/cjs/lib/cli/cliCert.d.ts +7 -4
  4. package/build/cjs/lib/cli/cliCert.js +10 -6
  5. package/build/cjs/lib/cli/cliCert.js.map +2 -2
  6. package/build/cjs/lib/cli/cliCommand.d.ts +63 -15
  7. package/build/cjs/lib/cli/cliCommand.js +8 -1
  8. package/build/cjs/lib/cli/cliCommand.js.map +2 -2
  9. package/build/cjs/lib/cli/cliCompact.d.ts +5 -2
  10. package/build/cjs/lib/cli/cliCompact.js +9 -2
  11. package/build/cjs/lib/cli/cliCompact.js.map +2 -2
  12. package/build/cjs/lib/cli/cliDebug.d.ts +5 -2
  13. package/build/cjs/lib/cli/cliDebug.js +8 -1
  14. package/build/cjs/lib/cli/cliDebug.js.map +2 -2
  15. package/build/cjs/lib/cli/cliHost.d.ts +13 -10
  16. package/build/cjs/lib/cli/cliHost.js +13 -5
  17. package/build/cjs/lib/cli/cliHost.js.map +2 -2
  18. package/build/cjs/lib/cli/cliLogs.d.ts +9 -3
  19. package/build/cjs/lib/cli/cliLogs.js +12 -1
  20. package/build/cjs/lib/cli/cliLogs.js.map +2 -2
  21. package/build/cjs/lib/cli/cliMessage.d.ts +2 -1
  22. package/build/cjs/lib/cli/cliMessage.js +5 -0
  23. package/build/cjs/lib/cli/cliMessage.js.map +2 -2
  24. package/build/cjs/lib/cli/cliObjects.d.ts +21 -18
  25. package/build/cjs/lib/cli/cliObjects.js +51 -33
  26. package/build/cjs/lib/cli/cliObjects.js.map +2 -2
  27. package/build/cjs/lib/cli/cliPlugin.d.ts +3 -3
  28. package/build/cjs/lib/cli/cliPlugin.js +6 -0
  29. package/build/cjs/lib/cli/cliPlugin.js.map +2 -2
  30. package/build/cjs/lib/cli/cliProcess.d.ts +17 -7
  31. package/build/cjs/lib/cli/cliProcess.js +77 -24
  32. package/build/cjs/lib/cli/cliProcess.js.map +3 -3
  33. package/build/cjs/lib/cli/cliStates.d.ts +7 -4
  34. package/build/cjs/lib/cli/cliStates.js +14 -6
  35. package/build/cjs/lib/cli/cliStates.js.map +2 -2
  36. package/build/cjs/lib/cli/cliTools.js +11 -0
  37. package/build/cjs/lib/cli/cliTools.js.map +1 -1
  38. package/build/cjs/lib/cli/messages.js +47 -46
  39. package/build/cjs/lib/cli/messages.js.map +1 -1
  40. package/build/cjs/lib/progressBar.d.ts +59 -0
  41. package/build/cjs/lib/progressBar.js +115 -0
  42. package/build/cjs/lib/progressBar.js.map +7 -0
  43. package/build/cjs/lib/setup/customError.d.ts +4 -0
  44. package/build/cjs/lib/setup/customError.js +7 -0
  45. package/build/cjs/lib/setup/customError.js.map +2 -2
  46. package/build/cjs/lib/setup/dbConnection.js +69 -64
  47. package/build/cjs/lib/setup/dbConnection.js.map +3 -3
  48. package/build/cjs/lib/setup/formatters.d.ts +4 -4
  49. package/build/cjs/lib/setup/formatters.js +5 -0
  50. package/build/cjs/lib/setup/formatters.js.map +2 -2
  51. package/build/cjs/lib/setup/multihostClient.js +6 -2
  52. package/build/cjs/lib/setup/multihostClient.js.map +1 -1
  53. package/build/cjs/lib/setup/pluginInfos.d.ts +5 -0
  54. package/build/cjs/lib/setup/pluginInfos.js +2 -0
  55. package/build/cjs/lib/setup/pluginInfos.js.map +2 -2
  56. package/build/cjs/lib/setup/setupBackup.d.ts +53 -0
  57. package/build/cjs/lib/setup/setupBackup.js +125 -14
  58. package/build/cjs/lib/setup/setupBackup.js.map +3 -3
  59. package/build/cjs/lib/setup/setupInstall.d.ts +51 -15
  60. package/build/cjs/lib/setup/setupInstall.js +212 -28
  61. package/build/cjs/lib/setup/setupInstall.js.map +2 -2
  62. package/build/cjs/lib/setup/setupLicense.d.ts +13 -0
  63. package/build/cjs/lib/setup/setupLicense.js +33 -2
  64. package/build/cjs/lib/setup/setupLicense.js.map +2 -2
  65. package/build/cjs/lib/setup/setupList.d.ts +55 -1
  66. package/build/cjs/lib/setup/setupList.js +78 -24
  67. package/build/cjs/lib/setup/setupList.js.map +3 -3
  68. package/build/cjs/lib/setup/setupMultihost.d.ts +7 -0
  69. package/build/cjs/lib/setup/setupMultihost.js +78 -11
  70. package/build/cjs/lib/setup/setupMultihost.js.map +3 -3
  71. package/build/cjs/lib/setup/setupPacketManager.d.ts +10 -0
  72. package/build/cjs/lib/setup/setupPacketManager.js +16 -6
  73. package/build/cjs/lib/setup/setupPacketManager.js.map +2 -2
  74. package/build/cjs/lib/setup/setupRepo.d.ts +19 -0
  75. package/build/cjs/lib/setup/setupRepo.js +141 -13
  76. package/build/cjs/lib/setup/setupRepo.js.map +2 -2
  77. package/build/cjs/lib/setup/setupSetup.d.ts +34 -0
  78. package/build/cjs/lib/setup/setupSetup.js +209 -35
  79. package/build/cjs/lib/setup/setupSetup.js.map +3 -3
  80. package/build/cjs/lib/setup/setupUpgrade.d.ts +13 -2
  81. package/build/cjs/lib/setup/setupUpgrade.js +72 -12
  82. package/build/cjs/lib/setup/setupUpgrade.js.map +2 -2
  83. package/build/cjs/lib/setup/setupUpload.d.ts +77 -1
  84. package/build/cjs/lib/setup/setupUpload.js +152 -9
  85. package/build/cjs/lib/setup/setupUpload.js.map +2 -2
  86. package/build/cjs/lib/setup/setupUsers.d.ts +44 -14
  87. package/build/cjs/lib/setup/setupUsers.js +330 -17
  88. package/build/cjs/lib/setup/setupUsers.js.map +2 -2
  89. package/build/cjs/lib/setup/setupVendor.d.ts +14 -1
  90. package/build/cjs/lib/setup/setupVendor.js +40 -8
  91. package/build/cjs/lib/setup/setupVendor.js.map +2 -2
  92. package/build/cjs/lib/setup/setupVisDebug.d.ts +16 -2
  93. package/build/cjs/lib/setup/setupVisDebug.js +41 -17
  94. package/build/cjs/lib/setup/setupVisDebug.js.map +3 -3
  95. package/build/cjs/lib/setup/utils.d.ts +1 -1
  96. package/build/cjs/lib/setup/utils.js +13 -9
  97. package/build/cjs/lib/setup/utils.js.map +3 -3
  98. package/build/cjs/lib/setup.d.ts +1 -1
  99. package/build/cjs/lib/setup.js +858 -1758
  100. package/build/cjs/lib/setup.js.map +3 -3
  101. package/build/esm/lib/_Types.d.ts +8 -1
  102. package/build/esm/lib/_Types.d.ts.map +1 -1
  103. package/build/esm/lib/cli/cliCert.d.ts +7 -4
  104. package/build/esm/lib/cli/cliCert.d.ts.map +1 -1
  105. package/build/esm/lib/cli/cliCert.js +6 -6
  106. package/build/esm/lib/cli/cliCert.js.map +1 -1
  107. package/build/esm/lib/cli/cliCommand.d.ts +63 -15
  108. package/build/esm/lib/cli/cliCommand.d.ts.map +1 -1
  109. package/build/esm/lib/cli/cliCommand.js +4 -1
  110. package/build/esm/lib/cli/cliCommand.js.map +1 -1
  111. package/build/esm/lib/cli/cliCompact.d.ts +5 -2
  112. package/build/esm/lib/cli/cliCompact.d.ts.map +1 -1
  113. package/build/esm/lib/cli/cliCompact.js +5 -2
  114. package/build/esm/lib/cli/cliCompact.js.map +1 -1
  115. package/build/esm/lib/cli/cliDebug.d.ts +5 -2
  116. package/build/esm/lib/cli/cliDebug.d.ts.map +1 -1
  117. package/build/esm/lib/cli/cliDebug.js +4 -1
  118. package/build/esm/lib/cli/cliDebug.js.map +1 -1
  119. package/build/esm/lib/cli/cliHost.d.ts +13 -10
  120. package/build/esm/lib/cli/cliHost.d.ts.map +1 -1
  121. package/build/esm/lib/cli/cliHost.js +8 -5
  122. package/build/esm/lib/cli/cliHost.js.map +1 -1
  123. package/build/esm/lib/cli/cliLogs.d.ts +9 -3
  124. package/build/esm/lib/cli/cliLogs.d.ts.map +1 -1
  125. package/build/esm/lib/cli/cliLogs.js +8 -1
  126. package/build/esm/lib/cli/cliLogs.js.map +1 -1
  127. package/build/esm/lib/cli/cliMessage.d.ts +2 -1
  128. package/build/esm/lib/cli/cliMessage.d.ts.map +1 -1
  129. package/build/esm/lib/cli/cliMessage.js +1 -0
  130. package/build/esm/lib/cli/cliMessage.js.map +1 -1
  131. package/build/esm/lib/cli/cliObjects.d.ts +21 -18
  132. package/build/esm/lib/cli/cliObjects.d.ts.map +1 -1
  133. package/build/esm/lib/cli/cliObjects.js +44 -38
  134. package/build/esm/lib/cli/cliObjects.js.map +1 -1
  135. package/build/esm/lib/cli/cliPlugin.d.ts +3 -3
  136. package/build/esm/lib/cli/cliPlugin.d.ts.map +1 -1
  137. package/build/esm/lib/cli/cliPlugin.js +1 -1
  138. package/build/esm/lib/cli/cliPlugin.js.map +1 -1
  139. package/build/esm/lib/cli/cliProcess.d.ts +17 -7
  140. package/build/esm/lib/cli/cliProcess.d.ts.map +1 -1
  141. package/build/esm/lib/cli/cliProcess.js +73 -12
  142. package/build/esm/lib/cli/cliProcess.js.map +1 -1
  143. package/build/esm/lib/cli/cliStates.d.ts +7 -4
  144. package/build/esm/lib/cli/cliStates.d.ts.map +1 -1
  145. package/build/esm/lib/cli/cliStates.js +6 -2
  146. package/build/esm/lib/cli/cliStates.js.map +1 -1
  147. package/build/esm/lib/progressBar.d.ts +59 -0
  148. package/build/esm/lib/progressBar.d.ts.map +1 -0
  149. package/build/esm/lib/progressBar.js +104 -0
  150. package/build/esm/lib/progressBar.js.map +1 -0
  151. package/build/esm/lib/setup/customError.d.ts +4 -0
  152. package/build/esm/lib/setup/customError.d.ts.map +1 -1
  153. package/build/esm/lib/setup/customError.js +3 -0
  154. package/build/esm/lib/setup/customError.js.map +1 -1
  155. package/build/esm/lib/setup/dbConnection.d.ts.map +1 -1
  156. package/build/esm/lib/setup/dbConnection.js +10 -13
  157. package/build/esm/lib/setup/dbConnection.js.map +1 -1
  158. package/build/esm/lib/setup/formatters.d.ts +4 -4
  159. package/build/esm/lib/setup/formatters.js +4 -4
  160. package/build/esm/lib/setup/pluginInfos.d.ts +5 -0
  161. package/build/esm/lib/setup/pluginInfos.d.ts.map +1 -1
  162. package/build/esm/lib/setup/pluginInfos.js +5 -0
  163. package/build/esm/lib/setup/pluginInfos.js.map +1 -1
  164. package/build/esm/lib/setup/setupBackup.d.ts +53 -0
  165. package/build/esm/lib/setup/setupBackup.d.ts.map +1 -1
  166. package/build/esm/lib/setup/setupBackup.js +132 -13
  167. package/build/esm/lib/setup/setupBackup.js.map +1 -1
  168. package/build/esm/lib/setup/setupInstall.d.ts +51 -15
  169. package/build/esm/lib/setup/setupInstall.d.ts.map +1 -1
  170. package/build/esm/lib/setup/setupInstall.js +228 -23
  171. package/build/esm/lib/setup/setupInstall.js.map +1 -1
  172. package/build/esm/lib/setup/setupLicense.d.ts +13 -0
  173. package/build/esm/lib/setup/setupLicense.d.ts.map +1 -1
  174. package/build/esm/lib/setup/setupLicense.js +31 -1
  175. package/build/esm/lib/setup/setupLicense.js.map +1 -1
  176. package/build/esm/lib/setup/setupList.d.ts +55 -1
  177. package/build/esm/lib/setup/setupList.d.ts.map +1 -1
  178. package/build/esm/lib/setup/setupList.js +61 -8
  179. package/build/esm/lib/setup/setupList.js.map +1 -1
  180. package/build/esm/lib/setup/setupMultihost.d.ts +7 -0
  181. package/build/esm/lib/setup/setupMultihost.d.ts.map +1 -1
  182. package/build/esm/lib/setup/setupMultihost.js +85 -6
  183. package/build/esm/lib/setup/setupMultihost.js.map +1 -1
  184. package/build/esm/lib/setup/setupPacketManager.d.ts +10 -0
  185. package/build/esm/lib/setup/setupPacketManager.d.ts.map +1 -1
  186. package/build/esm/lib/setup/setupPacketManager.js +9 -0
  187. package/build/esm/lib/setup/setupPacketManager.js.map +1 -1
  188. package/build/esm/lib/setup/setupRepo.d.ts +19 -0
  189. package/build/esm/lib/setup/setupRepo.d.ts.map +1 -1
  190. package/build/esm/lib/setup/setupRepo.js +164 -14
  191. package/build/esm/lib/setup/setupRepo.js.map +1 -1
  192. package/build/esm/lib/setup/setupSetup.d.ts +34 -0
  193. package/build/esm/lib/setup/setupSetup.d.ts.map +1 -1
  194. package/build/esm/lib/setup/setupSetup.js +218 -21
  195. package/build/esm/lib/setup/setupSetup.js.map +1 -1
  196. package/build/esm/lib/setup/setupUpgrade.d.ts +13 -2
  197. package/build/esm/lib/setup/setupUpgrade.d.ts.map +1 -1
  198. package/build/esm/lib/setup/setupUpgrade.js +70 -6
  199. package/build/esm/lib/setup/setupUpgrade.js.map +1 -1
  200. package/build/esm/lib/setup/setupUpload.d.ts +77 -1
  201. package/build/esm/lib/setup/setupUpload.d.ts.map +1 -1
  202. package/build/esm/lib/setup/setupUpload.js +164 -7
  203. package/build/esm/lib/setup/setupUpload.js.map +1 -1
  204. package/build/esm/lib/setup/setupUsers.d.ts +44 -14
  205. package/build/esm/lib/setup/setupUsers.d.ts.map +1 -1
  206. package/build/esm/lib/setup/setupUsers.js +346 -14
  207. package/build/esm/lib/setup/setupUsers.js.map +1 -1
  208. package/build/esm/lib/setup/setupVendor.d.ts +14 -1
  209. package/build/esm/lib/setup/setupVendor.d.ts.map +1 -1
  210. package/build/esm/lib/setup/setupVendor.js +33 -2
  211. package/build/esm/lib/setup/setupVendor.js.map +1 -1
  212. package/build/esm/lib/setup/setupVisDebug.d.ts +16 -2
  213. package/build/esm/lib/setup/setupVisDebug.d.ts.map +1 -1
  214. package/build/esm/lib/setup/setupVisDebug.js +39 -14
  215. package/build/esm/lib/setup/setupVisDebug.js.map +1 -1
  216. package/build/esm/lib/setup/utils.d.ts +1 -1
  217. package/build/esm/lib/setup/utils.d.ts.map +1 -1
  218. package/build/esm/lib/setup/utils.js +2 -4
  219. package/build/esm/lib/setup/utils.js.map +1 -1
  220. package/build/esm/lib/setup.d.ts +1 -1
  221. package/build/esm/lib/setup.d.ts.map +1 -1
  222. package/build/esm/lib/setup.js +959 -1910
  223. package/build/esm/lib/setup.js.map +1 -1
  224. package/build/tsconfig.build.tsbuildinfo +1 -1
  225. package/package.json +14 -14
@@ -6,25 +6,30 @@
6
6
  * MIT License
7
7
  *
8
8
  */
9
- import { tools, EXIT_CODES } from '@iobroker/js-controller-common';
10
- import fs from 'fs-extra';
11
9
  import path from 'node:path';
12
- import semver from 'semver';
13
10
  import child_process from 'node:child_process';
14
- import axios from 'axios';
15
11
  import { URL } from 'node:url';
12
+ import { createRequire } from 'node:module';
13
+ import axios from 'axios';
14
+ import fs from 'fs-extra';
15
+ import semver from 'semver';
16
+ import { tools, EXIT_CODES } from '@iobroker/js-controller-common';
16
17
  import { Upload } from '../../lib/setup/setupUpload.js';
17
18
  import { PacketManager } from '../../lib/setup/setupPacketManager.js';
18
19
  import { getRepository } from '../../lib/setup/utils.js';
19
20
  import { IoBrokerError } from '../../lib/setup/customError.js';
21
+ import { dbConnect } from '../../lib/setup/dbConnection.js';
22
+ import * as CLITools from '../../lib/cli/cliTools.js';
20
23
  import { SYSTEM_ADAPTER_PREFIX } from '@iobroker/js-controller-common-db/constants';
21
- import { createRequire } from 'node:module';
22
24
  // eslint-disable-next-line unicorn/prefer-module
23
25
  const require = createRequire(import.meta.url || `file://${__filename}`);
24
26
  const hostname = tools.getHostName();
25
27
  const osPlatform = process.platform;
26
28
  /** Note: this is duplicated in preinstallCheck */
27
29
  const RECOMMENDED_NPM_VERSION = 8;
30
+ /**
31
+ * CLI command to install and download adapters and create their instances
32
+ */
28
33
  export class Install {
29
34
  isRootOnUnix;
30
35
  objects;
@@ -34,6 +39,9 @@ export class Install {
34
39
  tarballRegex;
35
40
  upload;
36
41
  packetManager;
42
+ /**
43
+ * @param options The states/objects clients, CLI parameters and the process-exit callback
44
+ */
37
45
  constructor(options) {
38
46
  this.isRootOnUnix = typeof process.getuid === 'function' && process.getuid() === 0;
39
47
  options = options || {};
@@ -88,7 +96,7 @@ export class Install {
88
96
  if (!options || typeof options !== 'object') {
89
97
  options = {};
90
98
  }
91
- stoppedList = stoppedList || [];
99
+ stoppedList ||= [];
92
100
  let sources;
93
101
  if (!repoUrlOrRepo || !tools.isObject(repoUrlOrRepo)) {
94
102
  sources = await getRepository({ repoName: repoUrlOrRepo, objects: this.objects });
@@ -250,7 +258,8 @@ export class Install {
250
258
  unsafePerm: !!options.unsafePerm,
251
259
  });
252
260
  // code 1 is sometimes a real error and sometimes a strange error, where everything is installed but still the error
253
- const isSuccess = result.success || (result.exitCode === 1 && !result.stderr.startsWith('npm ERR!'));
261
+ const isSuccess = result.success ||
262
+ (result.exitCode === 1 && !result.stderr.startsWith('npm ERR!') && !result.stderr.startsWith('npm error '));
254
263
  if (isSuccess) {
255
264
  // Determine where the packet would be installed if npm succeeds
256
265
  // TODO: There's probably a better way to figure this out
@@ -309,7 +318,7 @@ export class Install {
309
318
  console.info('Try to solve ENOTEMPTY error automatically');
310
319
  const errorFilePath = result.stderr
311
320
  .split('\n')
312
- ?.find(line => line.startsWith('npm ERR! dest'))
321
+ ?.find(line => line.startsWith('npm ERR! dest') || line.startsWith('npm error dest'))
313
322
  ?.split('dest')[1]
314
323
  .trim();
315
324
  const affectedNodeModulesPath = errorFilePath ? path.join(errorFilePath, '..') : undefined;
@@ -464,7 +473,7 @@ export class Install {
464
473
  obj.from = `system.host.${hostname}.cli`;
465
474
  obj.ts = Date.now();
466
475
  try {
467
- await this.objects.extendObjectAsync(obj._id, obj);
476
+ await this.objects.extendObject(obj._id, obj);
468
477
  }
469
478
  catch (err) {
470
479
  console.error(`host.${hostname} error setObject ${obj._id} ${err.message}`);
@@ -478,8 +487,8 @@ export class Install {
478
487
  * Installs given adapter
479
488
  *
480
489
  * @param adapter The adapter name
481
- * @param repoUrl
482
- * @param _installCount
490
+ * @param repoUrl Optional repository URL to install the adapter from
491
+ * @param _installCount Internal recursion counter limiting the number of dependency installs
483
492
  */
484
493
  async installAdapter(adapter, repoUrl, _installCount) {
485
494
  _installCount = _installCount || 0;
@@ -546,6 +555,11 @@ export class Install {
546
555
  await this.upload.upgradeAdapterObjects(adapter);
547
556
  return adapter;
548
557
  }
558
+ /**
559
+ * Install the OS packages required by an adapter
560
+ *
561
+ * @param osDependencies The OS dependencies declared by the adapter, keyed by platform
562
+ */
549
563
  async installOSPackages(osDependencies) {
550
564
  if (osPlatform in osDependencies) {
551
565
  try {
@@ -559,6 +573,12 @@ export class Install {
559
573
  }
560
574
  }
561
575
  }
576
+ /**
577
+ * Run the custom install script of an adapter if it defines one
578
+ *
579
+ * @param adapter The adapter name
580
+ * @param config The adapter object containing the install configuration
581
+ */
562
582
  async callInstallOfAdapter(adapter, config) {
563
583
  if (config.common.install) {
564
584
  // Install node modules
@@ -814,10 +834,10 @@ export class Install {
814
834
  /**
815
835
  * Enumerate all instances of an adapter
816
836
  *
817
- * @param knownObjIDs
818
- * @param notDeleted
819
- * @param adapter
820
- * @param instance
837
+ * @param knownObjIDs Accumulator of object IDs found so far
838
+ * @param notDeleted Accumulator of object IDs that must not be deleted
839
+ * @param adapter The adapter name
840
+ * @param instance Optional instance number to restrict the search to
821
841
  */
822
842
  async _enumerateAdapterInstances(knownObjIDs, notDeleted, adapter, instance) {
823
843
  if (!notDeleted) {
@@ -867,9 +887,9 @@ export class Install {
867
887
  /**
868
888
  * Enumerate all meta objects of an adapter
869
889
  *
870
- * @param knownObjIDs
871
- * @param adapter
872
- * @param metaFilesToDelete
890
+ * @param knownObjIDs Accumulator of object IDs found so far
891
+ * @param adapter The adapter name
892
+ * @param metaFilesToDelete Accumulator of meta files that should be deleted
873
893
  */
874
894
  async _enumerateAdapterMeta(knownObjIDs, adapter, metaFilesToDelete) {
875
895
  try {
@@ -1076,9 +1096,9 @@ export class Install {
1076
1096
  /**
1077
1097
  * Enumerate all state IDs of an adapter (or instance)
1078
1098
  *
1079
- * @param knownStateIDs
1080
- * @param adapter
1081
- * @param instance
1099
+ * @param knownStateIDs Accumulator of state IDs found so far
1100
+ * @param adapter The adapter name
1101
+ * @param instance Optional instance number to restrict the search to
1082
1102
  */
1083
1103
  async _enumerateAdapterStates(knownStateIDs, adapter, instance) {
1084
1104
  for (const pattern of [
@@ -1107,8 +1127,8 @@ export class Install {
1107
1127
  /**
1108
1128
  * delete WWW pages, objects and meta files
1109
1129
  *
1110
- * @param adapter
1111
- * @param metaFilesToDelete
1130
+ * @param adapter The adapter name
1131
+ * @param metaFilesToDelete The meta files that should be deleted
1112
1132
  */
1113
1133
  async _deleteAdapterFiles(adapter, metaFilesToDelete) {
1114
1134
  // special files, which are not meta (vis widgets), combined with meta object ids
@@ -1624,4 +1644,189 @@ export class Install {
1624
1644
  return instances;
1625
1645
  }
1626
1646
  }
1647
+ /**
1648
+ * @param options options provided by the processCommand dispatcher
1649
+ */
1650
+ export function processCommandUrl(options) {
1651
+ const { args, params, callback } = options;
1652
+ let url = args[0];
1653
+ const name = args[1];
1654
+ if (!url) {
1655
+ console.log('Please provide a URL to install from and optionally a name of the adapter to install');
1656
+ return void callback(EXIT_CODES.INVALID_ARGUMENTS);
1657
+ }
1658
+ if (url[0] === '"' && url[url.length - 1] === '"') {
1659
+ url = url.substring(1, url.length - 1);
1660
+ }
1661
+ url = url.trim();
1662
+ dbConnect(params, async ({ objects, states }) => {
1663
+ const install = new Install({
1664
+ objects,
1665
+ states,
1666
+ processExit: callback,
1667
+ params,
1668
+ });
1669
+ try {
1670
+ await install.installAdapterFromUrl(url, name);
1671
+ return void callback(EXIT_CODES.NO_ERROR);
1672
+ }
1673
+ catch (e) {
1674
+ console.error(`Could not install adapter from url: ${e.message}`);
1675
+ return void callback(EXIT_CODES.CANNOT_INSTALL_NPM_PACKET);
1676
+ }
1677
+ });
1678
+ }
1679
+ /**
1680
+ * @param options options provided by the processCommand dispatcher
1681
+ */
1682
+ export function processCommandInstall(options) {
1683
+ const { command, args, params, callback } = options;
1684
+ const { showHelp } = options.commandOptions;
1685
+ let name = args[0];
1686
+ let instance = args[1];
1687
+ let repoUrl = args[2];
1688
+ if (parseInt(instance, 10).toString() !== (instance || '').toString()) {
1689
+ repoUrl = instance;
1690
+ instance = undefined;
1691
+ }
1692
+ if (parseInt(repoUrl, 10).toString() === (repoUrl || '').toString()) {
1693
+ const temp = instance;
1694
+ instance = repoUrl;
1695
+ repoUrl = temp;
1696
+ }
1697
+ if (instance && parseInt(instance, 10).toString() === (instance || '').toString()) {
1698
+ params.instance = parseInt(instance, 10);
1699
+ }
1700
+ // If user accidentally wrote tools.appName.adapter => remove adapter
1701
+ name = CLITools.normalizeAdapterName(name);
1702
+ const parsedName = CLITools.splitAdapterOrInstanceIdentifierWithVersion(name);
1703
+ if (!parsedName) {
1704
+ console.log('Invalid adapter name for install');
1705
+ showHelp();
1706
+ return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
1707
+ }
1708
+ // split the adapter into its parts if necessary
1709
+ if (parsedName.instance !== null) {
1710
+ params.instance = parsedName.instance;
1711
+ }
1712
+ name = parsedName.name;
1713
+ const installName = parsedName.nameWithVersion;
1714
+ const adapterDir = tools.getAdapterDir(name);
1715
+ dbConnect(params, async ({ objects, states }) => {
1716
+ const install = new Install({
1717
+ objects,
1718
+ states,
1719
+ processExit: callback,
1720
+ params,
1721
+ });
1722
+ if (params.host && params.host !== tools.getHostName()) {
1723
+ // if host argument provided we should check, that host actually exists in mh environment
1724
+ let obj;
1725
+ try {
1726
+ obj = await objects.getObjectAsync(`system.host.${params.host}`);
1727
+ }
1728
+ catch (err) {
1729
+ console.warn(`Could not check existence of host "${params.host}": ${err.message}`);
1730
+ }
1731
+ if (!obj) {
1732
+ console.error(`Cannot add instance to non-existing host "${params.host}"`);
1733
+ return void callback(EXIT_CODES.NON_EXISTING_HOST);
1734
+ }
1735
+ }
1736
+ if (!adapterDir || !fs.existsSync(adapterDir)) {
1737
+ try {
1738
+ const { stoppedList } = await install.downloadPacket(repoUrl, installName);
1739
+ await install.installAdapter(installName, repoUrl);
1740
+ await install.enableInstances(stoppedList, true); // even if unlikely make sure to re-enable disabled instances
1741
+ if (command !== 'install' && command !== 'i') {
1742
+ await install.createInstance(name, params);
1743
+ }
1744
+ return void callback();
1745
+ }
1746
+ catch (e) {
1747
+ console.error(`adapter "${name}" cannot be installed: ${e.message}`);
1748
+ return void callback(e instanceof IoBrokerError ? e.code : EXIT_CODES.UNKNOWN_ERROR);
1749
+ }
1750
+ }
1751
+ else if (command !== 'install' && command !== 'i') {
1752
+ try {
1753
+ await install.createInstance(name, params);
1754
+ return void callback();
1755
+ }
1756
+ catch (err) {
1757
+ console.error(`adapter "${name}" cannot be installed: ${err.message}`);
1758
+ return void callback(EXIT_CODES.UNKNOWN_ERROR);
1759
+ }
1760
+ }
1761
+ else {
1762
+ console.log(`adapter "${name}" already installed. Use "upgrade" to upgrade to a newer version.`);
1763
+ return void callback(EXIT_CODES.ADAPTER_ALREADY_INSTALLED);
1764
+ }
1765
+ });
1766
+ }
1767
+ /**
1768
+ * @param options options provided by the processCommand dispatcher
1769
+ */
1770
+ export function processCommandDelete(options) {
1771
+ const { args, params, callback } = options;
1772
+ const { showHelp } = options.commandOptions;
1773
+ let adapter = args[0];
1774
+ let instance = args[1];
1775
+ // The adapter argument is required
1776
+ if (!adapter) {
1777
+ showHelp();
1778
+ return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
1779
+ }
1780
+ // If the user accidentally wrote <tools.appName>.adapter,
1781
+ // remove <tools.appName> from the adapter name
1782
+ adapter = CLITools.normalizeAdapterName(adapter);
1783
+ // Avoid deleting stuff we don't want to delete
1784
+ // e.g. `system.adapter.*`
1785
+ if (!instance) {
1786
+ // Ensure that adapter contains a valid adapter (without instance nr)
1787
+ // or instance (with instance nr) identifier
1788
+ if (!CLITools.validateAdapterOrInstanceIdentifier(adapter)) {
1789
+ showHelp();
1790
+ return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
1791
+ }
1792
+ // split the adapter into adapter + instance if necessary
1793
+ if (adapter.indexOf('.') > -1) {
1794
+ [adapter, instance] = adapter.split('.', 2);
1795
+ }
1796
+ }
1797
+ else {
1798
+ // ensure that adapter contains a valid adapter identifier
1799
+ // and the instance is a number
1800
+ if (!CLITools.validateAdapterIdentifier(adapter) || !/^\d+$/.test(instance)) {
1801
+ showHelp();
1802
+ return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
1803
+ }
1804
+ }
1805
+ if (instance) {
1806
+ dbConnect(params, async ({ objects, states }) => {
1807
+ const install = new Install({
1808
+ objects,
1809
+ states,
1810
+ processExit: callback,
1811
+ params,
1812
+ });
1813
+ console.log(`Delete instance "${adapter}.${instance}"`);
1814
+ await install.deleteInstance(adapter, parseInt(instance));
1815
+ callback();
1816
+ });
1817
+ }
1818
+ else {
1819
+ dbConnect(params, async ({ objects, states }) => {
1820
+ const install = new Install({
1821
+ objects,
1822
+ states,
1823
+ processExit: callback,
1824
+ params,
1825
+ });
1826
+ console.log(`Delete adapter "${adapter}"`);
1827
+ const resultCode = await install.deleteAdapter(adapter);
1828
+ callback(resultCode);
1829
+ });
1830
+ }
1831
+ }
1627
1832
  //# sourceMappingURL=setupInstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupInstall.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupInstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupInstall.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupInstall.ts"],"names":[],"mappings":"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"}