Frontend Weekly 2023-12-08
Chrome 120
2023 年 12 月 5 日に Chrome 120 がリリースされました。
https://developer.chrome.com/blog/new-in-chrome-120?hl=ja
CloseWatcher API
https://github.com/WICG/close-watcher
Android の戻るボタンやジェスチャー、Esc キーが押された場合などに CloseWatcher インスタンスに close イベントが通知されます。ユーザーがモーダルやポップアップなどを閉じたいという意思を表示した際に、アプリで適切に処理するための API です。
document.querySelector("#open").addEventListener("click", () => { document.querySelector("#sidebar").classList.add("open");
const watcher = new CloseWatcher();
watcher.addEventListener("cancel", () => { console.log("CloseWatcher cancel event"); }); watcher.addEventListener("close", () => { document.querySelector("#sidebar").classList.remove("open"); });});
window.addEventListener("error", (e) => { document.querySelector("#error-console").textContent += e.error.stack + "\n\n";});
https://stackblitz.com/edit/js-x1v2yr?file=index.js,index.html,style.css
details 要素の name 属性
同じ name 属性で複数の details 要素を紐づけることで、どれか 1 つだけを開ける UI を実装できます。
<details name="cookies"> <summary>Chocolate chip</summary> Yum yum chocolate chip.</details><details name="cookies"> <summary>Snickerdoodle</summary> Yum yum snickerdoodle.</details><details name="cookies"> <summary>Maicenitas</summary> Yum yum maicenitas.</details><details name="cookies"> <summary>Sugar cookies</summary> Yum yum sugar cookies.</details>
緩和された CSS ネスト
&
や is()
を使用しなくても CSS をネストした状態で記述できるようになりました。
.card { h1 { font-size: 24px; }}
/* 今まで */.card { & h1 { font-size: 24px; }}
https://developer.chrome.com/blog/css-nesting-relaxed-syntax-update/?hl=ja
Vitest 1.0
2023 年 12 月 5 日に Vitest 1.0 がリリースされました。
https://github.com/vitest-dev/vitest/releases/tag/v1.0.0
Node.js 18 及び Vite 5 が必須に変更。coverage レポートがテストを行なっていないファイルも含めるのがデフォルトに変更、元に戻す場合は coverage.all を false に設定。閾値関連の設定を thresholds フィールドにまとめて記述するように変更。また古いオプションの削除及び置き換えなどが行われています。移行はさほど簡単そうです。
https://vitest.dev/guide/migration.html#migrating-from-vitest-0-34-6
Astro 4.0
2023 年 12 月 5 日に Astro 4.0 がリリースされました。
https://astro.build/blog/astro-4/
Vite 5.0 に対応。開発体験を強化するために DevToolbar が追加。DevToolbar の Inspect 機能では、プロパティを表示したり、クリックでコンポーネントを直接エディタで開くといったことが出来ます。さらには DevToolbar はサードパーティによる拡張が出来るとのことです。i18n Routing が正式サポート。他、View Transition API や Logging の改善など。
Major updates of Redux libraries
2023 年 12 月 4 日に Redux 5.0、Redux Toolkit 2.0、React Redux 9.0、Reselect 5.0 など Redux 関連パッケージのメジャーリリースが行われました。
https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0
全ての Redux ライブラリで、TypeScript へ書き換え、ESM/CJS に対応、ES2020 形式で出力されるようになりました。