Frontend Weekly 2024-07-05
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?
Map.groupBy()
,Object.groupBy()
Promise.withResolvers()
RegExp flag /v
- Resizable
ArrayBuffers
andSharedArrayBuffers
- String methods
.isWellFormed()
,.toWellFormed()
Atomics.waitAsync()
for async waits on shared memory
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などを内部的に上書きし、手動での制御を可能にします。
その他
--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では -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
JavaScriptのライブラリの依存の最適化、依存の削減などについて書かれている。