Cloudflareの大幅アップデートなど: Cybozu Frontend Weekly (2024-10-01号)
こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。
はじめに
サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。
今回は、2024/10/01のFrontend Weeklyで取り上げた記事や話題を紹介します。
取り上げた記事・話題
WebKit Features in Safari 18.0
Safari 18.0がリリースされました。一部機能を抜粋します。
- 新機能
- Distraction Control
- ウェブブラウジング中の邪魔な要素を非表示にできる
- iPhone Mirroring and remote inspection
- MacからiPhoneをミラーリングし、リモートiOS上のWebサイトのテストやデバッグができる
- Distraction Control
- CSS
- View Transition APIのサポート
- Style Queriesのサポート
- HTML
- ユーザが入力しようとしている内容を予測し補完するWriting Suggestion
- Switch入力の触覚フィードバック(On/Offを切り替えると振動が走る)
- 日付・時間入力フィールドのアクセシビリティ改善
- JavaScript
- Unicode 15.1.0のRegExpサポート
-
URL.parse()
の追加
そのほか、たくさんの追加・修正が行われています。
1.3 Million Subtests
ブラウザエンジン「Servo」の進展についての記事です。Servoは、Rust製のブラウザエンジンで、新しいWebブラウザVersoの開発に利用されています。Servoは、Web標準技術に対するテストスイートであるWeb Platform Testsの、130万以上のサブテストに合格し、全体の73%以上をパスしました。GeckoやKHTML由来でないブラウザエンジンとして急成長しています。
Builder Day 2024: 18 big updates to the Workers platform
Cloudflareの「Builder Day 2024」で発表された18の主要なアップデートについて紹介したブログ記事です。一部を抜粋します。
- Persistent Logs for every Worker
- Workerのログを保持できるように
- Improved Node.js compatibility is now GA
- WorkersランタイムでのNode APIの数が2倍になり、Node.jsとの互換性がGAに
- Build frontend applications on Workers with Static Asset Hosting
- AstroやNext.jsで生成した静的アセットをWorkersに直接デプロイできるように
- https://developers.cloudflare.com/workers/static-assets/
- Cloudflare joins OpenNext to deploy Next.js apps to Workers
- Next.jsアプリケーションをOpenNextを使ってWorkersにデプロイできるように
- Image optimization is available to everyone for free — no subscription needed
- Cloudflare Imagesで、1ヶ月あたり最大5,000回の画像最適化を無料で利用できるように
そのほか、QueuesやR2のEvent notificationsがGAになりました。
The Web Vitals extension, now in DevTools
Chrome 129から、DevToolsのパフォーマンスパネルでCore Web Vitalsの計測結果を確認できるようになりました。Chromeチームが運営するChrome拡張機能「Web Vitals」で提供される機能を順次パフォーマンスパネルに移行し、2025年1月までにWeb Vitals拡張機能のサポートを終了する予定です。
Prisma 5.20.0 release
strictUndefinedChecks
がPreview機能として追加されました。strictUndefinedChecks
を有効化すると、Prismaクエリのundefined
をエラーとして検出してくれます。Prismaでは、where
句にundefined
が入ると条件なしで検索するため、意図せずデータが漏洩したり損失してしまう危険性がありました。この機能は次のメジャーバージョンからデフォルトで有効になる予定です。
Oxc Transformer Alpha | The JavaScript Oxidation Compiler
OXC Transformerのアルファ版がリリースされました。OXC transformerは、Rust製のTypeScriptのトランスパイラです。
Announcing BCD Watch
MDNのBrowser Compatibility Data(BCD)を収集したWebサイト「BCD Watch」が発表されました。BCDの全ての変更と、主要ブラウザのサポート状況を確認できます。これらのレポートは、RSS、Atom、JSONフィードとしても利用できます。
OpenNext
OpenNextは、Next.jsをVercel以外のさまざまなプラットフォームでホスティングできるようにするオープンソースの取り組みです。現在は、AWSやCloudflareのアダプタを提供しています。Next.jsの全機能をサポートすることを目指し、コミュニティ主導で開発が進められています。
Removing Corepack - Speaker Deck
Node.js Takes Steps Towards Removing Corepack - Socketを元に、CorepackをNode.jsの配布から削除する計画と、その経緯をまとめたスライドです。否定の声も大きいことから、本当に削除されるかはまだわからないと結論づけています。
End of life for Actions Node16 · GitHub Changelog
2024年10月15日をもって、GitHub ActionsのrunnerはNode.js16のサポートを終了する予定です。
Server ActionsをServer Functionsに命名変更
React v19より、用語変更が行われ、Server ActionsはServer Functionsに変更されました。Server Actionsという用語の代わりにServer Functionsという用語を使うようになり、Server Actionsはその中の特定の使い方を指すようになりました。
New support eslint 9 by G-Rath · Pull Request #2996 · import-js/eslint-plugin-import
eslint-plugin-importがv2.31.0をリリースし、ESLint v9をサポートしました。
ESLint v8のEOLは2024年10月5日を予定しており、利用者側はアップデートを急ぐ必要があります。
Storybook8.3
Storybook 8.3がリリースされました。一部を抜粋します。
- First-class Vitest integration
- Vitestのbrowser modeを使ってStoryのテストができる機能がexperimentalでリリース
- Next.js Vite framework
- Next.jsをサポートするためにNext.js環境をエミュレートするViteプラグインを作成
- Experimental story globals
- Story globalsというstoryごとに簡単にview portやbackground、localeを変更できるapiがexperimentalでリリース
TPAC 2024: Overview
W3Cの年次イベントであるW3C TPACが2024年9月23日から5日間にわたって開催されました。
アジェンダは次のIssueから確認できます。
あとがき
Prismaのundefined
に苦い思い出がある人は少なくないと思うので、嬉しい変更だなと思います。元になったIssueでは、undefined
によってテーブルごと消えてしまったようです。
Discussion