561 文字
3 分

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>

https://stackblitz.com/edit/js-bjwzi1?file=index.html

緩和された 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 形式で出力されるようになりました。

Frontend Weekly 2023-12-08
https://blog.ohirunewani.com/series/frontend-weekly/2023-12-08/
作者
hrdtbs
公開日
2023-12-08
ライセンス
CC BY-NC-SA 4.0