@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.
- package/README.md +3 -3
- package/dist/auto-ui/beam.d.ts +8 -0
- package/dist/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +88 -10
- package/dist/auto-ui/beam.js.map +1 -1
- package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
- package/dist/auto-ui/streamable-http-transport.js +65 -21
- package/dist/auto-ui/streamable-http-transport.js.map +1 -1
- package/dist/daemon/manager.d.ts +11 -1
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +113 -8
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/server.js +26 -20
- package/dist/daemon/server.js.map +1 -1
- package/dist/loader.d.ts +11 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +169 -11
- package/dist/loader.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +53 -16
- package/dist/server.js.map +1 -1
- package/dist/settings-persistence.d.ts.map +1 -1
- package/dist/settings-persistence.js +10 -3
- package/dist/settings-persistence.js.map +1 -1
- package/dist/telemetry/context.d.ts +7 -0
- package/dist/telemetry/context.d.ts.map +1 -1
- package/dist/telemetry/context.js +71 -0
- package/dist/telemetry/context.js.map +1 -1
- package/package.json +1 -1
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA2BnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG5E,OAAO,EAAgB,MAAM,EAAE,aAAa,EAAY,MAAM,oBAAoB,CAAC;AAanF,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,sBAAsB,CAAC;AAkB9B,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;
|
|
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
|
-
|
|
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
|
-
|
|
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
|