iobroker.bee 0.0.0-stage → 0.2.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cliArgs = cliArgs;
4
+ /**
5
+ * Detached job runner. Started by the adapter as an independent process, it executes the
6
+ * steps of a job with the ioBroker CLI and survives restarts of the adapter, including
7
+ * the update of the agent itself (the same pattern admin uses for its self-update).
8
+ *
9
+ * Usage: node runner.js <runner.json>
10
+ * The runner owns runner.json while it runs; the adapter only reads it.
11
+ * No dependencies besides Node.js built-ins.
12
+ */
13
+ const node_child_process_1 = require("node:child_process");
14
+ const node_fs_1 = require("node:fs");
15
+ const node_path_1 = require("node:path");
16
+ const STEP_TIMEOUT = 30 * 60_000;
17
+ function save(file, data) {
18
+ (0, node_fs_1.writeFileSync)(`${file}.tmp`, JSON.stringify(data, null, 2));
19
+ (0, node_fs_1.renameSync)(`${file}.tmp`, file);
20
+ }
21
+ /**
22
+ * Calls of the CLI for one step, one after the other
23
+ *
24
+ * @param step step of the job
25
+ * @param file local package (tgz) to install from instead of npm
26
+ */
27
+ function cliArgs(step, file) {
28
+ if (file && step.adapter && step.action !== 'remove' && step.action !== 'backup') {
29
+ // the name is given: it cannot be taken from the file name <sha256>.tgz
30
+ const url = ['url', file, step.adapter];
31
+ // "url" only installs the package; "add" then creates the instance from it, without npm
32
+ return step.action === 'install' ? [url, ['add', step.adapter]] : [url];
33
+ }
34
+ switch (step.action) {
35
+ case 'backup':
36
+ return [['backup']];
37
+ case 'install':
38
+ // installs the package and creates one instance
39
+ return [['add', `${step.adapter}@${step.to}`]];
40
+ case 'upgrade':
41
+ return [['upgrade', `${step.adapter}@${step.to}`, '--yes']];
42
+ case 'downgrade':
43
+ return [['upgrade', `${step.adapter}@${step.to}`, '--yes', '--force']];
44
+ case 'remove':
45
+ return [['del', step.adapter]];
46
+ }
47
+ }
48
+ function run(file, args) {
49
+ return new Promise(resolve => {
50
+ const out = [];
51
+ (0, node_fs_1.appendFileSync)(file.logFile, `\n[${new Date().toISOString()}] iobroker ${args.join(' ')}\n`);
52
+ const child = (0, node_child_process_1.spawn)(process.execPath, [file.iobroker, ...args], {
53
+ cwd: file.cwd,
54
+ env: { ...process.env, NODE_ENV: 'production' },
55
+ windowsHide: true,
56
+ });
57
+ const onData = (d) => {
58
+ const text = d.toString();
59
+ out.push(text);
60
+ (0, node_fs_1.appendFileSync)(file.logFile, text);
61
+ };
62
+ child.stdout.on('data', onData);
63
+ child.stderr.on('data', onData);
64
+ const timer = setTimeout(() => {
65
+ out.push('\nTimeout, process killed');
66
+ child.kill('SIGKILL');
67
+ }, STEP_TIMEOUT);
68
+ child.on('close', code => {
69
+ clearTimeout(timer);
70
+ resolve({ code: code ?? 1, output: out.join('') });
71
+ });
72
+ child.on('error', err => {
73
+ clearTimeout(timer);
74
+ resolve({ code: 1, output: err.message });
75
+ });
76
+ });
77
+ }
78
+ /**
79
+ * The CLI may exit with 0 without having changed anything (e.g. unknown version).
80
+ * Check what is really installed in node_modules afterwards.
81
+ */
82
+ function installedVersion(file, adapter) {
83
+ try {
84
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(file.cwd, 'node_modules', `iobroker.${adapter}`, 'package.json'), 'utf8'));
85
+ return typeof pkg.version === 'string' ? pkg.version : null;
86
+ }
87
+ catch {
88
+ return null;
89
+ }
90
+ }
91
+ function checkResult(file, step) {
92
+ if (step.action === 'backup' || !step.adapter) {
93
+ return null;
94
+ }
95
+ const version = installedVersion(file, step.adapter);
96
+ if (step.action === 'remove') {
97
+ return version ? `${step.adapter} ist nach dem Entfernen noch installiert (${version})` : null;
98
+ }
99
+ return version === step.to ? null : `installiert ist ${version ?? 'nichts'} statt ${step.to}`;
100
+ }
101
+ function tail(text, lines = 6) {
102
+ return text
103
+ .split(/\r?\n/)
104
+ .map(l => l.trim())
105
+ .filter(Boolean)
106
+ .slice(-lines)
107
+ .join(' | ')
108
+ .slice(0, 800);
109
+ }
110
+ async function main(path) {
111
+ const file = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
112
+ file.pid = process.pid;
113
+ file.phase = 'running';
114
+ file.startedAt = Date.now();
115
+ save(path, file);
116
+ for (const step of file.steps) {
117
+ if (step.status !== 'pending') {
118
+ continue;
119
+ }
120
+ if (file.mode === 'apply' && step.action !== 'backup' && (0, node_fs_1.existsSync)(file.haltFile)) {
121
+ file.phase = 'halted';
122
+ file.steps.filter(s => s.status === 'pending').forEach(s => (s.status = 'skipped'));
123
+ break;
124
+ }
125
+ step.status = 'running';
126
+ step.ts = Date.now();
127
+ save(path, file);
128
+ let result = { code: 0, output: '' };
129
+ for (const args of cliArgs(step, step.adapter ? file.files?.[step.adapter] : undefined)) {
130
+ const r = await run(file, args);
131
+ result = { code: r.code, output: result.output + r.output };
132
+ if (r.code !== 0) {
133
+ break;
134
+ }
135
+ }
136
+ const mismatch = result.code === 0 ? checkResult(file, step) : null;
137
+ if (mismatch) {
138
+ (0, node_fs_1.appendFileSync)(file.logFile, `\n[check] ${mismatch}\n`);
139
+ result.code = 1;
140
+ result.output += `\n${mismatch}`;
141
+ }
142
+ if (result.code === 0) {
143
+ step.status = 'ok';
144
+ if (step.action === 'backup') {
145
+ const m = /Backup created: (.+)$/m.exec(result.output);
146
+ step.detail = m ? m[1].trim() : undefined;
147
+ if (step.detail) {
148
+ try {
149
+ step.detail = `${step.detail} (${Math.round((0, node_fs_1.statSync)(step.detail).size / 1024 / 1024)} MB)`;
150
+ }
151
+ catch {
152
+ // size unknown
153
+ }
154
+ }
155
+ }
156
+ }
157
+ else {
158
+ step.status = 'error';
159
+ step.detail = tail(result.output);
160
+ file.phase = 'failed';
161
+ file.error = mismatch
162
+ ? `${step.action} ${step.adapter}: ${mismatch}`
163
+ : `${step.action}${step.adapter ? ` ${step.adapter}` : ''} fehlgeschlagen (Exit-Code ${result.code})`;
164
+ file.steps.filter(s => s.status === 'pending').forEach(s => (s.status = 'skipped'));
165
+ }
166
+ save(path, file);
167
+ if (file.phase === 'failed') {
168
+ break;
169
+ }
170
+ }
171
+ if (file.phase === 'running') {
172
+ file.phase = 'done';
173
+ }
174
+ file.finishedAt = Date.now();
175
+ save(path, file);
176
+ }
177
+ if (require.main === module) {
178
+ const path = process.argv[2];
179
+ main(path).catch(e => {
180
+ try {
181
+ const file = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
182
+ file.phase = 'failed';
183
+ file.error = `Runner: ${e.message}`;
184
+ file.finishedAt = Date.now();
185
+ save(path, file);
186
+ }
187
+ catch {
188
+ // nothing left to report to
189
+ }
190
+ process.exit(1);
191
+ });
192
+ }
193
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}