@nexus_js/server 0.8.0 → 0.9.1
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/actions.d.ts +46 -8
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +169 -17
- package/dist/actions.js.map +1 -1
- package/dist/context.d.ts +21 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +12 -3
- package/dist/context.js.map +1 -1
- package/dist/csrf.d.ts +16 -2
- package/dist/csrf.d.ts.map +1 -1
- package/dist/csrf.js +26 -9
- package/dist/csrf.js.map +1 -1
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -15
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +91 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +128 -0
- package/dist/metadata.js.map +1 -0
- package/dist/navigate.d.ts +0 -5
- package/dist/navigate.d.ts.map +1 -1
- package/dist/navigate.js +0 -1
- package/dist/navigate.js.map +1 -1
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +27 -14
- package/dist/rate-limit.js.map +1 -1
- package/dist/renderer.d.ts +18 -3
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +56 -18
- package/dist/renderer.js.map +1 -1
- package/dist/streaming.d.ts +3 -3
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +33 -13
- package/dist/streaming.js.map +1 -1
- package/package.json +7 -7
package/dist/navigate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"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"}
|
package/dist/rate-limit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAI,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAM,MAAM,CAAC;IAClB,OAAO,EAAI,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IACzC,uFAAuF;IACvF,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+EAA+E;IAC/E,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAMD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWlD;
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAI,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAM,MAAM,CAAC;IAClB,OAAO,EAAI,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IACzC,uFAAuF;IACvF,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+EAA+E;IAC/E,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAMD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWlD;AA6CD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CA2DtE;AAID,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAErB,MAAM,EAAE,eAAe;CASpC;AAOD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAExE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEhE"}
|
package/dist/rate-limit.js
CHANGED
|
@@ -45,6 +45,28 @@ function extractIP(request) {
|
|
|
45
45
|
request.headers.get('x-client-ip') ??
|
|
46
46
|
'unknown');
|
|
47
47
|
}
|
|
48
|
+
const _allLimiters = new Set();
|
|
49
|
+
let _gcTimer;
|
|
50
|
+
const GC_INTERVAL_MS = 60_000; // 1 min global sweep
|
|
51
|
+
function ensureGcTimer() {
|
|
52
|
+
if (_gcTimer !== undefined)
|
|
53
|
+
return;
|
|
54
|
+
_gcTimer = setInterval(() => {
|
|
55
|
+
const now = Date.now();
|
|
56
|
+
for (const entry of _allLimiters) {
|
|
57
|
+
for (const [key, timestamps] of entry.hits) {
|
|
58
|
+
const recent = timestamps.filter((t) => t > now - entry.windowMs);
|
|
59
|
+
if (recent.length === 0) {
|
|
60
|
+
entry.hits.delete(key);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
entry.hits.set(key, recent);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, GC_INTERVAL_MS);
|
|
68
|
+
_gcTimer.unref?.();
|
|
69
|
+
}
|
|
48
70
|
// ── Limiter factory ───────────────────────────────────────────────────────────
|
|
49
71
|
/**
|
|
50
72
|
* Creates a reusable sliding-window rate limiter.
|
|
@@ -60,11 +82,15 @@ export function createRateLimiter(config) {
|
|
|
60
82
|
const keyFn = config.keyFn ?? extractIP;
|
|
61
83
|
// key → sorted array of hit timestamps
|
|
62
84
|
const hits = new Map();
|
|
85
|
+
// Register with the shared GC and start the timer if needed
|
|
86
|
+
const entry = { hits, windowMs };
|
|
87
|
+
_allLimiters.add(entry);
|
|
88
|
+
ensureGcTimer();
|
|
63
89
|
function check(request) {
|
|
64
90
|
const key = keyFn(request);
|
|
65
91
|
const now = Date.now();
|
|
66
92
|
const cutoff = now - windowMs;
|
|
67
|
-
// Evict expired timestamps (
|
|
93
|
+
// Evict expired timestamps for this key inline (lazy eviction)
|
|
68
94
|
const timestamps = (hits.get(key) ?? []).filter((t) => t > cutoff);
|
|
69
95
|
const resetAt = timestamps.length > 0 ? (timestamps[0] + windowMs) : (now + windowMs);
|
|
70
96
|
const remaining = Math.max(0, config.max - timestamps.length);
|
|
@@ -98,19 +124,6 @@ export function createRateLimiter(config) {
|
|
|
98
124
|
}
|
|
99
125
|
return h;
|
|
100
126
|
}
|
|
101
|
-
// Periodic GC: clean up keys with no recent hits to prevent unbounded growth
|
|
102
|
-
setInterval(() => {
|
|
103
|
-
const now = Date.now();
|
|
104
|
-
for (const [key, timestamps] of hits) {
|
|
105
|
-
const recent = timestamps.filter((t) => t > now - windowMs);
|
|
106
|
-
if (recent.length === 0) {
|
|
107
|
-
hits.delete(key);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
hits.set(key, recent);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, windowMs).unref?.(); // .unref() prevents the timer from keeping the process alive
|
|
114
127
|
return { check, reset, headers };
|
|
115
128
|
}
|
|
116
129
|
// ── Error class ───────────────────────────────────────────────────────────────
|
package/dist/rate-limit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkCH,iFAAiF;AAEjF,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,wCAAwC,CAAC,CAAC;IACtH,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC3B,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAChC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAC1C,OAAO,CAAC,CAAE,OAAO,MAAM,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;QAC7D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAK,aAAa;QACzD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAClC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAM,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;IAC3C,uCAAuC;IACvC,MAAM,IAAI,GAAO,IAAI,GAAG,EAAoB,CAAC;IAE7C,SAAS,KAAK,CAAC,OAAgB;QAC7B,MAAM,GAAG,GAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC;QAE9B
|
|
1
|
+
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"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"}
|
package/dist/renderer.d.ts
CHANGED
|
@@ -31,6 +31,14 @@ export interface RenderOptions {
|
|
|
31
31
|
* Pass from `nexus.config.ts` `browser.importMap` for island bare imports (e.g. `qr-code-styling`).
|
|
32
32
|
*/
|
|
33
33
|
browserImportMap?: Record<string, string>;
|
|
34
|
+
/**
|
|
35
|
+
* Per-request CSP nonce (base64url, 16 bytes).
|
|
36
|
+
* When provided, all inline `<script>` tags in the rendered document carry
|
|
37
|
+
* `nonce="{nonce}"`, and the `Content-Security-Policy` header is generated
|
|
38
|
+
* by the caller using this value.
|
|
39
|
+
* Generate with `randomBytes(16).toString('base64url')` per request.
|
|
40
|
+
*/
|
|
41
|
+
cspNonce?: string;
|
|
34
42
|
}
|
|
35
43
|
export interface AssetManifest {
|
|
36
44
|
runtime: string;
|
|
@@ -61,8 +69,8 @@ export interface ServerBridgeLog {
|
|
|
61
69
|
export interface BuildInfo {
|
|
62
70
|
/** Estimated JS bytes for this route */
|
|
63
71
|
totalJs?: number;
|
|
64
|
-
/** Estimated JS bytes if using React instead */
|
|
65
|
-
|
|
72
|
+
/** Estimated JS bytes if using React instead (injected as `reactEquivalent`) */
|
|
73
|
+
reactEquivalent?: number;
|
|
66
74
|
}
|
|
67
75
|
/** Called by @nexus_js/runtime cache() to register a TTL for this render. */
|
|
68
76
|
export declare function registerCacheTTL(ttl: number): void;
|
|
@@ -111,7 +119,14 @@ export declare function renderRouteStreaming(matched: MatchedRoute, ctx: NexusCo
|
|
|
111
119
|
export declare function renderRoute(matched: MatchedRoute, ctx: NexusContext, opts: RenderOptions): Promise<RenderResult>;
|
|
112
120
|
/**
|
|
113
121
|
* Serializes island props for client-side hydration.
|
|
114
|
-
*
|
|
122
|
+
*
|
|
123
|
+
* Encoding: base64url (URL-safe, no padding issues in HTML attributes).
|
|
124
|
+
* We JSON-stringify first so any type (Date, nested objects, arrays) survives
|
|
125
|
+
* the round-trip, then base64url-encode so the value is safe inside any HTML
|
|
126
|
+
* attribute without escaping — base64 never contains `<`, `>`, `"`, or `&`.
|
|
127
|
+
*
|
|
128
|
+
* Using Buffer.from().toString('base64url') instead of btoa() because btoa()
|
|
129
|
+
* throws RangeError on characters outside Latin-1 (e.g. emoji, CJK, etc.).
|
|
115
130
|
*/
|
|
116
131
|
export declare function serializeIslandProps(props: Record<string, unknown>): string;
|
|
117
132
|
/**
|
package/dist/renderer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAQjF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC/D,IAAI,CAAC,EAAW,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAO,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAO,OAAO,CAAC;IACxB,WAAW,CAAC,EAAI,MAAM,CAAC;IACvB,GAAG,CAAC,EAAY,MAAM,CAAC;IACvB,KAAK,CAAC,EAAU,MAAM,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAYD,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAQD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAgDA;AAID;;;GAGG;AACH;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqClC;AAED,KAAK,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3E,KAAK,iBAAiB,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7D;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CA0D/C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,QAAQ,CAuGV;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,CAAC,CA4EvB;AA8RD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,MAAM,CASR"}
|
package/dist/renderer.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { serialize } from '@nexus_js/serialize';
|
|
18
18
|
import { NotFoundSignal, RedirectSignal } from './context.js';
|
|
19
|
+
import { SESSION_COOKIE_NAME } from './csrf.js';
|
|
19
20
|
import { devErrorHtmlPage } from './dev-error-html.js';
|
|
20
21
|
import { loadRouteModule } from './load-module.js';
|
|
21
22
|
import { emitDevRadar } from './devradar.js';
|
|
@@ -52,7 +53,7 @@ function resetTtlContext() {
|
|
|
52
53
|
export function computeCacheControl(ctx) {
|
|
53
54
|
const { ttls, hasSession, hasStream } = renderTtlContext;
|
|
54
55
|
// Rule 5: Session data is always private
|
|
55
|
-
if (hasSession || ctx.request.headers.get('cookie')?.includes(
|
|
56
|
+
if (hasSession || ctx.request.headers.get('cookie')?.includes(`${SESSION_COOKIE_NAME}=`)) {
|
|
56
57
|
return {
|
|
57
58
|
header: 'private, no-store',
|
|
58
59
|
ttl: 0,
|
|
@@ -265,11 +266,11 @@ export function renderRouteStreaming(matched, ctx, opts) {
|
|
|
265
266
|
const pretextWire = ctx.pretext !== undefined ? serialize(ctx.pretext) : serialize({});
|
|
266
267
|
resetTtlContext();
|
|
267
268
|
const devBridgeScript = opts.dev && bridgeLogs.length > 0
|
|
268
|
-
? `<script>window.__NEXUS_SERVER_LOGS__=${JSON.stringify(bridgeLogs)};window.__NEXUS_BUILD_INFO__=${JSON.stringify({
|
|
269
|
+
? `<script>window.__NEXUS_SERVER_LOGS__=${escapeJsonForScriptPayload(JSON.stringify(bridgeLogs))};window.__NEXUS_BUILD_INFO__=${escapeJsonForScriptPayload(JSON.stringify({
|
|
269
270
|
totalJs: 8_400 + islandCount * 1_200,
|
|
270
271
|
reactEquivalent: 148_000,
|
|
271
272
|
islandCount,
|
|
272
|
-
})};</script>`
|
|
273
|
+
}))};</script>`
|
|
273
274
|
: undefined;
|
|
274
275
|
const payload = devBridgeScript
|
|
275
276
|
? { html: content, pretextWire, devBridgeScript }
|
|
@@ -377,9 +378,32 @@ function injectBeforeClosingHead(html, injection) {
|
|
|
377
378
|
function stripLeadingDoctype(html) {
|
|
378
379
|
return html.replace(/^\s*<!DOCTYPE[^>]*>/i, '').trimStart();
|
|
379
380
|
}
|
|
380
|
-
/**
|
|
381
|
+
/**
|
|
382
|
+
* Devalue-safe JSON serialization for inline `<script>` payloads.
|
|
383
|
+
*
|
|
384
|
+
* JSON.stringify alone is insufficient for embedding inside HTML `<script>` tags:
|
|
385
|
+
* - `</script>` closes the script block even inside a string.
|
|
386
|
+
* - `<!--` starts an HTML comment that swallows subsequent content.
|
|
387
|
+
* - `<![CDATA[` / `]]>` cause parser confusion in XHTML.
|
|
388
|
+
* - U+2028 / U+2029 are valid JSON but break JS string literals in ES5.
|
|
389
|
+
*
|
|
390
|
+
* Escape strategy (used by Django, Ruby on Rails, SvelteKit, and devalue):
|
|
391
|
+
* < → \u003c stops </script> and <!
|
|
392
|
+
* > → \u003e stops ]]>
|
|
393
|
+
* & → \u0026 stops < entities re-parsed by the HTML parser
|
|
394
|
+
* \u2028 → \u2028 literal → escaped (line separator, breaks JS literals)
|
|
395
|
+
* \u2029 → \u2029 literal → escaped (paragraph separator)
|
|
396
|
+
*
|
|
397
|
+
* The result is valid JSON that JSON.parse / JSON5 will parse identically
|
|
398
|
+
* to the original value — only the byte representation differs.
|
|
399
|
+
*/
|
|
381
400
|
function escapeJsonForScriptPayload(json) {
|
|
382
|
-
return json
|
|
401
|
+
return json
|
|
402
|
+
.replace(/</g, '\\u003c')
|
|
403
|
+
.replace(/>/g, '\\u003e')
|
|
404
|
+
.replace(/&/g, '\\u0026')
|
|
405
|
+
.replace(/\u2028/g, '\\u2028')
|
|
406
|
+
.replace(/\u2029/g, '\\u2029');
|
|
383
407
|
}
|
|
384
408
|
function isFullHtmlDocument(content) {
|
|
385
409
|
const t = content.trimStart();
|
|
@@ -391,7 +415,7 @@ function isFullHtmlDocument(content) {
|
|
|
391
415
|
return false;
|
|
392
416
|
}
|
|
393
417
|
/** Default + app `imports` for dynamically imported island bundles (bare specifiers). */
|
|
394
|
-
function buildImportMapScript(extra) {
|
|
418
|
+
function buildImportMapScript(extra, nonce) {
|
|
395
419
|
const base = {
|
|
396
420
|
'@nexus_js/runtime/island': '/_nexus/rt/island.js',
|
|
397
421
|
'@nexus_js/runtime': '/_nexus/rt/index.js',
|
|
@@ -399,20 +423,22 @@ function buildImportMapScript(extra) {
|
|
|
399
423
|
};
|
|
400
424
|
const imports = extra && typeof extra === 'object' ? { ...base, ...extra } : base;
|
|
401
425
|
const json = JSON.stringify({ imports }, null, 2);
|
|
402
|
-
|
|
426
|
+
const nonceAttr = nonce ? ` nonce="${nonce}"` : '';
|
|
427
|
+
return `<script${nonceAttr} type="importmap">\n${json}\n</script>`;
|
|
403
428
|
}
|
|
404
429
|
function wrapWithDocument(content, opts, bridgeLogs = [], islandCount = 0, pretextWire = null) {
|
|
430
|
+
const n = opts.cspNonce ? ` nonce="${opts.cspNonce}"` : '';
|
|
405
431
|
const pretextScript = pretextWire !== null
|
|
406
|
-
? `<script type="application/json" id="__NEXUS_PRETEXT__">${escapeJsonForScriptPayload(pretextWire)}</script>`
|
|
432
|
+
? `<script${n} type="application/json" id="__NEXUS_PRETEXT__">${escapeJsonForScriptPayload(pretextWire)}</script>`
|
|
407
433
|
: '';
|
|
408
434
|
const buildIdScript = opts.buildId !== undefined && opts.buildId !== ''
|
|
409
|
-
? `<script>window.__NEXUS_BUILD_ID__=${JSON.stringify(opts.buildId)};</script>`
|
|
435
|
+
? `<script${n}>window.__NEXUS_BUILD_ID__=${escapeJsonForScriptPayload(JSON.stringify(opts.buildId))};</script>`
|
|
410
436
|
: '';
|
|
411
437
|
const styleLinks = opts.assets.styles
|
|
412
438
|
.map((href) => `<link rel="stylesheet" href="${href}">`)
|
|
413
439
|
.join('\n ');
|
|
414
440
|
const runtimeScript = opts.assets.runtime
|
|
415
|
-
? `<script type="module" src="${opts.assets.runtime}"></script>`
|
|
441
|
+
? `<script${n} type="module" src="${opts.assets.runtime}"></script>`
|
|
416
442
|
: '';
|
|
417
443
|
/** Default host box for custom element — avoids full-width flex rows that steal hits on tiny/empty islands. */
|
|
418
444
|
const nexusIslandHostCSS = `<style id="nexus-island-host">
|
|
@@ -425,21 +451,24 @@ nexus-island {
|
|
|
425
451
|
}
|
|
426
452
|
</style>`;
|
|
427
453
|
// Import map — bare specifiers in island bundles (see `browser.importMap` in nexus.config.ts).
|
|
428
|
-
|
|
454
|
+
// importmap scripts also require the nonce in strict CSP environments.
|
|
455
|
+
const importMap = buildImportMapScript(opts.browserImportMap ?? null, opts.cspNonce);
|
|
429
456
|
// Dev: SSE to /_nexus/dev/hot — server pushes `reload` after file watcher runs server.reload().
|
|
430
457
|
const hmrScript = opts.dev
|
|
431
|
-
? `<script>(function(){if(typeof EventSource==='undefined')return;new EventSource('/_nexus/dev/hot').addEventListener('reload',function(){location.reload()})})();</script>`
|
|
458
|
+
? `<script${n}>(function(){if(typeof EventSource==='undefined')return;new EventSource('/_nexus/dev/hot').addEventListener('reload',function(){location.reload()})})();</script>`
|
|
432
459
|
: '';
|
|
433
460
|
// Server→browser log bridge (dev only)
|
|
434
|
-
|
|
461
|
+
// All user-controlled strings (route paths, cache keys, etc.) are passed through
|
|
462
|
+
// escapeJsonForScriptPayload to prevent </script> injection via log values.
|
|
463
|
+
const bridgeScript = opts.dev ? `<script${n}>
|
|
435
464
|
window.__NEXUS_DEV__ = true;
|
|
436
|
-
window.__NEXUS_SERVER_LOGS__ = ${JSON.stringify(bridgeLogs)};
|
|
465
|
+
window.__NEXUS_SERVER_LOGS__ = ${escapeJsonForScriptPayload(JSON.stringify(bridgeLogs))};
|
|
437
466
|
window.__NEXUS_BUILD_INFO__ = {
|
|
438
467
|
totalJs: ${8_400 + islandCount * 1_200},
|
|
439
468
|
reactEquivalent: 148_000,
|
|
440
469
|
islandCount: ${islandCount}
|
|
441
470
|
};
|
|
442
|
-
</script>${nexusClientDevScript}` : '';
|
|
471
|
+
</script>${nexusClientDevScript(n)}` : '';
|
|
443
472
|
const headInjection = `
|
|
444
473
|
${buildIdScript}
|
|
445
474
|
${pretextScript}
|
|
@@ -470,7 +499,8 @@ window.__NEXUS_BUILD_INFO__ = {
|
|
|
470
499
|
* Reads window.__NEXUS_SERVER_LOGS__ and prints them in the browser console.
|
|
471
500
|
* Also sets up island hydration tracking hooks.
|
|
472
501
|
*/
|
|
473
|
-
|
|
502
|
+
function nexusClientDevScript(nonceAttr) {
|
|
503
|
+
return `<script${nonceAttr}>
|
|
474
504
|
(function(){
|
|
475
505
|
if (!window.__NEXUS_DEV__) return;
|
|
476
506
|
const logs = window.__NEXUS_SERVER_LOGS__ ?? [];
|
|
@@ -586,12 +616,20 @@ const nexusClientDevScript = `<script>
|
|
|
586
616
|
}, 1200);
|
|
587
617
|
})();
|
|
588
618
|
</script>`;
|
|
619
|
+
}
|
|
589
620
|
/**
|
|
590
621
|
* Serializes island props for client-side hydration.
|
|
591
|
-
*
|
|
622
|
+
*
|
|
623
|
+
* Encoding: base64url (URL-safe, no padding issues in HTML attributes).
|
|
624
|
+
* We JSON-stringify first so any type (Date, nested objects, arrays) survives
|
|
625
|
+
* the round-trip, then base64url-encode so the value is safe inside any HTML
|
|
626
|
+
* attribute without escaping — base64 never contains `<`, `>`, `"`, or `&`.
|
|
627
|
+
*
|
|
628
|
+
* Using Buffer.from().toString('base64url') instead of btoa() because btoa()
|
|
629
|
+
* throws RangeError on characters outside Latin-1 (e.g. emoji, CJK, etc.).
|
|
592
630
|
*/
|
|
593
631
|
export function serializeIslandProps(props) {
|
|
594
|
-
return
|
|
632
|
+
return Buffer.from(JSON.stringify(props), 'utf-8').toString('base64url');
|
|
595
633
|
}
|
|
596
634
|
/**
|
|
597
635
|
* Wraps a component's HTML output with island metadata for client hydration.
|
package/dist/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/streaming.d.ts
CHANGED
|
@@ -51,10 +51,10 @@ export interface StreamingBoundary {
|
|
|
51
51
|
id: string;
|
|
52
52
|
/** The promise that will resolve to HTML (or a structured payload for Pretext streaming). */
|
|
53
53
|
promise: Promise<StreamingPromiseValue>;
|
|
54
|
-
/** Fallback HTML shown while
|
|
54
|
+
/** Fallback HTML shown while the promise is pending. Injected next to the hole immediately on page paint. */
|
|
55
55
|
fallback?: string;
|
|
56
|
-
/** Error boundary HTML
|
|
57
|
-
errorFallback?: string;
|
|
56
|
+
/** Error boundary HTML or factory. Overrides `onError` at the boundary level. */
|
|
57
|
+
errorFallback?: string | ((err: unknown) => string);
|
|
58
58
|
}
|
|
59
59
|
export interface StreamController {
|
|
60
60
|
/** Write the initial HTML shell (immediately) */
|
package/dist/streaming.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,6FAA6F;IAC7F,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,6FAA6F;IAC7F,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0CAA0C;IAC1C,KAAK,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,+BAA+B;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AA0CD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC1D,IAAI,GAAE;IACJ,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;CAC/B,GACL,QAAQ,CAwEV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CACrD,GACA;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAmBlE;AAID;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,OAAO,WAAW,EAAE,cAAc,EAC3C,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAuBf;AAoDD,8EAA8E;AAC9E,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
|
package/dist/streaming.js
CHANGED
|
@@ -41,24 +41,40 @@
|
|
|
41
41
|
/** Bootstrap script injected once per page */
|
|
42
42
|
const BOOTSTRAP_SCRIPT = `<script id="__nx_stream_boot__">
|
|
43
43
|
(function(){
|
|
44
|
+
// Inject fallback content next to each hole immediately so users see a skeleton/spinner
|
|
45
|
+
// while the real content is still loading on the server.
|
|
46
|
+
function __nx_init_fallbacks(){
|
|
47
|
+
document.querySelectorAll('template[data-nx-fallback]').forEach(function(tmpl){
|
|
48
|
+
var fb=tmpl.getAttribute('data-nx-fallback');
|
|
49
|
+
if(!fb)return;
|
|
50
|
+
var id=tmpl.id.replace('nx-hole-','');
|
|
51
|
+
var el=document.createElement('div');
|
|
52
|
+
el.setAttribute('data-nx-hole-fb',id);
|
|
53
|
+
el.innerHTML=fb;
|
|
54
|
+
tmpl.parentNode&&tmpl.parentNode.insertBefore(el,tmpl.nextSibling);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
44
57
|
function __nx_fill(id){
|
|
45
58
|
var fill=document.getElementById('nx-fill-'+id);
|
|
46
59
|
var hole=document.getElementById('nx-hole-'+id);
|
|
60
|
+
var fb=document.querySelector('[data-nx-hole-fb="'+id+'"]');
|
|
47
61
|
if(fill&&hole){
|
|
48
62
|
hole.replaceWith(fill.content.cloneNode(true));
|
|
49
63
|
fill.remove();
|
|
50
64
|
}
|
|
51
|
-
|
|
52
|
-
function __nx_fill_error(id,html){
|
|
53
|
-
var hole=document.getElementById('nx-hole-'+id);
|
|
54
|
-
if(hole){var d=document.createElement('div');d.innerHTML=html;hole.replaceWith(d);}
|
|
65
|
+
if(fb)fb.remove();
|
|
55
66
|
}
|
|
56
67
|
function __nx_stream_complete(){
|
|
57
68
|
document.dispatchEvent(new Event('nexus:stream-complete'));
|
|
58
69
|
}
|
|
59
70
|
window.__nx_fill=__nx_fill;
|
|
60
|
-
window.__nx_fill_error=__nx_fill_error;
|
|
61
71
|
window.__nx_stream_complete=__nx_stream_complete;
|
|
72
|
+
// Run after HTML is parsed so all holes are present.
|
|
73
|
+
if(document.readyState==='loading'){
|
|
74
|
+
document.addEventListener('DOMContentLoaded',__nx_init_fallbacks);
|
|
75
|
+
}else{
|
|
76
|
+
__nx_init_fallbacks();
|
|
77
|
+
}
|
|
62
78
|
})();
|
|
63
79
|
</script>`;
|
|
64
80
|
/**
|
|
@@ -102,9 +118,12 @@ export function createStreamingResponse(renderFn, opts = {}) {
|
|
|
102
118
|
write(buildFillChunk(boundary.id, resolved));
|
|
103
119
|
}
|
|
104
120
|
catch (err) {
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
121
|
+
const ef = boundary.errorFallback;
|
|
122
|
+
const errorHtml = typeof ef === 'function'
|
|
123
|
+
? ef(err)
|
|
124
|
+
: ef ??
|
|
125
|
+
opts.onError?.(err) ??
|
|
126
|
+
buildDefaultErrorHTML(err);
|
|
108
127
|
write(buildErrorChunk(boundary.id, errorHtml));
|
|
109
128
|
}
|
|
110
129
|
});
|
|
@@ -153,9 +172,8 @@ export function createSuspenseBoundary(promise, opts) {
|
|
|
153
172
|
if (opts.fallback !== undefined) {
|
|
154
173
|
boundary.fallback = opts.fallback;
|
|
155
174
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
boundary.errorFallback = ef;
|
|
175
|
+
if (opts.errorFallback !== undefined) {
|
|
176
|
+
boundary.errorFallback = opts.errorFallback;
|
|
159
177
|
}
|
|
160
178
|
return { id, placeholder, boundary };
|
|
161
179
|
}
|
|
@@ -196,7 +214,7 @@ function buildFillChunk(id, resolved) {
|
|
|
196
214
|
const pretextWire = typeof resolved === 'object' && resolved !== null ? resolved.pretextWire : undefined;
|
|
197
215
|
const devBridge = typeof resolved === 'object' && resolved !== null ? resolved.devBridgeScript : undefined;
|
|
198
216
|
const pretextScript = pretextWire !== undefined
|
|
199
|
-
? `<script>(function(){var el=document.getElementById('__NEXUS_PRETEXT__');if(el)el.textContent=${JSON.stringify(pretextWire)};})();</script>`
|
|
217
|
+
? `<script>(function(){var el=document.getElementById('__NEXUS_PRETEXT__');if(el)el.textContent=${JSON.stringify(pretextWire).replace(/</g, '\\u003c').replace(/>/g, '\\u003e')};})();</script>`
|
|
200
218
|
: '';
|
|
201
219
|
const bridge = devBridge ?? '';
|
|
202
220
|
return (pretextScript +
|
|
@@ -210,7 +228,9 @@ function buildErrorChunk(id, html) {
|
|
|
210
228
|
}
|
|
211
229
|
function buildFatalErrorChunk(err) {
|
|
212
230
|
const msg = err instanceof Error ? err.message : String(err);
|
|
213
|
-
|
|
231
|
+
// Escape < to prevent </script> injection inside the inline script tag.
|
|
232
|
+
const safeMsg = JSON.stringify(msg).replace(/</g, '\\u003c').replace(/>/g, '\\u003e');
|
|
233
|
+
return `<script>console.error('[Nexus Stream] Fatal error:',${safeMsg})</script>`;
|
|
214
234
|
}
|
|
215
235
|
function buildDefaultErrorHTML(err) {
|
|
216
236
|
const msg = err instanceof Error ? err.message : String(err);
|
package/dist/streaming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAiCH,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus_js/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Nexus Node HTTP server — SSR, server actions, islands & assets (middleware lives in @nexus_js/middleware for edge runtimes)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@nexus_js/assets": "0.
|
|
44
|
-
"@nexus_js/compiler": "0.
|
|
45
|
-
"@nexus_js/
|
|
46
|
-
"@nexus_js/
|
|
47
|
-
"@nexus_js/
|
|
48
|
-
"@nexus_js/
|
|
43
|
+
"@nexus_js/assets": "0.9.1",
|
|
44
|
+
"@nexus_js/compiler": "0.9.1",
|
|
45
|
+
"@nexus_js/router": "0.9.1",
|
|
46
|
+
"@nexus_js/connect": "0.9.1",
|
|
47
|
+
"@nexus_js/serialize": "0.9.1",
|
|
48
|
+
"@nexus_js/security": "0.9.1"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/node": "^22.0.0",
|