Skip to content
Guide

Load ownership in +page.server.ts

Use +page.server.ts for secrets and data stores. Use +page.ts for public data and UI composition. Keep load objects small and purpose-built so the contract stays clear.

Split responsibilities

// src/routes/+page.server.ts
	export const load = async () => ({ secrets: true });
// src/routes/+page.ts
	export const load = async ({ data }) => ({ view: data });

Checklist

  • Server loads own secrets and private APIs.
  • Client loads own composition data.
  • Avoid mixing unrelated data in one object.
Built as a personal SvelteKit 5 lab with Supabase auth. Guides, patterns, and a playground you can actually ship.
Command Palette
Search for a command to run