@iobroker/js-controller-cli 4.0.23 → 4.1.0-alpha.0-20220823-bd606e5c

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 (77) hide show
  1. package/build/index.d.ts +87 -0
  2. package/{index.js → build/index.js} +8 -2
  3. package/build/lib/cli/cliCert.d.ts +16 -0
  4. package/build/lib/cli/cliCert.d.ts.map +1 -0
  5. package/{lib → build/lib}/cli/cliCert.js +6 -10
  6. package/build/lib/cli/cliCert.js.map +1 -0
  7. package/build/lib/cli/cliCommand.d.ts +41 -0
  8. package/build/lib/cli/cliCommand.d.ts.map +1 -0
  9. package/build/lib/cli/cliCommand.js +27 -0
  10. package/build/lib/cli/cliCommand.js.map +1 -0
  11. package/build/lib/cli/cliCompact.d.ts +26 -0
  12. package/build/lib/cli/cliCompact.d.ts.map +1 -0
  13. package/{lib → build/lib}/cli/cliCompact.js +24 -44
  14. package/build/lib/cli/cliCompact.js.map +1 -0
  15. package/build/lib/cli/cliDebug.d.ts +19 -0
  16. package/build/lib/cli/cliDebug.d.ts.map +1 -0
  17. package/{lib → build/lib}/cli/cliDebug.js +7 -14
  18. package/build/lib/cli/cliDebug.js.map +1 -0
  19. package/build/lib/cli/cliHost.d.ts +36 -0
  20. package/build/lib/cli/cliHost.d.ts.map +1 -0
  21. package/{lib → build/lib}/cli/cliHost.js +23 -48
  22. package/build/lib/cli/cliHost.js.map +1 -0
  23. package/build/lib/cli/cliLogs.d.ts +58 -0
  24. package/build/lib/cli/cliLogs.d.ts.map +1 -0
  25. package/{lib → build/lib}/cli/cliLogs.js +17 -21
  26. package/build/lib/cli/cliLogs.js.map +1 -0
  27. package/build/lib/cli/cliMessage.d.ts +10 -0
  28. package/build/lib/cli/cliMessage.d.ts.map +1 -0
  29. package/{lib → build/lib}/cli/cliMessage.js +6 -9
  30. package/build/lib/cli/cliMessage.js.map +1 -0
  31. package/build/lib/cli/cliObjects.d.ts +105 -0
  32. package/build/lib/cli/cliObjects.d.ts.map +1 -0
  33. package/{lib → build/lib}/cli/cliObjects.js +70 -111
  34. package/build/lib/cli/cliObjects.js.map +1 -0
  35. package/build/lib/cli/cliPlugin.d.ts +23 -0
  36. package/build/lib/cli/cliPlugin.d.ts.map +1 -0
  37. package/{lib → build/lib}/cli/cliPlugin.js +25 -51
  38. package/build/lib/cli/cliPlugin.js.map +1 -0
  39. package/build/lib/cli/cliProcess.d.ts +50 -0
  40. package/build/lib/cli/cliProcess.d.ts.map +1 -0
  41. package/{lib → build/lib}/cli/cliProcess.js +51 -63
  42. package/build/lib/cli/cliProcess.js.map +1 -0
  43. package/build/lib/cli/cliStates.d.ts +49 -0
  44. package/build/lib/cli/cliStates.d.ts.map +1 -0
  45. package/{lib → build/lib}/cli/cliStates.js +127 -122
  46. package/build/lib/cli/cliStates.js.map +1 -0
  47. package/build/lib/cli/cliTools.d.ts +64 -0
  48. package/build/lib/cli/cliTools.d.ts.map +1 -0
  49. package/{lib → build/lib}/cli/cliTools.js +37 -49
  50. package/build/lib/cli/cliTools.js.map +1 -0
  51. package/build/lib/cli/messages.d.ts +53 -0
  52. package/build/lib/cli/messages.d.ts.map +1 -0
  53. package/{lib → build/lib}/cli/messages.js +27 -66
  54. package/build/lib/cli/messages.js.map +1 -0
  55. package/build/lib/setup/setupBackup.d.ts +126 -0
  56. package/build/lib/setup/setupBackup.d.ts.map +1 -0
  57. package/build/lib/setup/setupBackup.js +1031 -0
  58. package/build/lib/setup/setupBackup.js.map +1 -0
  59. package/build/lib/setup/setupInstall.d.ts +23 -0
  60. package/build/lib/setup/setupInstall.d.ts.map +1 -0
  61. package/build/lib/setup/setupInstall.js +1620 -0
  62. package/build/lib/setup/setupInstall.js.map +1 -0
  63. package/build/lib/setup/setupList.d.ts +49 -0
  64. package/build/lib/setup/setupList.d.ts.map +1 -0
  65. package/build/lib/setup/setupList.js +722 -0
  66. package/build/lib/setup/setupList.js.map +1 -0
  67. package/build/lib/setup/setupPacketManager.d.ts +65 -0
  68. package/build/lib/setup/setupPacketManager.d.ts.map +1 -0
  69. package/build/lib/setup/setupPacketManager.js +216 -0
  70. package/build/lib/setup/setupPacketManager.js.map +1 -0
  71. package/build/lib/setup/setupUpload.d.ts +72 -0
  72. package/build/lib/setup/setupUpload.d.ts.map +1 -0
  73. package/build/lib/setup/setupUpload.js +784 -0
  74. package/build/lib/setup/setupUpload.js.map +1 -0
  75. package/package.json +18 -11
  76. package/lib/cli/cliCommand.js +0 -58
  77. package/lib/setup/setupList.js +0 -840
@@ -0,0 +1,36 @@
1
+ export = CLIHost;
2
+ declare class CLIHost extends CLICommand {
3
+ /**
4
+ * Executes a command
5
+ * @param {any[]} args
6
+ */
7
+ execute(args: any[]): void;
8
+ /**
9
+ * When in single-host mode, changes the hostname of the host and all instances to the current one
10
+ * @param {any[]} _args
11
+ */
12
+ self(_args: any[]): void;
13
+ /**
14
+ * Changes the current host's hostname to the given one
15
+ * @param {any[]} args
16
+ */
17
+ set(args: any[]): undefined;
18
+ /**
19
+ * Removes the host with the given name
20
+ * @param {any[]} args
21
+ */
22
+ remove(args: any[]): undefined;
23
+ /**
24
+ * Renames the host with the given name to the current one (opposite of `set()`)
25
+ * @param {any[]} args
26
+ */
27
+ rename(args: any[]): undefined;
28
+ /**
29
+ * Renames the host with the hostname `oldHostname` to the hostname `newHostname`
30
+ * @param {string?} oldHostname The hostname to rename from or `undefined` to rename all hosts (single-host mode only!)
31
+ * @param {string} newHostname The hostname to rename to
32
+ */
33
+ renameHost(oldHostname: string | null, newHostname: string): void;
34
+ }
35
+ import { CLICommand } from "./cliCommand.js";
36
+ //# sourceMappingURL=cliHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliHost.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/cliHost.js"],"names":[],"mappings":";AASiB;IAMb;;;OAGG;IACH,cAFW,GAAG,EAAE,QAgBf;IAED;;;OAGG;IACH,YAFW,GAAG,EAAE,QAIf;IAED;;;OAGG;IACH,UAFW,GAAG,EAAE,aAaf;IAED;;;OAGG;IACH,aAFW,GAAG,EAAE,aAsEf;IAED;;;OAGG;IACH,aAFW,GAAG,EAAE,aAcf;IAED;;;;OAIG;IACH,wBAHW,MAAM,sBACN,MAAM,QA0HhB;CACJ"}
@@ -1,25 +1,22 @@
1
1
  'use strict';
2
2
  const CLI = require('./messages.js');
3
- const CLICommand = require('./cliCommand.js');
3
+ const { CLICommand } = require('./cliCommand.js');
4
4
  const { enumHosts, enumObjects, getObjectFrom, enumInstances } = require('./cliTools');
5
5
  const { tools } = require('@iobroker/js-controller-common');
6
6
  const os = require('os');
7
7
  const fs = require('fs-extra');
8
-
9
8
  /** Command iobroker host ... */
10
9
  module.exports = class CLIHost extends CLICommand {
11
10
  /** @param {import('./cliCommand').CLICommandOptions} options */
12
11
  constructor(options) {
13
12
  super(options);
14
13
  }
15
-
16
14
  /**
17
15
  * Executes a command
18
16
  * @param {any[]} args
19
17
  */
20
18
  execute(args) {
21
19
  const command = args[0];
22
-
23
20
  switch (command) {
24
21
  case 'this':
25
22
  case 'self':
@@ -32,7 +29,6 @@ module.exports = class CLIHost extends CLICommand {
32
29
  return this.rename(args);
33
30
  }
34
31
  }
35
-
36
32
  /**
37
33
  * When in single-host mode, changes the hostname of the host and all instances to the current one
38
34
  * @param {any[]} _args
@@ -40,53 +36,44 @@ module.exports = class CLIHost extends CLICommand {
40
36
  self(_args) {
41
37
  this.renameHost(undefined, os.hostname());
42
38
  }
43
-
44
39
  /**
45
40
  * Changes the current host's hostname to the given one
46
41
  * @param {any[]} args
47
42
  */
48
43
  set(args) {
49
44
  const { callback } = this.options;
50
-
51
45
  /** @type {string} */
52
46
  const newHostname = args[1];
53
47
  if (!newHostname) {
54
48
  CLI.error.requiredArgumentMissing('newHostname', 'host set newHostname');
55
49
  return void callback(34);
56
50
  }
57
-
58
51
  this.renameHost(tools.getHostName(), newHostname);
59
52
  }
60
-
61
53
  /**
62
54
  * Removes the host with the given name
63
55
  * @param {any[]} args
64
56
  */
65
57
  remove(args) {
66
58
  const { callback, dbConnect } = this.options;
67
-
68
59
  /** @type {string} */
69
60
  const hostname = args[1];
70
61
  if (!hostname) {
71
62
  CLI.error.requiredArgumentMissing('hostname', 'host remove hostname');
72
63
  return void callback(34);
73
64
  }
74
-
75
65
  const newHostname = tools.getHostName();
76
-
77
66
  if (hostname === newHostname) {
78
67
  // avoid object deletion when target host is same host
79
68
  CLI.error.dontRemoveCurrentHost(hostname);
80
69
  return void callback(35);
81
70
  }
82
-
83
71
  dbConnect(async (objects, states, isOffline) => {
84
72
  try {
85
73
  if (!isOffline) {
86
74
  CLI.error.cannotChangeRunningSystem();
87
75
  return void callback(30);
88
76
  }
89
-
90
77
  // Find the requested host object
91
78
  const hosts = await enumHosts(objects);
92
79
  const hostToDelete = hosts.find(host => host.common.hostname === hostname);
@@ -94,15 +81,14 @@ module.exports = class CLIHost extends CLICommand {
94
81
  CLI.error.hostDoesNotExist(hostname);
95
82
  return void callback(30);
96
83
  }
97
-
98
84
  // Delete it
99
85
  try {
100
86
  await objects.delObjectAsync(hostToDelete._id);
101
- } catch (err) {
87
+ }
88
+ catch (err) {
102
89
  CLI.error.cannotDeleteObject(hostToDelete._id, err.message);
103
90
  return void callback(30);
104
91
  }
105
-
106
92
  // Also delete its states
107
93
  const hostStates = await enumObjects(objects, 'state', `system.host.${hostname}.`);
108
94
  for (const state of hostStates) {
@@ -110,46 +96,41 @@ module.exports = class CLIHost extends CLICommand {
110
96
  try {
111
97
  await objects.delObjectAsync(state._id);
112
98
  CLI.success.stateDeleted(state._id);
113
- } catch (err) {
99
+ }
100
+ catch (err) {
114
101
  CLI.error.cannotDeleteObject(state._id, err.message);
115
102
  }
116
103
  }
117
-
118
104
  // Move all instances from the deleted host to the current one
119
105
  const instances = await enumInstances(objects);
120
106
  const instancesToRename = instances.filter(i => i.common.host === hostname);
121
107
  for (const instance of instancesToRename) {
122
108
  await changeInstanceHost(objects, instance, newHostname);
123
109
  }
124
-
125
110
  // Notify the user that we are done
126
111
  CLI.success.hostDeleted(hostname);
127
112
  return void callback();
128
- } catch (err) {
113
+ }
114
+ catch (err) {
129
115
  CLI.error.unknown(err.message);
130
116
  return void callback(1);
131
117
  }
132
118
  });
133
119
  }
134
-
135
120
  /**
136
121
  * Renames the host with the given name to the current one (opposite of `set()`)
137
122
  * @param {any[]} args
138
123
  */
139
124
  rename(args) {
140
125
  const { callback } = this.options;
141
-
142
126
  /** @type {string} */
143
127
  const oldHostname = args[0];
144
-
145
128
  if (!oldHostname) {
146
129
  CLI.error.requiredArgumentMissing('oldHostname', 'host oldHostname');
147
130
  return void callback(34);
148
131
  }
149
-
150
132
  this.renameHost(oldHostname, os.hostname());
151
133
  }
152
-
153
134
  /**
154
135
  * Renames the host with the hostname `oldHostname` to the hostname `newHostname`
155
136
  * @param {string?} oldHostname The hostname to rename from or `undefined` to rename all hosts (single-host mode only!)
@@ -163,7 +144,6 @@ module.exports = class CLIHost extends CLICommand {
163
144
  CLI.error.cannotChangeRunningSystem();
164
145
  return void callback(30);
165
146
  }
166
-
167
147
  const hosts = await enumHosts(objects);
168
148
  if (hosts.length > 1 && oldHostname === undefined) {
169
149
  // iobroker host this/self in multihost is not allowed
@@ -171,14 +151,12 @@ module.exports = class CLIHost extends CLICommand {
171
151
  showHelp();
172
152
  return void callback(30);
173
153
  }
174
-
175
154
  // Does another host with the target name exist?
176
155
  if (hosts.find(obj => obj.common.hostname === newHostname)) {
177
156
  // TODO: This prevents migration of instances if host already exists, but we need it to prevent multiple hosts with same name
178
157
  CLI.error.hostAlreadyExists(newHostname);
179
158
  return void callback(30);
180
159
  }
181
-
182
160
  // Remember the new hostname in the system settings
183
161
  const configFileName = tools.getConfigFileName();
184
162
  const configData = fs.readJSONSync(configFileName);
@@ -186,26 +164,23 @@ module.exports = class CLIHost extends CLICommand {
186
164
  configData.system.hostname = newHostname;
187
165
  fs.writeFileSync(configFileName, JSON.stringify(configData, null, 2), 'utf8');
188
166
  }
189
-
190
167
  // Rename the host(s)
191
168
  for (const host of hosts) {
192
169
  // Remember the current hostname of this object because we need it later
193
170
  const prevHostname = host.common.hostname;
194
-
195
171
  // Rename only the hostname we're supposed to rename!
196
172
  if (oldHostname && prevHostname !== oldHostname) {
197
173
  continue;
198
174
  }
199
-
200
175
  // Rename the host object
201
176
  // Therefore delete the old one because we will recreate it under a new name
202
177
  try {
203
178
  await objects.delObjectAsync(host._id);
204
- } catch (err) {
179
+ }
180
+ catch (err) {
205
181
  CLI.error.cannotDeleteObject(host._id, err.message);
206
182
  continue;
207
183
  }
208
-
209
184
  // Now update the object
210
185
  Object.assign(host, {
211
186
  _id: `system.host.${newHostname}`,
@@ -222,11 +197,11 @@ module.exports = class CLIHost extends CLICommand {
222
197
  // And save it
223
198
  try {
224
199
  await objects.setObjectAsync(host._id, host);
225
- } catch (err) {
200
+ }
201
+ catch (err) {
226
202
  CLI.error.cannotChangeObject(host._id, err.message);
227
203
  continue;
228
204
  }
229
-
230
205
  // Rename its states
231
206
  const hostStateObjects = await enumObjects(objects, 'state', `system.host.${prevHostname}.`);
232
207
  const hostFolders = await enumObjects(objects, 'folder', `system.host.${prevHostname}.`);
@@ -234,50 +209,48 @@ module.exports = class CLIHost extends CLICommand {
234
209
  // Therefore delete the old one because we will recreate it under a new name
235
210
  try {
236
211
  await objects.delObjectAsync(object._id);
237
- } catch (err) {
212
+ }
213
+ catch (err) {
238
214
  CLI.error.cannotDeleteObject(object._id, err.message);
239
215
  continue;
240
216
  }
241
-
242
217
  // Now update the object
243
218
  Object.assign(object, {
244
219
  _id: object._id.replace(`system.host.${prevHostname}`, `system.host.${newHostname}`),
245
220
  from: getObjectFrom(),
246
221
  ts: Date.now()
247
222
  });
248
-
249
223
  // And save it
250
224
  try {
251
225
  await objects.setObjectAsync(object._id, object);
252
- } catch (err) {
226
+ }
227
+ catch (err) {
253
228
  CLI.error.cannotChangeObject(object._id, err.message);
254
229
  }
255
230
  }
256
-
257
231
  CLI.success.hostRenamed(prevHostname, newHostname);
258
232
  }
259
-
260
233
  // Also rename all instances
261
234
  const instances = await enumInstances(objects);
262
- const instancesToRename =
263
- oldHostname === undefined ? instances : instances.filter(i => i.common.host === oldHostname);
235
+ const instancesToRename = oldHostname === undefined ? instances : instances.filter(i => i.common.host === oldHostname);
264
236
  if (instancesToRename.length > 0) {
265
237
  for (const instance of instancesToRename) {
266
238
  // Update each instance object
267
239
  await changeInstanceHost(objects, instance, newHostname);
268
240
  }
269
- } else {
241
+ }
242
+ else {
270
243
  CLI.warn.noInstancesFoundOnHost(oldHostname);
271
244
  }
272
245
  return void callback();
273
- } catch (err) {
246
+ }
247
+ catch (err) {
274
248
  CLI.error.unknown(err.message);
275
249
  return void callback(1);
276
250
  }
277
251
  });
278
252
  }
279
253
  };
280
-
281
254
  /**
282
255
  * Changes the host an instance is running on
283
256
  * @param {any} objects The objects DB to use
@@ -294,8 +267,10 @@ async function changeInstanceHost(objects, instance, newHostname) {
294
267
  try {
295
268
  await objects.setObjectAsync(instance._id, instance);
296
269
  CLI.success.instanceHostChanged(instance._id, oldInstanceHost, newHostname);
297
- } catch (e) {
270
+ }
271
+ catch (e) {
298
272
  CLI.error.cannotChangeObject(instance._id, e.message);
299
273
  // resolve anyways, we don't want to cause errors
300
274
  }
301
275
  }
276
+ //# sourceMappingURL=cliHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliHost.js","sourceRoot":"","sources":["../../../src/lib/cli/cliHost.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export = CLILogs;
2
+ declare class CLILogs extends CLICommand {
3
+ /** @param {CLICommandOptions} options */
4
+ constructor(options: CLICommandOptions);
5
+ /** @type {Map<string, number>} */
6
+ fileSizes: Map<string, number>;
7
+ isReady: boolean;
8
+ /**
9
+ * Executes a command
10
+ * @param {any[]} args
11
+ */
12
+ execute(args: any[], params: any): void;
13
+ /**
14
+ * @typedef CLILogsOptions
15
+ * @property {boolean} [complete] Whether to show today's full log
16
+ * @property {RegExp} [regex] An optional RegExp to filter by
17
+ */
18
+ /**
19
+ * Called by chokidar when watched files change
20
+ * @param {CLILogsOptions} options some options
21
+ * @param {string} event The type of change
22
+ * @param {*} path Which path has changed
23
+ * @param {*} stats Information about the file
24
+ */
25
+ watchHandler(options: {
26
+ /**
27
+ * Whether to show today's full log
28
+ */
29
+ complete?: boolean | undefined;
30
+ /**
31
+ * An optional RegExp to filter by
32
+ */
33
+ regex?: RegExp | undefined;
34
+ }, event: string, path: any, stats: any): void;
35
+ /**
36
+ * If the log file belongs to today
37
+ * @param {string} path The log file path
38
+ */
39
+ isTodaysLogfile(path: string): boolean;
40
+ /**
41
+ * Streams a portion of a file to the console
42
+ * @param {string} path The file to stream
43
+ * @param {number} start The offset in bytes where to start
44
+ * @param {CLILogsOptions} options some options
45
+ */
46
+ streamChange(path: string, start: number, options: {
47
+ /**
48
+ * Whether to show today's full log
49
+ */
50
+ complete?: boolean | undefined;
51
+ /**
52
+ * An optional RegExp to filter by
53
+ */
54
+ regex?: RegExp | undefined;
55
+ }): void;
56
+ }
57
+ import { CLICommand } from "./cliCommand.js";
58
+ //# sourceMappingURL=cliLogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliLogs.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/cliLogs.js"],"names":[],"mappings":";AAUiB;IACb,yCAAyC;IACzC,wCAKC;IAHG,kCAAkC;IAClC,WADW,IAAI,MAAM,EAAE,MAAM,CAAC,CACJ;IAC1B,iBAAoB;IAGxB;;;OAGG;IACH,cAFW,GAAG,EAAE,qBA8Cf;IAED;;;;OAIG;IAEH;;;;;;OAMG;IACH;;;;;;;;;cAJW,MAAM,+BAmBhB;IAED;;;OAGG;IACH,sBAFW,MAAM,WAKhB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,SACN,MAAM;;;;;;;;;aAqBhB;CACJ"}
@@ -1,23 +1,20 @@
1
1
  'use strict';
2
- // const CLI = require('./messages.js');
3
- const CLICommand = require('./cliCommand.js');
2
+ const { CLICommand } = require('./cliCommand.js');
4
3
  const { getConfigFileName } = require('@iobroker/js-controller-common').tools;
5
4
  const chokidar = require('chokidar');
6
5
  const fs = require('fs-extra');
7
6
  const os = require('os');
8
7
  const es = require('event-stream');
9
8
  const { tools } = require('@iobroker/js-controller-common');
10
-
11
9
  /** Command ioBroker state ... */
12
10
  module.exports = class CLILogs extends CLICommand {
13
- /** @param {import('./cliCommand').CLICommandOptions} options */
11
+ /** @param {CLICommandOptions} options */
14
12
  constructor(options) {
15
13
  super(options);
16
14
  /** @type {Map<string, number>} */
17
15
  this.fileSizes = new Map();
18
16
  this.isReady = false;
19
17
  }
20
-
21
18
  /**
22
19
  * Executes a command
23
20
  * @param {any[]} args
@@ -29,10 +26,8 @@ module.exports = class CLILogs extends CLICommand {
29
26
  const count = params.lines || 1000;
30
27
  /** @type {CLILogsOptions} */
31
28
  const options = {
32
- complete: this.options['all'],
33
- adapterName
29
+ complete: this.options['all']
34
30
  };
35
-
36
31
  const config = fs.readJSONSync(require.resolve(getConfigFileName()));
37
32
  const logger = require('@iobroker/js-controller-common').logger(config.log);
38
33
  let fileName = logger.getFileName();
@@ -45,7 +40,8 @@ module.exports = class CLILogs extends CLICommand {
45
40
  let regex;
46
41
  if (adapterName) {
47
42
  //2019-03-02 13:26:54.698 - debug: iot.0 [ALEXA] Created ALEXA device: Bad.Hauptlicht.Aktor.STATE ["turnOn","turnOff"]
48
- regex = new RegExp(': ' + adapterName + '\\.');
43
+ regex = new RegExp(`: ${adapterName}\\.`);
44
+ options.regex = regex;
49
45
  }
50
46
  lines.forEach(line => {
51
47
  if (regex && !regex.test(line)) {
@@ -53,7 +49,6 @@ module.exports = class CLILogs extends CLICommand {
53
49
  }
54
50
  console.log(line);
55
51
  });
56
-
57
52
  if (watch) {
58
53
  fileName = fileName.replace(/\\/g, '/');
59
54
  const parts = fileName.split('/');
@@ -63,17 +58,16 @@ module.exports = class CLILogs extends CLICommand {
63
58
  .on('all', this.watchHandler.bind(this, options))
64
59
  .on('ready', () => (this.isReady = true));
65
60
  }
66
- } else {
61
+ }
62
+ else {
67
63
  console.log('No log file found');
68
64
  }
69
65
  }
70
-
71
66
  /**
72
67
  * @typedef CLILogsOptions
73
68
  * @property {boolean} [complete] Whether to show today's full log
74
- * @property {string} [adapterName] An optional adapter name to filter by
69
+ * @property {RegExp} [regex] An optional RegExp to filter by
75
70
  */
76
-
77
71
  /**
78
72
  * Called by chokidar when watched files change
79
73
  * @param {CLILogsOptions} options some options
@@ -87,17 +81,18 @@ module.exports = class CLILogs extends CLICommand {
87
81
  if (stats.size > 0 && (this.isReady || (options.complete && this.isTodaysLogfile(path)))) {
88
82
  this.streamChange(path, 0, options);
89
83
  }
90
- } else if (event === 'change') {
84
+ }
85
+ else if (event === 'change') {
91
86
  const oldFileSize = this.fileSizes.get(path);
92
87
  this.fileSizes.set(path, stats.size);
93
88
  if (this.isReady && stats.size > oldFileSize) {
94
89
  this.streamChange(path, oldFileSize, options);
95
90
  }
96
- } else if (event === 'unlink') {
91
+ }
92
+ else if (event === 'unlink') {
97
93
  this.fileSizes.delete(path);
98
94
  }
99
95
  }
100
-
101
96
  /**
102
97
  * If the log file belongs to today
103
98
  * @param {string} path The log file path
@@ -106,7 +101,6 @@ module.exports = class CLILogs extends CLICommand {
106
101
  const YYYYMMDDDate = new Date().toJSON().slice(0, 10);
107
102
  return path.includes(YYYYMMDDDate);
108
103
  }
109
-
110
104
  /**
111
105
  * Streams a portion of a file to the console
112
106
  * @param {string} path The file to stream
@@ -119,17 +113,19 @@ module.exports = class CLILogs extends CLICommand {
119
113
  start,
120
114
  autoClose: true
121
115
  });
122
- if (options.adapterName) {
116
+ if (options.regex) {
123
117
  // Read the input line by line and only include the lines matching the filter
124
118
  input
125
119
  .pipe(es.split())
126
120
  // @ts-ignore
127
- .pipe(es.filterSync(line => line.includes(options.adapterName)))
121
+ .pipe(es.filterSync(line => options.regex.test(line)))
128
122
  .pipe(es.mapSync(line => line + os.EOL))
129
123
  .pipe(process.stdout);
130
- } else {
124
+ }
125
+ else {
131
126
  // just pipe the input through
132
127
  tools.pipeLinewise(input, process.stdout);
133
128
  }
134
129
  }
135
130
  };
131
+ //# sourceMappingURL=cliLogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliLogs.js","sourceRoot":"","sources":["../../../src/lib/cli/cliLogs.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export = CLIMessage;
2
+ declare class CLIMessage extends CLICommand {
3
+ /**
4
+ * Executes a command
5
+ * @param {any[]} args
6
+ */
7
+ execute(args: any[]): undefined;
8
+ }
9
+ import { CLICommand } from "./cliCommand.js";
10
+ //# sourceMappingURL=cliMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliMessage.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/cliMessage.js"],"names":[],"mappings":";AAMiB;IAMb;;;OAGG;IACH,cAFW,GAAG,EAAE,aAyDf;CACJ"}
@@ -1,16 +1,13 @@
1
1
  'use strict';
2
2
  const CLI = require('./messages.js');
3
- const CLICommand = require('./cliCommand.js');
4
- // const tools = require('../tools.js');
3
+ const { CLICommand } = require('./cliCommand.js');
5
4
  const { enumInstances } = require('./cliTools');
6
-
7
5
  /** Command iobroker object ... */
8
6
  module.exports = class CLIMessage extends CLICommand {
9
7
  /** @param {import('./cliCommand').CLICommandOptions} options */
10
8
  constructor(options) {
11
9
  super(options);
12
10
  }
13
-
14
11
  /**
15
12
  * Executes a command
16
13
  * @param {any[]} args
@@ -38,7 +35,6 @@ module.exports = class CLIMessage extends CLICommand {
38
35
  if (typeof message === 'string' && message.startsWith('{') && message.endsWith('}')) {
39
36
  message = JSON.parse(message);
40
37
  }
41
-
42
38
  dbConnect(async (objects, states) => {
43
39
  try {
44
40
  const pos = adapter.indexOf('.');
@@ -57,22 +53,22 @@ module.exports = class CLIMessage extends CLICommand {
57
53
  return void callback(1);
58
54
  }
59
55
  messageTargets = adapterInstances.map(row => row._id);
60
- } else {
56
+ }
57
+ else {
61
58
  messageTargets.unshift(`system.adapter.${adapter}.${instance}`);
62
59
  }
63
-
64
60
  // Send the message to all targets
65
61
  const messagePromises = messageTargets.map(t => sendMessage(states, t, command, message));
66
62
  await Promise.all(messagePromises);
67
63
  return void callback();
68
- } catch (err) {
64
+ }
65
+ catch (err) {
69
66
  CLI.error.unknown(err.message);
70
67
  return void callback(1);
71
68
  }
72
69
  });
73
70
  }
74
71
  };
75
-
76
72
  /**
77
73
  * @param {any} states The States DB
78
74
  * @param {string} targetId The instance or adapter to send the message to
@@ -88,3 +84,4 @@ function sendMessage(states, targetId, command, message) {
88
84
  });
89
85
  });
90
86
  }
87
+ //# sourceMappingURL=cliMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliMessage.js","sourceRoot":"","sources":["../../../src/lib/cli/cliMessage.js"],"names":[],"mappings":"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"}