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.
- Standardize server-side guard logic across routes.
- Reduce repetitive request parsing and validation code.
- Keep middleware-like behavior explicit and composable.
- Improve observability with correlation IDs on every response.
npm install @sourceregistry/sveltekit-enhanceThe 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
ValidatesAuthorization: Bearer <token>and returns{ token }. -
FeatureFlag.all(...flags)/FeatureFlag.oneOf(...flags)
Enforces public environment-based feature flags. -
RequestCorrelation.attach
Reuses incomingx-correlation-id/x-request-idor generates one, stores it inlocals, and appends it to response headers. -
Devtools.ignore
Ignores the Chrome DevTools app-specific probe route with a204response. -
Formutilities
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';- SvelteKit 2+
- Node.js runtime (matching your SvelteKit adapter/runtime support)
Apache-2.0