この変更が意味すること
Svelte 5.56.1 は declaration tag に関連する複数のパースバグを修正したパッチリリースです。Svelte 5 の {let ...} / {const ...} 形式の declaration tag(宣言タグ)を使用しているプロジェクトに影響します。
特に、重複した snippet/declaration tag 定義でコンパイル時エラーが発生しない問題と、タグの式が / で終わる場合に無限ループが発生する問題の修正は、安定性の観点から重要です。
declaration tag を使用していない場合は影響を受けません。
主な変更点
重複した snippet/declaration tag 定義でのコンパイル時エラー修正(#18351)
snippet や declaration tag が重複して定義されている場合に、コンパイル時エラーが発生しない問題を修正しました。重複定義を適切に検出してエラーを報告するようになります。
declaration tag のコンテンツをより堅牢にパース(#18353)
declaration tag のコンテンツ解析を全般的に改善し、エッジケースでの解析失敗を防止しました。
宣言タグ内の前の宣言子への参照を正しく変換(#18348)
{let a = $state(0), b = $derived(a * 2)} のように、同一 declaration tag 内で前の宣言子を参照するケースの変換が正しく行われるよう修正されました。
$derived に対する state_referenced_locally 警告の誤検知を防止(#18348)
declaration tag 内の $derived 宣言に対して、誤った state_referenced_locally 警告が表示される問題を修正しました。
declaration tag で let/const の前の空白を許容(#18348)
{ let x = $state(0)} のように let や const の前に空白がある場合にパースが失敗する問題を修正しました。
タグの式が末尾 / で終わる場合の無限ループを防止(#18350)
タグの式が入力の末尾で / で終わる場合に無限ループが発生する問題を修正しました。エディター環境やライブプレビューでの安定性が向上します。
type に関する declaration tag のパースをより堅牢に(#18xxx)
型アノテーションを含む declaration tag のパース処理を改善しました。TypeScript 環境での型付き宣言タグの互換性が向上します。
EOL / サポート状況
Svelte は endoflife.date の追跡対象外です。5 系が現行の安定バージョンで、npm latest: 5.56.1。
| dist-tag | バージョン |
|---|---|
| latest | 5.56.1 |
| next | 5.0.0-next.272 |
開発者への影響
- Svelte 5 の declaration tag(
{let ...},{const ...})を使用している場合: 複数のパースバグが修正されているため、アップデートを推奨します。特に$derivedを使用した複数宣言子のケースで恩恵を受けられます - declaration tag を使用していない場合: このパッチの影響は受けません。定期アップデートとして対応してください
- ライブプレビューやエディター拡張でSvelteを使用している場合: 無限ループ修正により安定性が向上します
アップデート方法
# npm
npm install svelte@5.56.1
# yarn
yarn add svelte@5.56.1
# pnpm
pnpm add svelte@5.56.1
# bun
bun add svelte@5.56.1
データソース: GitHub Releases API, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
