O hirunewani blog

Frontend Weekly 2024-08-23

Created at

Node.jsがCorepackを削除する件や、Astro 4.14のContent Layer APIについて紹介する

Node.jsがCorepackの削除を決定

Node.jsは、次のメジャーリリースでCorepackの削除を予定している。

https://socket.dev/blog/node-js-takes-steps-towards-removing-corepack

Corepackは、Yarnやpnpmなどのパッケージマネージャーを直接インストールすることなく使うことが出来るパッケージマネージャーのマネージャーである。現在のNode.jsでは既にバンドルされているが、デフォルトでは無効化されており、これをデフォルトで有効化するかどうについて非常に議論があった。

結果として、Corepackをバンドルしないようにすることが決定された。元々CorepackはNode.jsに組み込まれる以前から存在している別のツールであり、これによってCorepackが使えなくなるということはない。

Astro 4.14.0 Content Layer API

Astro 4.14.0で、Content Layer APIが追加された。

https://astro.build/blog/astro-4140/

Content Layer APIでは、外部のリソースをフェッチして利用できるようになる。またローカルのリソースを扱う場合でもコンテンツがキャッシュされるため、従来の方法よりもパフォーマンスの改善がされる。

Others

Clipboard APIで非同期処理を含む操作をする際の注意点とその対策

記事ではSafariの場合、非同期処理のコンテキストではクリックイベントハンドラ内でもユーザ操作とみなされずパーミッションエラーになるという問題と、その対策としてClipboardItemで非同期処理を行わせる方法と処理を分ける方法を紹介している。

https://zenn.dev/cybozu_frontend/articles/async-clipboard-api

実際に試したところ、1秒以上経過すると確かにパーミッションエラーになった。一方で、1秒未満であればエラーが発生しなかった。 この時間による制限はAudio再生における5秒の制限に似ている。