Svelte 5ではスロット(slot)が廃止され、代わりにスニペットという仕組みになりました。{#snippet} で定義して {@render} で呼び出します。
Svelte 5で $props() にTypeScriptの型を付ける方法と、子コンポーネントから親の値を変更できる $bindable の使い方を整理します。
Svelte 5でコンポーネント間の状態を共有する方法は主に2つあります。 props(親から子へ渡す)と store(どこからでも参照できる共有ファイル)です。 それぞれの実装方法と使い分けの判断基準を整理します。
Svelte 5からリアクティビティの仕組みが「ルーン(Rune)」という新しい方式に変わりました。 $state・$derived・$effect の3つを中心に、実際に動かしながら挙動を整理します。
GitHub OAuthのログインを実装する中で、複数の種類のトークンが登場しました。 それぞれの役割・寿命・保存場所が異なるため、整理してまとめます。
固定パスワードによる簡易認証をGitHub OAuthを使った本格的な認証に置き換えました。 Arcticライブラリを使ってOAuthの実装をシンプルに保ちつつ、セッション管理にはCloudflare D1を使っています。
$lib/posts.ts に書いていた静的なデータをCloudflare D1(サーバーレスSQLite)に移行しました。 この記事ではDB作成からマイグレーション、SvelteKit側でのデータ取得までの手順をまとめます。
SvelteKitプロジェクトにTailwindCSS v4を導入しました。 v4はVite専用プラグインが用意されており、v3と比べて設定が大幅にシンプルになっています。
SvelteKitの基礎を学ぶ中で、同じデータが複数ファイルに重複して書かれている問題に気づきました。 この記事では src/lib/ フォルダと $lib エイリアスを使ってデータと型を整理する方法をまとめます。
SvelteKitで作ったTODOアプリを実際に公開するため、Cloudflare Pages へのデプロイ設定を行いました。 アダプターの役割と環境変数の扱いを中心に整理します。