Frontend Weekly 2024-07-05

ECMAScript 2024 の仕様が承認#

https://github.com/tc39/ecma262/releases/tag/es2024

ES2024 の機能についての解説記事。

Ecma International approves ECMAScript 2024: What’s new?

Playwright v1.45.0#

Playwright v1.45.0 が 6 月 25 日にリリースされました。

https://github.com/microsoft/playwright/releases/tag/v1.45.0

Clock API#

時間に依存する動作を正確にシミュレートするための Clock API が追加されました。これは今まで制御が困難であった Date や setTimeout、requestAnimationFrame などを内部的に上書きし、手動での制御を可能にします。

Clock | Playwright

その他#

  • --fail-on-flaky-tests :Flaky テストが再試行時に成功しても落とすオプション
  • testConfig.respectGitIgnore:.gitignore に記載されているファイルを対象に外すかどうかのオプション。testDir が設定されていない場合、デフォルトでも。gitignore をリスペクトされる。

dotenvx v1.0.0#

2024 年 6 月 24 日に dotenvx v1 がリリースされました。これは dotenv 作者による dotenv の後継です。

From dotenv to dotenvx: Next Generation Config Management

dotenv の問題であった、.env ファイルの漏洩、複数環境の両立、プラットフォーム間の不一致を解決することを目的にしているようです。

プラットフォーム間の不一致:dotenvx では、npm や brew、curl など様々な手段でインストールできます。

dotenvx

複数環境の両立:dotenvx では -f フラグを用いて .env.* ファイルを読み込みます。これにより柔軟性を持たせています。

Terminal window
dotenvx run -f .env.production -- node index.js
dotenvx run -f .env.local -f .env -- node index.js

.env ファイルの漏洩:dotenvx encrypt で env ファイルを暗号化できます。

Use dotenvx with Turborepo | Dotenv

Others#

useMediaQuery は window オブジェクトに依存しているから SSR で動作しないし、よくある実装である useEffect などを利用したものではレイアウトシフトの原因になる。

【React】useMediaQuery は最終手段にしよう

React の内部処理をビジュアライズするツール

React Internals Explorer | Deep Dive Into React

React/Next.js の fetch 拡張の流れとキャッシュ

Next.js の fetch 拡張とキャッシュ機構の違いを理解する

JavaScript エコシステムのパフォーマンスの向上に取り組むプロジェクト e18e

e18e

JavaScript のライブラリの依存の最適化、依存の削減などについて書かれている。