
こんにちは。よっしーです(^^)
今日は、SvelteKitのリファレンスについて解説して います。
背景
SvelteKitのリファレンスについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。
CLIツール(sv)
コマンドラインインターフェース(CLI)であるsv
は、Svelteアプリケーションの作成と保守のためのツールキットです。
ELuciaとは
Luciaは、SvelteKitプロジェクト用の認証セットアップで、Lucia認証ガイドに従った実装が提供されます。
使用方法
npx sv add lucia
導入するもの
- SvelteKitとDrizzleのためのLucia認証ガイドに基づくベストプラクティスに沿った認証セットアップ
- オプションでデモ登録とログインページ
オプション
demo
デモ登録とログインページを含めるかどうか。
npx sv add --lucia=demo
基本的な導入(デモページなし)
cd my-sveltekit-project
npx sv add lucia
これにより、Lucia認証の基本的なセットアップがプロジェクトに追加されます。このセットアップには以下が含まれますが、デモページは含まれません:
- Luciaパッケージのインストール
- 認証関連のサーバーサイドコード
- 認証ユーティリティ関数
- セッション管理の実装
デモページ付きの導入
cd my-sveltekit-project
npx sv add --lucia=demo
この場合、基本的なセットアップに加えて以下が追加されます:
- 登録ページ(通常は
/register
ルート) - ログインページ(通常は
/login
ルート) - ログアウト機能
- 認証状態を表示するための基本的なUIコンポーネント
Drizzleとの連携例
Luciaアドオンは、Drizzle ORMが既にプロジェクトに組み込まれている場合、自動的にDrizzleと連携します。例えば:
# まずDrizzleを追加
npx sv add --drizzle=postgresql,postgres.js
# 次にLuciaを追加
npx sv add --lucia=demo
このような順序で追加すると、LuciaはユーザーテーブルとセッションテーブルをDrizzleスキーマに統合し、認証システムがデータベースと正しく連携するように設定されます。
導入後の一般的なカスタマイズ
Luciaのセットアップ後、以下のような追加カスタマイズが一般的です:
- ユーザープロファイル情報の拡張(名前、画像URLなど)
- ソーシャルログイン(OAuth)の追加
- メール確認フローの実装
- パスワードリセット機能の追加
- 多要素認証の実装
これらの拡張機能はLuciaの公式ドキュメントを参照することで実装できます。
Luciaアドオンは、最小限の労力でSvelteKitプロジェクトに堅牢な認証システムを提供し、必要に応じて拡張性も備えています。
おわりに
今日は、 SvelteKitのリファレンスについて解説しました。

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント