sveltekit-session Svelte Themes

Sveltekit Session

Session management for SvelteKit

SvelteKit Session

Session management for SvelteKit

Installation

npm install @macfja/sveltekit-session

Usage

// src/hooks.server.ts
import type { Handle } from "@sveltejs/kit";
import { serverHook } from "@macfja/sveltekit-session";

export const handle: Handle = serverHook;
// src/routes/.../+page.server.ts
import type { PageServerLoad } from "./$types";
import { serverLoad } from "@macfja/sveltekit-session";

export const load: PageServerLoad = serverLoad;
// src/routes/.../+page.ts
import type { PageLoad } from "./$types";
import { error } from "@sveltejs/kit";

export const load: PageLoad = ({ data }) => {
  const session = data?.session;
  return {
    session,
  };
};

Features

  • Multiple session storages (Server memory, server file system, cookies, Redis)
  • Multiple session identifier exchanger (cookie, header)
  • Automatically save the session upon changes

Limitations

Changes on the session can only be done at server side

If you want changes made in +page.svelte to be saved, you need to send the data to the server (+page.server.js/+page.server.ts)

Documentation

Documentations and examples can be found in the docs directory.

Contributing

Contributions are welcome. Please open up an issue or create PR if you would like to help out.

Read more in the Contributing file

License

The MIT License (MIT). Please see License File for more information.

Top categories

Loading Svelte Themes