Production-ready utilities for SvelteKit server flows.
Use @sourceregistry/sveltekit-enhance to build cleaner actions, loads, methods, and hooks with reusable guards for authentication, feature flags, request correlation, and form processing.
npm install @sourceregistry/sveltekit-enhance
The package provides an enhance wrapper for:
enhance.action(...)enhance.load(...)enhance.method(...)enhance.handle(...)Each wrapper accepts one or more guard functions and merges their outputs into a typed guard object.
// src/routes/account/+page.server.ts
import {enhance} from '@sourceregistry/sveltekit-enhance';
import {Auth, FeatureFlag, form} from '@sourceregistry/sveltekit-enhance';
export const actions = {
save: enhance.action(
async ({request, guard}) => {
const data = await request.formData();
const email = form.string$(data, 'email');
return {
ok: true,
token: guard.token,
email
};
},
Auth.Bearer,
FeatureFlag.all('PUBLIC_ACCOUNT_EDIT')
)
};
Auth.Bearer
Validates Authorization: Bearer <token> and returns { token }.
FeatureFlag.all(...flags) / FeatureFlag.oneOf(...flags)
Enforces public environment-based feature flags.
RequestCorrelation.attach
Reuses incoming x-correlation-id / x-request-id or generates one, stores it in locals, and appends it to response headers.
Devtools.ignore
Ignores the Chrome DevTools app-specific probe route with a 204 response.
Form utilities
Typed helpers for strings, numbers, booleans, dates, files, arrays, JSON, selector helpers, and schema-style validation workflows.
// src/hooks.server.ts
import {enhance, RequestCorrelation} from '@sourceregistry/sveltekit-enhance';
export const handle = enhance.handle(
async ({event, resolve}) => resolve(event),
RequestCorrelation.attach
);
import {
enhance,
action,
load,
method,
handle,
Auth,
FeatureFlag,
RequestCorrelation,
Devtools,
Form
} from '@sourceregistry/sveltekit-enhance';
Apache-2.0