@vertz/ui-server 0.2.26 → 0.2.29
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/bun-dev-server.js +6 -2
- package/dist/index.d.ts +13 -1
- package/dist/index.js +3 -1
- package/package.json +5 -5
package/dist/bun-dev-server.js
CHANGED
|
@@ -593,14 +593,16 @@ function createSourceMapResolver(projectRoot) {
|
|
|
593
593
|
}
|
|
594
594
|
|
|
595
595
|
// src/ssr-access-evaluator.ts
|
|
596
|
-
function toPrefetchSession(ssrAuth) {
|
|
596
|
+
function toPrefetchSession(ssrAuth, accessSet) {
|
|
597
597
|
if (!ssrAuth || ssrAuth.status !== "authenticated" || !ssrAuth.user) {
|
|
598
598
|
return { status: "unauthenticated" };
|
|
599
599
|
}
|
|
600
600
|
const roles = ssrAuth.user.role ? [ssrAuth.user.role] : undefined;
|
|
601
|
+
const entitlements = accessSet != null ? Object.fromEntries(Object.entries(accessSet.entitlements).map(([name, check]) => [name, check.allowed])) : undefined;
|
|
601
602
|
return {
|
|
602
603
|
status: "authenticated",
|
|
603
604
|
roles,
|
|
605
|
+
entitlements,
|
|
604
606
|
tenantId: ssrAuth.user.tenantId
|
|
605
607
|
};
|
|
606
608
|
}
|
|
@@ -3583,6 +3585,7 @@ data: {}
|
|
|
3583
3585
|
}) : null;
|
|
3584
3586
|
let sessionScript = "";
|
|
3585
3587
|
let ssrAuth;
|
|
3588
|
+
let ssrAccessSet;
|
|
3586
3589
|
if (sessionResolver) {
|
|
3587
3590
|
try {
|
|
3588
3591
|
const sessionResult = await sessionResolver(request);
|
|
@@ -3592,6 +3595,7 @@ data: {}
|
|
|
3592
3595
|
user: sessionResult.session.user,
|
|
3593
3596
|
expiresAt: sessionResult.session.expiresAt
|
|
3594
3597
|
};
|
|
3598
|
+
ssrAccessSet = sessionResult.accessSet;
|
|
3595
3599
|
const scripts = [];
|
|
3596
3600
|
scripts.push(createSessionScript(sessionResult.session));
|
|
3597
3601
|
if (sessionResult.accessSet != null) {
|
|
@@ -3626,7 +3630,7 @@ data: {}
|
|
|
3626
3630
|
fallbackMetrics: fontFallbackMetrics,
|
|
3627
3631
|
ssrAuth,
|
|
3628
3632
|
manifest: prefetchManager?.getSSRManifest(),
|
|
3629
|
-
prefetchSession: toPrefetchSession(ssrAuth)
|
|
3633
|
+
prefetchSession: toPrefetchSession(ssrAuth, ssrAccessSet)
|
|
3630
3634
|
});
|
|
3631
3635
|
logger.log("ssr", "render-done", {
|
|
3632
3636
|
url: pathname,
|
package/dist/index.d.ts
CHANGED
|
@@ -381,8 +381,20 @@ type PrefetchSession = {
|
|
|
381
381
|
status: "unauthenticated";
|
|
382
382
|
};
|
|
383
383
|
/**
|
|
384
|
+
* Minimal shape of an AccessSet for entitlement extraction.
|
|
385
|
+
* Avoids importing @vertz/server types into the SSR pipeline.
|
|
386
|
+
*/
|
|
387
|
+
interface AccessSetLike {
|
|
388
|
+
entitlements: Record<string, {
|
|
389
|
+
allowed: boolean;
|
|
390
|
+
}>;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
384
393
|
* Convert SSRAuth (from the JWT/session resolver) to PrefetchSession
|
|
385
394
|
* for entity access evaluation during SSR prefetching.
|
|
395
|
+
*
|
|
396
|
+
* @param ssrAuth - Auth state from session resolver
|
|
397
|
+
* @param accessSet - Access set from JWT acl claim (null = overflow, undefined = not configured)
|
|
386
398
|
*/
|
|
387
399
|
declare function toPrefetchSession(ssrAuth: {
|
|
388
400
|
status: string;
|
|
@@ -390,7 +402,7 @@ declare function toPrefetchSession(ssrAuth: {
|
|
|
390
402
|
role?: string;
|
|
391
403
|
[key: string]: unknown;
|
|
392
404
|
};
|
|
393
|
-
} | undefined): PrefetchSession;
|
|
405
|
+
} | undefined, accessSet?: AccessSetLike | null): PrefetchSession;
|
|
394
406
|
/**
|
|
395
407
|
* Evaluate a serialized access rule against the current session.
|
|
396
408
|
*
|
package/dist/index.js
CHANGED
|
@@ -484,14 +484,16 @@ async function renderToHTML(appOrOptions, maybeOptions) {
|
|
|
484
484
|
});
|
|
485
485
|
}
|
|
486
486
|
// src/ssr-access-evaluator.ts
|
|
487
|
-
function toPrefetchSession(ssrAuth) {
|
|
487
|
+
function toPrefetchSession(ssrAuth, accessSet) {
|
|
488
488
|
if (!ssrAuth || ssrAuth.status !== "authenticated" || !ssrAuth.user) {
|
|
489
489
|
return { status: "unauthenticated" };
|
|
490
490
|
}
|
|
491
491
|
const roles = ssrAuth.user.role ? [ssrAuth.user.role] : undefined;
|
|
492
|
+
const entitlements = accessSet != null ? Object.fromEntries(Object.entries(accessSet.entitlements).map(([name, check]) => [name, check.allowed])) : undefined;
|
|
492
493
|
return {
|
|
493
494
|
status: "authenticated",
|
|
494
495
|
roles,
|
|
496
|
+
entitlements,
|
|
495
497
|
tenantId: ssrAuth.user.tenantId
|
|
496
498
|
};
|
|
497
499
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertz/ui-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.29",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Vertz UI server-side rendering runtime",
|
|
@@ -58,15 +58,15 @@
|
|
|
58
58
|
"@ampproject/remapping": "^2.3.0",
|
|
59
59
|
"@capsizecss/unpack": "^4.0.0",
|
|
60
60
|
"@jridgewell/trace-mapping": "^0.3.31",
|
|
61
|
-
"@vertz/core": "^0.2.
|
|
62
|
-
"@vertz/ui": "^0.2.
|
|
63
|
-
"@vertz/ui-compiler": "^0.2.
|
|
61
|
+
"@vertz/core": "^0.2.28",
|
|
62
|
+
"@vertz/ui": "^0.2.28",
|
|
63
|
+
"@vertz/ui-compiler": "^0.2.28",
|
|
64
64
|
"magic-string": "^0.30.0",
|
|
65
65
|
"sharp": "^0.34.5",
|
|
66
66
|
"ts-morph": "^27.0.2"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@vertz/codegen": "^0.2.
|
|
69
|
+
"@vertz/codegen": "^0.2.28",
|
|
70
70
|
"@vertz/ui-auth": "^0.2.19",
|
|
71
71
|
"bun-types": "^1.3.10",
|
|
72
72
|
"bunup": "^0.16.31",
|