@portel/photon 1.31.2 → 1.32.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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -36,6 +36,44 @@ export class HotReloadDisabledError extends Error {
36
36
  this.name = 'HotReloadDisabledError';
37
37
  }
38
38
  }
39
+ async function writeFetchResponseToNode(response, res, extraHeaders = {}) {
40
+ const responseHeaders = {};
41
+ response.headers.forEach((value, key) => {
42
+ responseHeaders[key] = value;
43
+ });
44
+ Object.assign(responseHeaders, extraHeaders);
45
+ res.writeHead(response.status, responseHeaders);
46
+ if (!response.body) {
47
+ res.end();
48
+ return;
49
+ }
50
+ const reader = response.body.getReader();
51
+ let closed = false;
52
+ const cancelReader = () => {
53
+ closed = true;
54
+ reader.cancel().catch(() => undefined);
55
+ };
56
+ res.on('close', cancelReader);
57
+ try {
58
+ while (true) {
59
+ const { done, value } = await reader.read();
60
+ if (done || closed)
61
+ break;
62
+ if (value)
63
+ res.write(Buffer.from(value));
64
+ }
65
+ if (!res.writableEnded && !res.destroyed)
66
+ res.end();
67
+ }
68
+ catch (err) {
69
+ if (!closed && !res.destroyed) {
70
+ res.destroy(err instanceof Error ? err : new Error(String(err)));
71
+ }
72
+ }
73
+ finally {
74
+ res.off('close', cancelReader);
75
+ }
76
+ }
39
77
  /**
40
78
  * MIME for SPA sibling files served under /api/ui/<id>/<rest>. Conservative
41
79
  * map covering the file types a typical bundler emits next to index.html;
@@ -1096,6 +1134,7 @@ export class PhotonServer {
1096
1134
  if (emit?.emit === 'progress') {
1097
1135
  const rawValue = typeof emit.value === 'number' ? emit.value : 0;
1098
1136
  const progress = rawValue <= 1 ? rawValue * 100 : rawValue;
1137
+ const payload = emit.value ?? emit.data;
1099
1138
  this.queueNotification({
1100
1139
  method: 'notifications/progress',
1101
1140
  params: {
@@ -1103,10 +1142,12 @@ export class PhotonServer {
1103
1142
  progress,
1104
1143
  total: 100,
1105
1144
  ...(emit.message ? { message: emit.message } : {}),
1145
+ ...(payload !== undefined && typeof payload !== 'number' ? { data: payload } : {}),
1106
1146
  },
1107
1147
  });
1108
1148
  }
1109
1149
  else if (emit?.emit === 'status') {
1150
+ const payload = emit.value ?? emit.data;
1110
1151
  this.queueNotification({
1111
1152
  method: 'notifications/progress',
1112
1153
  params: {
@@ -1114,6 +1155,7 @@ export class PhotonServer {
1114
1155
  progress: 0,
1115
1156
  total: 100,
1116
1157
  message: emit.message || '',
1158
+ ...(payload !== undefined ? { data: payload } : {}),
1117
1159
  },
1118
1160
  });
1119
1161
  }
@@ -1316,6 +1358,7 @@ export class PhotonServer {
1316
1358
  if (emit?.emit === 'progress' || emit?.emit === 'status') {
1317
1359
  const rawValue = emit?.emit === 'progress' && typeof emit.value === 'number' ? emit.value : 0;
1318
1360
  const progress = rawValue <= 1 ? rawValue * 100 : rawValue;
1361
+ const payload = emit.value ?? emit.data;
1319
1362
  void this.server?.notification({
1320
1363
  method: 'notifications/progress',
1321
1364
  params: {
@@ -1323,6 +1366,10 @@ export class PhotonServer {
1323
1366
  progress,
1324
1367
  total: 100,
1325
1368
  message: emit.message || '',
1369
+ ...(payload !== undefined &&
1370
+ (emit?.emit === 'status' || typeof payload !== 'number')
1371
+ ? { data: payload }
1372
+ : {}),
1326
1373
  },
1327
1374
  });
1328
1375
  }
@@ -2031,14 +2078,7 @@ export class PhotonServer {
2031
2078
  });
2032
2079
  const result = await fn.call(photonInstance, webReq);
2033
2080
  if (result instanceof Response) {
2034
- const responseHeaders = {};
2035
- result.headers.forEach((value, key) => {
2036
- responseHeaders[key] = value;
2037
- });
2038
- if (corsOrigin)
2039
- responseHeaders['Access-Control-Allow-Origin'] = corsOrigin;
2040
- res.writeHead(result.status, responseHeaders);
2041
- res.end(Buffer.from(await result.arrayBuffer()));
2081
+ await writeFetchResponseToNode(result, res, corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {});
2042
2082
  return;
2043
2083
  }
2044
2084
  const { negotiateAccept } = await import('./format/registry.js');
@@ -2341,11 +2381,15 @@ export class PhotonServer {
2341
2381
  const reportProgress = (emit) => {
2342
2382
  const rawValue = typeof emit?.value === 'number' ? emit.value : 0;
2343
2383
  const percent = rawValue <= 1 ? rawValue * 100 : rawValue;
2384
+ const payload = emit?.value ?? emit?.data;
2344
2385
  sendNotification('notifications/progress', {
2345
2386
  progressToken,
2346
2387
  progress: percent,
2347
2388
  total: 100,
2348
2389
  message: emit?.message || null,
2390
+ ...(payload !== undefined && typeof payload !== 'number'
2391
+ ? { data: payload }
2392
+ : {}),
2349
2393
  });
2350
2394
  };
2351
2395
  const outputHandler = (emit) => {
@@ -2757,14 +2801,7 @@ export class PhotonServer {
2757
2801
  // NOT touch its bytes. This is the v1.28 contract and is
2758
2802
  // locked by tests/v128-byte-compat.test.ts.
2759
2803
  if (result instanceof Response) {
2760
- const responseHeaders = {};
2761
- result.headers.forEach((value, key) => {
2762
- responseHeaders[key] = value;
2763
- });
2764
- if (corsOrigin)
2765
- responseHeaders['Access-Control-Allow-Origin'] = corsOrigin;
2766
- res.writeHead(result.status, responseHeaders);
2767
- res.end(Buffer.from(await result.arrayBuffer()));
2804
+ await writeFetchResponseToNode(result, res, corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {});
2768
2805
  return;
2769
2806
  }
2770
2807
  // Track A: handler returned a plain value. Negotiate Accept