Skip to content

Repository files navigation

sveltekit-extensions

A small monorepo of SvelteKit add‑ons maintained by Escendit. Each package lives under packages/ with its own README, build, and release setup.

  • Monorepo tooling: npm Workspaces + Lerna
  • Runtime targets: Svelte 5 and SvelteKit 2 or 3-next (see each package for details)

Packages

  • Session middleware: @escendit/sveltekit-session
  • Auth (Keycloak): @escendit/sveltekit-auth-keycloak
    • README: packages/auth/keycloak/README.md
    • OIDC Authorization Code + PKCE, transparent token refresh, RP-Initiated Logout, client-side Session Management 1.0, and server-side Back-Channel Logout 1.0

Quick usage

Install the package(s) you need in your SvelteKit app:

# Session middleware only
npm i @escendit/sveltekit-session

# Keycloak auth (composes with the session middleware, so both are needed)
npm i @escendit/sveltekit-auth-keycloak @escendit/sveltekit-session

Then follow the corresponding package README for setup and APIs.

Repo layout

  • packages/… — individual publishable packages
  • packages/auth/keycloak — Keycloak integration for SvelteKit auth
  • packages/session — session middleware + stores (in‑memory, Redis)

Releasing

Publishing a GitHub Release triggers the Release workflow (build), which on success fans out to npm and GitHub workflows that version and publish every non-private package via lerna publish from-package.

  • npm (registry.npmjs.org): authenticated via npm Trusted Publishing (OIDC) - the workflow requests a short-lived GitHub Actions identity token instead of using a stored NPM_TOKEN secret. Lerna (v9+) has this built in; no extra config is needed in the workflow beyond the id-token: write permission. Each published package must be configured with this repo's npm-registry.yml workflow as its Trusted Publisher in that package's Settings on npmjs.com before its first OIDC-authenticated release.
  • GitHub Packages (npm.pkg.github.com): authenticated via the workflow's own GITHUB_TOKEN, scoped to this repository.

For anything else (build, scripts), see the package READMEs.

About

SvelteKit Extensions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages