What's new in Svelte: 2022年4月
フォールスルールートにさようなら、param validatorにこんにちは!
翻訳 : Svelte 日本コミュニティ
原文 : https://svelte.dev/blog/whats-new-in-svelte-april-2022日本語版は原文をよりよく理解するための参考となることを目的としています。
正確な内容については svelte.dev の原文を参照してください。
日本語訳に誤解を招く内容がある場合は下記のいずれかからお知らせください。
今月は、SvelteKit のページプロパティの扱い方に変更がありました。フォールスルールート(fallthrough routes)を必要とするユースケースの最後の難関「パラメータプロパティの検証」が、より具体的なソリューションに置き換えられました。
より詳細な情報と、その他 Svelte の新機能について見ていきましょう…
What's new in SvelteKitpermalink
- Param matchers により、ページをレンダリングする前に URL パラメータがマッチするかチェックできるようになりました。フォールスルールート(fallthrough routes)で URL パラメータをチェックしていた場合は、これに置き換えてください (Docs, #4334)
- 明示的なリダイレクトをエンドポイントで直接扱えるようになりました (#4260)
svelte-kit sync
(#4182)、TypeScript 4.6 (#4190)、Vite 2.9 がリリースされました。ノンブロッキングな依存関係の最適化、開発モードでの実験的な CSS source map、SvelteKit チームのコントリビュートによるいくつかのバグフィックスが追加されています (#4468)
New Config Options
outDir
により、モノレポや、プロジェクトディレクトリの外側に出力ディレクトリを置きたい状況におけるパスの問題が解決します (Docs, #4176)endpointExtensions
により、ご自身で endpointExtensions を指定しない限り、.js と .ts 以外のファイルがエンドポイントとして扱われるのを防ぎます (Docs, #4197)prerender.default
により、全てのページファイルにexport const prerender = true
を書かなくても全てのページをプリレンダリングすることができるようになりました (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 ecosystempermalink
- 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 Showcasepermalink
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 を作成します
また来月お会いしましょう!