Yuto Blog
rss-iconx-icongithub-iconyoutube-icon

weekly blog 3/18 ~ 3/24

今週はNode.js系の話が多かった気がします。

require(esm) in Node.js

Node.jsでesmで書かれたファイルがrequireで読み込めるようになりました。 以下はブログの要約です。

要約

Node.jsで長年ESMをrequireで読み込めなかったのは、ESMが非同期実行を持つためと説明されていました。 つまりESMはimport文がトップレベルでawaitを使用する可能性があるため、同期的なrequireとは互換性がないとされていたそうです。

しかしこのブログを書いた@JoyeeCheungさんがJSエンジンのv8のコードを見る過程で、esmが無条件に非同期になるわけではなくて、トップレベルのawaitが含まれる場合のみ非同期になることを知ったそうです。(なので今回トップレベルawaitに対応していないのも納得ですね。)

そしてどうやらESMをrequireで読み込めるようにするアイデア自体は2019年に提案されていたらしいですが、サポートが遅くなってしまった原因としては、技術的な問題よりも文化的な側面が多いらしく、Node.jsのESM実装を担当するグループと、それ以外の開発者で分断があったそうです。

Array.filter ← これで型が絞れるようになるらしい

Array.filterで今までisを使って型ガードしないといけなかったところを型推論されるようになったらしいです。

The redesigned http://nodejs.org is live!

Node.jsのサイトがリニューアルされました。以下はXの投稿の抜粋です。

  • Fresh look
  • Comprehensive search
  • New learning resources
  • APIs & downloads unchanged
  • Improved contributor DX

Node.js: The Documentary | An origin story

Node.jsのドキュメンタリーがYoutubeで公開されました。

感想としては、何度も人が移り変わり、forkされio.jsが生まれ、そして統合されNode.js v4がリリースされた。たくさんの紆余曲折の話が聞けて面白かったです。あとこの頃は全くプログラミングを知らなかったので、こういった話はとっても好きです。

Page Speed Insightsの改善 「CLSで満点を取る」 - Hello Tech

CLS改善に関するブログです。以下は資料の中にあったCLS改善のポイントです。

Rust 1.77.0

rustの1.77がリリースされました。 ただまだ自分の知識がなくて今回リリースされた機能の旨みはわからなかったです

関連

0