@macfja/sveltekit-session
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

SvelteKit Session

Session management for SvelteKit

Github CI GitHub Repo stars NPM bundle size Download per week License NPM version Snyk Vulnerabilities for npm package

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.

Package Sidebar

Install

npm i @macfja/sveltekit-session

Weekly Downloads

2

Version

1.1.0

License

MIT

Unpacked Size

67.7 kB

Total Files

12

Last publish

Collaborators

  • macfja