@nisli/core 0.49.2 → 0.51.0
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/dist/hmr/registry.d.ts +58 -0
- package/dist/hmr/registry.js +125 -0
- package/dist/hmr/registry.js.map +1 -0
- package/dist/hmr/transform.d.ts +21 -0
- package/dist/hmr/transform.js +52 -0
- package/dist/hmr/transform.js.map +1 -0
- package/dist/vite-hmr/plugin.d.ts +27 -0
- package/dist/vite-hmr/plugin.js +62 -0
- package/dist/vite-hmr/plugin.js.map +1 -0
- package/dist/vite-hmr/runtime.d.ts +16 -0
- package/dist/vite-hmr/runtime.js +17 -0
- package/dist/vite-hmr/runtime.js.map +1 -0
- package/package.json +8 -21
- package/dist/esbuild-hmr/plugin.d.ts +0 -161
- package/dist/esbuild-hmr/plugin.js +0 -219
- package/dist/esbuild-hmr/plugin.js.map +0 -1
- package/dist/esbuild-hmr/runtime.d.ts +0 -122
- package/dist/esbuild-hmr/runtime.js +0 -252
- package/dist/esbuild-hmr/runtime.js.map +0 -1
- package/dist/esbuild-hmr/server.d.ts +0 -51
- package/dist/esbuild-hmr/server.js +0 -87
- package/dist/esbuild-hmr/server.js.map +0 -1
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* esbuild-hmr/server.ts — Tiny SSE hub for the Nisli HMR change channel.
|
|
3
|
-
*
|
|
4
|
-
* DEV-ONLY, Node, build-time. Reachable only via `@nisli/core/esbuild-hmr`,
|
|
5
|
-
* never the runtime `.` entry (ADR 0021, Ruling 1). Uses only `node:http`
|
|
6
|
-
* (a Node built-in, not a package dependency), so the zero-dep posture of the
|
|
7
|
-
* `.` entry is preserved.
|
|
8
|
-
*
|
|
9
|
-
* Two ways to wire transport (ADR 0021 Engineering Plan §1):
|
|
10
|
-
* (a) Standalone: `createHmrServer()` starts a minimal `node:http` SSE hub at
|
|
11
|
-
* `/esbuild` (matching esbuild's own client convention) and returns a
|
|
12
|
-
* broadcaster the plugin pushes `change` payloads to.
|
|
13
|
-
* (b) BYO: any object implementing {@link ChangeBroadcaster} (e.g. an esbuild
|
|
14
|
-
* `serve` adapter that owns the `/esbuild` endpoint) can be handed to the
|
|
15
|
-
* plugin instead.
|
|
16
|
-
*/
|
|
17
|
-
/// <reference types="node" />
|
|
18
|
-
import { createServer } from 'node:http';
|
|
19
|
-
/**
|
|
20
|
-
* Create a standalone SSE hub. Returns immediately; call `listen()` to bind.
|
|
21
|
-
* The plugin calls `broadcast()` from its `onEnd` after each watch rebuild.
|
|
22
|
-
*/
|
|
23
|
-
export function createHmrServer(options = {}) {
|
|
24
|
-
const path = options.path ?? '/esbuild';
|
|
25
|
-
const clients = new Set();
|
|
26
|
-
const server = createServer((req, res) => {
|
|
27
|
-
if (req.url !== path) {
|
|
28
|
-
res.statusCode = 404;
|
|
29
|
-
res.end();
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
// SSE handshake.
|
|
33
|
-
res.writeHead(200, {
|
|
34
|
-
'Content-Type': 'text/event-stream',
|
|
35
|
-
'Cache-Control': 'no-cache',
|
|
36
|
-
Connection: 'keep-alive',
|
|
37
|
-
'Access-Control-Allow-Origin': '*',
|
|
38
|
-
});
|
|
39
|
-
res.write('retry: 500\n\n');
|
|
40
|
-
clients.add(res);
|
|
41
|
-
req.on('close', () => {
|
|
42
|
-
clients.delete(res);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
const broadcast = (payload) => {
|
|
46
|
-
const frame = `event: change\ndata: ${JSON.stringify(payload)}\n\n`;
|
|
47
|
-
for (const res of clients) {
|
|
48
|
-
try {
|
|
49
|
-
res.write(frame);
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
clients.delete(res);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
return {
|
|
57
|
-
server,
|
|
58
|
-
broadcast,
|
|
59
|
-
get clientCount() {
|
|
60
|
-
return clients.size;
|
|
61
|
-
},
|
|
62
|
-
listen(port = 0, host = '127.0.0.1') {
|
|
63
|
-
return new Promise((resolve) => {
|
|
64
|
-
server.listen(port, host, () => {
|
|
65
|
-
const addr = server.address();
|
|
66
|
-
const boundPort = typeof addr === 'object' && addr ? addr.port : port;
|
|
67
|
-
resolve({ port: boundPort, host });
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
},
|
|
71
|
-
close() {
|
|
72
|
-
return new Promise((resolve) => {
|
|
73
|
-
for (const res of clients) {
|
|
74
|
-
try {
|
|
75
|
-
res.end();
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
/* ignore */
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
clients.clear();
|
|
82
|
-
server.close(() => resolve());
|
|
83
|
-
});
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/esbuild-hmr/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAgCjG;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;QACxE,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,iBAAiB;QACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,UAAU,EAAE,YAAY;YACxB,6BAA6B,EAAE,GAAG;SACnC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,CAAC,OAAsB,EAAQ,EAAE;QACjD,MAAM,KAAK,GAAG,wBAAwB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,SAAS;QACT,IAAI,WAAW;YACb,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,WAAW;YACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;oBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtE,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,GAAG,CAAC,GAAG,EAAE,CAAC;oBACZ,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|