@authup/server-console-kit
v1.0.0-beta.66
Published
The page-serving mechanism every authup console service shares: html shell stamping, security headers, asset rebasing and the template splice.
Readme
@authup/server-console-kit
The page-serving mechanism every authup console service shares.
A console service turns a built console bundle into an HTTP response, and the steps are the same whichever console it serves: read the shared locale / color-mode cookies, stamp them onto the shell, splice the rendered markup or the runtime config into the template, rebase the asset URLs when authup is served under a sub-path, and set the security headers a login surface needs.
This package owns those steps so no two services can spell them
differently. replaceTemplateMarker in particular is what defends the
$'-expansion trap: a string replacement re-interprets $&, $`,
$' and $$ in the value, and the values spliced into a console shell
carry raw request input. It must exist exactly once.
Installation
npm install @authup/server-console-kit --saveUsage
import {
applyUIPageHeaders,
readUIClientPreferences,
rebaseAssetURLs,
replaceTemplateMarker,
stampHtmlAttributes,
} from '@authup/server-console-kit';
const preferences = readUIClientPreferences(event);
let body = replaceTemplateMarker(template, '<!--app-html-->', appHtml);
body = stampHtmlAttributes(body, preferences);
body = rebaseAssetURLs(body, basePath, '/console/auth/');
applyUIPageHeaders(event);License
Made with 💚
Published under Apache-2.0 License.
