All files / realm/blong-access browser.ts

96.77% Statements 30/31
50% Branches 1/2
100% Functions 0/0
96.77% Lines 30/31

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 321x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 4x 4x 4x 4x 4x 4x 4x 4x 4x   4x 4x 4x 4x 4x 4x 4x 4x 4x  
/// <reference types="vite/client" />
/**
 * blong-access/browser.ts — RBAC access control realm entry point.
 *
 * Auto-discovers schema definitions and DB config from the `meta/` folder.
 *
 * Consumed by suites that need user profiles, credentials, RBAC roles,
 * capabilities, actions, policies, access flows, and audit logging.
 */
import {realm} from '@feasibleone/blong';
 
export default realm(() => ({
    url: import.meta.url,
    // Only the model specs (+ the browser layer) belong in the browser bundle.
    // The server-side `meta/db`, `meta/dbTest` and `meta/type` groups are
    // loaded by the server realm, not here — pulling them into the browser
    // would break the Vite bundle (e.g. `node:path` in `meta/db/db.ts`).
    // The profile page JSX lives in `src/pages/` (not a well-known layer
    // folder) so the Node tap runner never tries to load `.tsx`; Vite bundles
    // it via the lazy dynamic import in the component handler.
    children: globalThis.window
        ? import.meta.glob(['./meta/model/**/*.ts', './browser/**/*.ts'])
        : ['./meta/model', './browser'],
    config: {
        default: {
            meta: true,
            orchestrator: true,
            component: true,
        },
    },
}));