@kapeta/local-cluster-service 0.52.1 → 0.52.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [0.52.3](https://github.com/kapetacom/local-cluster-service/compare/v0.52.2...v0.52.3) (2024-06-12)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * reject promise on ERROR_INTERNAL ([d796a58](https://github.com/kapetacom/local-cluster-service/commit/d796a58f2a810f5dc14aebac2bd4941badc46b5c))
7
+
8
+ ## [0.52.2](https://github.com/kapetacom/local-cluster-service/compare/v0.52.1...v0.52.2) (2024-06-12)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Avoid leaky temp listeners ([#173](https://github.com/kapetacom/local-cluster-service/issues/173)) ([fdb61b6](https://github.com/kapetacom/local-cluster-service/commit/fdb61b66cc8c2028a66c1ff96989112518349061))
14
+
1
15
  ## [0.52.1](https://github.com/kapetacom/local-cluster-service/compare/v0.52.0...v0.52.1) (2024-06-12)
2
16
 
3
17
 
@@ -451,12 +451,13 @@ class StormCodegen {
451
451
  if (evt.type === 'ERROR_DETAILS') {
452
452
  resolve(evt.payload.files);
453
453
  }
454
+ reject(new Error("Error details: Unexpected event [" + evt.type + "]"));
454
455
  });
455
456
  this.out.on('aborted', () => {
456
457
  detailsStream.abort();
458
+ reject("aborted");
457
459
  });
458
460
  detailsStream.on('error', (err) => {
459
- console.log("error", err);
460
461
  reject(err);
461
462
  });
462
463
  await detailsStream.waitForDone();
@@ -517,9 +518,11 @@ class StormCodegen {
517
518
  if (evt.type === 'CODE_FIX') {
518
519
  resolve(evt.payload.content.files);
519
520
  }
521
+ reject(new Error("Error details: Unexpected event [" + evt.type + "]"));
520
522
  });
521
523
  this.out.on('aborted', () => {
522
524
  fixStream.abort();
525
+ reject("aborted");
523
526
  });
524
527
  fixStream.on('error', (err) => {
525
528
  console.log("error", err);
@@ -121,7 +121,6 @@ router.post('/block/create', async (req, res) => {
121
121
  res.send(asset);
122
122
  }
123
123
  catch (err) {
124
- console.error('err');
125
124
  res.status(500).send({ error: err.message });
126
125
  }
127
126
  });
@@ -161,26 +160,14 @@ function sendError(err, res) {
161
160
  }
162
161
  }
163
162
  function waitForStormStream(result) {
164
- return new Promise((resolve, reject) => {
165
- result.on('error', (err) => {
166
- reject(err);
167
- });
168
- result.on('end', () => {
169
- resolve();
170
- });
171
- });
163
+ return result.waitForDone();
172
164
  }
173
165
  function streamStormPartialResponse(result, res) {
174
- return new Promise((resolve, reject) => {
166
+ return new Promise((resolve) => {
175
167
  result.on('data', (data) => {
176
168
  sendEvent(res, data);
177
169
  });
178
- result.on('error', (err) => {
179
- reject(err);
180
- });
181
- result.on('end', () => {
182
- resolve();
183
- });
170
+ resolve(result.waitForDone());
184
171
  });
185
172
  }
186
173
  function sendEvent(res, evt) {
@@ -44,12 +44,18 @@ class StormStream extends node_events_1.EventEmitter {
44
44
  }
45
45
  waitForDone() {
46
46
  return new Promise((resolve, reject) => {
47
- this.on('error', (err) => {
47
+ const errorHandler = (err) => {
48
+ this.removeListener('error', errorHandler);
49
+ this.removeListener('end', endHandler);
48
50
  reject(err);
49
- });
50
- this.on('end', () => {
51
+ };
52
+ const endHandler = () => {
53
+ this.removeListener('error', errorHandler);
54
+ this.removeListener('end', endHandler);
51
55
  resolve();
52
- });
56
+ };
57
+ this.once('error', errorHandler);
58
+ this.once('end', endHandler);
53
59
  });
54
60
  }
55
61
  abort() {
@@ -451,12 +451,13 @@ class StormCodegen {
451
451
  if (evt.type === 'ERROR_DETAILS') {
452
452
  resolve(evt.payload.files);
453
453
  }
454
+ reject(new Error("Error details: Unexpected event [" + evt.type + "]"));
454
455
  });
455
456
  this.out.on('aborted', () => {
456
457
  detailsStream.abort();
458
+ reject("aborted");
457
459
  });
458
460
  detailsStream.on('error', (err) => {
459
- console.log("error", err);
460
461
  reject(err);
461
462
  });
462
463
  await detailsStream.waitForDone();
@@ -517,9 +518,11 @@ class StormCodegen {
517
518
  if (evt.type === 'CODE_FIX') {
518
519
  resolve(evt.payload.content.files);
519
520
  }
521
+ reject(new Error("Error details: Unexpected event [" + evt.type + "]"));
520
522
  });
521
523
  this.out.on('aborted', () => {
522
524
  fixStream.abort();
525
+ reject("aborted");
523
526
  });
524
527
  fixStream.on('error', (err) => {
525
528
  console.log("error", err);
@@ -121,7 +121,6 @@ router.post('/block/create', async (req, res) => {
121
121
  res.send(asset);
122
122
  }
123
123
  catch (err) {
124
- console.error('err');
125
124
  res.status(500).send({ error: err.message });
126
125
  }
127
126
  });
@@ -161,26 +160,14 @@ function sendError(err, res) {
161
160
  }
162
161
  }
163
162
  function waitForStormStream(result) {
164
- return new Promise((resolve, reject) => {
165
- result.on('error', (err) => {
166
- reject(err);
167
- });
168
- result.on('end', () => {
169
- resolve();
170
- });
171
- });
163
+ return result.waitForDone();
172
164
  }
173
165
  function streamStormPartialResponse(result, res) {
174
- return new Promise((resolve, reject) => {
166
+ return new Promise((resolve) => {
175
167
  result.on('data', (data) => {
176
168
  sendEvent(res, data);
177
169
  });
178
- result.on('error', (err) => {
179
- reject(err);
180
- });
181
- result.on('end', () => {
182
- resolve();
183
- });
170
+ resolve(result.waitForDone());
184
171
  });
185
172
  }
186
173
  function sendEvent(res, evt) {
@@ -44,12 +44,18 @@ class StormStream extends node_events_1.EventEmitter {
44
44
  }
45
45
  waitForDone() {
46
46
  return new Promise((resolve, reject) => {
47
- this.on('error', (err) => {
47
+ const errorHandler = (err) => {
48
+ this.removeListener('error', errorHandler);
49
+ this.removeListener('end', endHandler);
48
50
  reject(err);
49
- });
50
- this.on('end', () => {
51
+ };
52
+ const endHandler = () => {
53
+ this.removeListener('error', errorHandler);
54
+ this.removeListener('end', endHandler);
51
55
  resolve();
52
- });
56
+ };
57
+ this.once('error', errorHandler);
58
+ this.once('end', endHandler);
53
59
  });
54
60
  }
55
61
  abort() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapeta/local-cluster-service",
3
- "version": "0.52.1",
3
+ "version": "0.52.3",
4
4
  "description": "Manages configuration, ports and service discovery for locally running Kapeta systems",
5
5
  "type": "commonjs",
6
6
  "exports": {
@@ -522,12 +522,13 @@ export class StormCodegen {
522
522
  if (evt.type === 'ERROR_DETAILS') {
523
523
  resolve(evt.payload.files);
524
524
  }
525
+ reject(new Error("Error details: Unexpected event [" + evt.type + "]"));
525
526
  });
526
527
  this.out.on('aborted', () => {
527
528
  detailsStream.abort();
529
+ reject("aborted");
528
530
  });
529
531
  detailsStream.on('error', (err) => {
530
- console.log("error", err);
531
532
  reject(err);
532
533
  });
533
534
  await detailsStream.waitForDone();
@@ -602,9 +603,11 @@ export class StormCodegen {
602
603
  if (evt.type === 'CODE_FIX') {
603
604
  resolve(evt.payload.content.files);
604
605
  }
606
+ reject(new Error("Error details: Unexpected event [" + evt.type + "]"));
605
607
  });
606
608
  this.out.on('aborted', () => {
607
609
  fixStream.abort();
610
+ reject("aborted");
608
611
  });
609
612
  fixStream.on('error', (err) => {
610
613
  console.log("error", err);
@@ -156,7 +156,6 @@ router.post('/block/create', async (req: KapetaBodyRequest, res: Response) => {
156
156
  const [asset] = await assetManager.createAsset(ymlPath, createRequest.definition);
157
157
  res.send(asset);
158
158
  } catch (err: any) {
159
- console.error('err');
160
159
  res.status(500).send({ error: err.message });
161
160
  }
162
161
  });
@@ -199,30 +198,16 @@ function sendError(err: Error, res: Response) {
199
198
  }
200
199
  }
201
200
  function waitForStormStream(result: StormStream) {
202
- return new Promise<void>((resolve, reject) => {
203
- result.on('error', (err) => {
204
- reject(err);
205
- });
206
-
207
- result.on('end', () => {
208
- resolve();
209
- });
210
- });
201
+ return result.waitForDone();
211
202
  }
212
203
 
213
204
  function streamStormPartialResponse(result: StormStream, res: Response) {
214
- return new Promise<void>((resolve, reject) => {
205
+ return new Promise<void>((resolve) => {
215
206
  result.on('data', (data) => {
216
207
  sendEvent(res, data);
217
208
  });
218
209
 
219
- result.on('error', (err) => {
220
- reject(err);
221
- });
222
-
223
- result.on('end', () => {
224
- resolve();
225
- });
210
+ resolve(result.waitForDone());
226
211
  });
227
212
  }
228
213
 
@@ -60,13 +60,18 @@ export class StormStream extends EventEmitter {
60
60
 
61
61
  waitForDone() {
62
62
  return new Promise<void>((resolve, reject) => {
63
- this.on('error', (err) => {
63
+ const errorHandler = (err: any) => {
64
+ this.removeListener('error', errorHandler);
65
+ this.removeListener('end', endHandler);
64
66
  reject(err);
65
- });
66
-
67
- this.on('end', () => {
67
+ };
68
+ const endHandler = () => {
69
+ this.removeListener('error', errorHandler);
70
+ this.removeListener('end', endHandler);
68
71
  resolve();
69
- });
72
+ };
73
+ this.once('error', errorHandler);
74
+ this.once('end', endHandler);
70
75
  });
71
76
  }
72
77