What’s new in Svelte: 2022年4月
フォールスルールートにさようなら、param validatorにこんにちは!
今月は、SvelteKit のページプロパティの扱い方に変更がありました。フォールスルールート(fallthrough routes)を必要とするユースケースの最後の難関「パラメータプロパティの検証」が、より具体的なソリューションに置き換えられました。
より詳細な情報と、その他 Svelte の新機能について見ていきましょう…
What’s new in SvelteKit
- Param matchers allow you to check if a url parameter matches before rendering a page - replacing the need for fallthrough routes for this purpose (Docs, #4334)
- Explicit redirects can now be handled directly from endpoints (#4260)
svelte-kit sync
(#4182), TypeScript 4.6 (#4190) and Vite 2.9 were released - adding non-blocking dependency optimization and experimental CSS source maps in dev mode as well as a number of bug fixes contributed by the SvelteKit team (#4468)
New Config Options
outDir
fixes path issues in monorepos and other situations where the desired output directory is outside the project directory (Docs, #4176)endpointExtensions
prevents files other than .js and .ts files from being treated as endpoints, unless you specifyendpointExtensions
(Docs, #4197)prerender.default
lets you prerender every page without having to writeexport const prerender = true
in every page file (Docs, #4192)
Breaking Changes
- フォールスルールート(Fallthrough routes)が削除されました。マイグレーションのための tips については、PR を確認してみてください (#4330)
tabindex="-1"
がナビゲーションの間<body>
にのみ追加されるようになります (#4140、#4184)- Adapter は
getClientAddress
関数を提供する必要があります (#4289) InputProps
とOutputProps
は、生成されるLoad
において別々に型付けされるようになりました (#4305)\$
文字が動的なパラメータとして使えなくなりました (#4334)svelte-kit package
が experimental としてマークされ、Kit 1.0 以降に変更があっても breaking と見なされません (#4164)
New across the Svelte ecosystem
- Svelte: TypeScript、Svelte plugin ユーザー向けに新しい型が多く追加されました。
style:
ディレクティブや Svelte Actions も含まれます (3.46.4、3.46.5) - Language Tools: Svelte のプロジェクトファイルを、TS ファイルでインポートしていなくても参照(reference)からインポート/検索できるようになりました (105.13.0)
- Language Tools: html で、
<!--#region-->
/<!--#endregion-->
で折りたたみができるようになりました (105.13.0)
Community Showcase
Apps & Sites built with Svelte
- Launcher はオープンソースのアプリランチャーです。SvelteKit、Prisma、Tailwind を使用しています
- Paaster は end to end で暗号化された pastebin で、デフォルトで安全です。Svelte、Vite、TypeScript、Python、Starlette、rclone、Docker で構築されています
- Simple AF Video Converter は ffmpeg.wasm の Electron ラッパーです。フォーマット間の動画変換を簡単に行うことができます。
- Streamchaser は、一元化されたエンターテイメントテクノロジープラットフォームを通じて、映画やシリーズ、ドキュメンタリーなどの検索をシンプルにすることを追求しています
- Svelte Color Picker はシンプルなカラーピッカーで、Svelteで構築されています
- ConcertMash は、Spotify API を使用してあなたが参加する予定のコンサートに基づいた新しいプレイリストを生成する小さな web サイトです
- Modulus はデザイン+コードのシンクタンクで、デザインとテクノロジーを進化させることを主なミッションとしています。
- Multiply はカルチャーのスピードに合わせた PR とソーシャルの総合エージェンシーです
- yia! はニュージーランドの Young Innovator Award コンペティションです
- Write to Russia は、パブリックな
.ru
のメールアドレスとやり取りするためのコミュニティメール作成プラットフォームです - Markdown Playground は、markdown 色々試してみるのに特化したオンラインの playground です
- RatherMisty は装飾を省いた天気予報アプリで、Open-Meteo の気象データを使用しています
- Minecraft Profile Pic (MCPFP) は Minecraft のプロフィール画像を簡単に生成できるサイトです
- WebGL Fluid Simulation は様々な設定が可能な流体シミュレーションで、Svelte と WebGL で構築されています
- この @NobelPeaceOslo の展示 は、プリントグラフィックス、プロジェクションモーショングラフィックス、パーティクルアニメーション、ジェネレーティブサウンドデザインを用いて構築されています
モダンな SvelteKit webサイト に貢献してみたいですか?Svelte Society のサイト構築を手伝っていただけませんか!
Learning Resources
To Attend
- Svelte Summit: Spring が2022年4月30日に開催されます!YouTube と Discord で、5回目のバーチャルな Svelte カンファレンスに是非ご参加ください 🍾
To Read
- Svelte(Kit) TypeScript Showcase + general TypeScript tips by Hofer Ivan
- Local constants in Svelte with the @const tag by Geoff Rich
- Design Patterns for Building Reusable Svelte Components by Eric Liu
- Svelte is better than React by Hamilton Greene
- Making Visualizations Literally with Svelte and D3 by Connor Rothschild
- Coordinating Multiple Elements with Svelte Deferred Transitions by Daniel Imfeld
- Animate on scroll with Svelte Inview - Little Bits by Maciek Grzybek
- Lazy-Loading Firebase with SvelteKit and HeadlessUI Components with Svelte by Captain Codeman
- SvelteKit Accessibility Testing: Automated CI A11y Tests by Rodney Lab
- Getting Started with KitQL and GraphCMS by Scott Spence
- React ⇆ Svelte Cheatsheet は、2つのライブラリの類似点と相違点のリストです - by Joshua Nussbaum
To Watch
- Svelte Extravaganza | Async by pngwn
- 6 Svelte Packages You Should Know and Basic React To Svelte Conversion by LevelUpTuts
- Page/Shadow Endpoint in SvelteKit by WebJeda
- Custom Svelte Store: Higher Order Store by lihautan
- SvelteKit For Beginners (Playlist) by Joy of Code - follow along with the blog guide
- Fullstack SvelteKit Auth 🔐 with Firebase & Magic Links! 🪄 by Johnny Magrippis
- Firebase Authentication in SvelteKit! Full Stack App by Ryan Boddy
Libraries, Tools & Components
- SvelTable は多機能なデータテーブルコンポーネントで、Svelteで構築されています
- svelte-cyberComp はパワフルで軽量な Svelte コンポーネントで、Svelte と TypeScript で書かれています
- Flowbite Svelte は Svelte 向けの非公式な Flowbite コンポーネントライブラリです
- Svelte-Tide-Project は、フロントエンドに Svelte、バックエンドに Rust の Tide を使った スターター・テンプレートです
- Fetch Inject は非同期な JavaScript の依存関係を管理するためのパフォーマンス最適化の実装で、Svelte をサポートし始めました
- svelte-utterances は GitHub issues をベースにした軽量なコメントウィジェットです
- Liquivelte は、Svelte ライクなコンポーネントで Shopify のテーマを構築することができます
- @storyblok/svelte は、Storyblok API を使用するのに必要な Svelte SDK で、リアルタイムでビジュアル編集が可能となります
- @svelte-on-solana/wallet-adapter は Solana/Anchor アプリケーション向けのモジュラーな TypeScript wallet adapter と UI コンポーネント で、フレームワークとして SvelteJS を使用しています
- svelte-lookat は、その子要素がマウスカーソル(モバイルの場合はユーザーの顔)に追従するような div を作成します
また来月お会いしましょう!