O hirunewani blog

Frontend Weekly 2024-07-05

Created at

ECMAScript 2024の仕様が承認、Playwright v1.45.0、dotenvx v1.0.0などについて紹介する。

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.* ファイルを読み込みます。これにより柔軟性を持たせています。

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のライブラリの依存の最適化、依存の削減などについて書かれている。