注目★★★★★Webkit Blog
Safari 27、Top-Level Awaitの初期化バグを根本修正
30秒で把握
- 1WebKitがSafari 27でTop-Level Awaitを仕様準拠に修正
- 2旧モジュールローダーをC++で再実装し初期化前エラーを解消
- 3Safari Technology Preview 251とSafari 27 betaで試用可能
要約
WebKitはSafari 27で、JavaScriptのTop-Level AwaitをECMAScript仕様に完全準拠させた。従来は同じモジュールを並行importすると、完了順が崩れたり「初期化前にアクセスした」エラーが発生した。WebKitは旧モジュールローダーを廃止し、仕様のアルゴリズムをC++で実装し直した。Safari Technology Preview 251とSafari 27 betaで試用でき、Safari 27の正式版ではTop-Level AwaitとES modulesを本番利用できる。
あなたへの影響
Safari向けにTop-Level Awaitを使う日本のWeb開発チームは、Safari 27 betaまたはSafari Technology Preview 251で依存モジュールの初期化順と既存テストを近日中に検証してください。
推奨:Top-Level Awaitは、ES moduleの評価完了までimport元の処理を待機させる仕様です。