775 文字
4 分

Frontend Weekly 2024-08-16

pnpm v9.7.0#

pnpm v9.7.0 がリリースされた。

https://github.com/pnpm/pnpm/releases/tag/v9.7.0

packageManager によるバージョンの切り替え#

Corepack が利用する packageManager を参照して、自動的にバージョンを切り替える機能が追加された。 例えば、package.jsonに次のように指定すれば、自動的に[email protected]が利用される。

{
"packageManager": "[email protected]"
}

この機能を有効化するには、manage-package-manager-versionstrueに設定する必要がある。 次のようにコマンドを実行する。

Terminal window
pnpm config set manage-package-manager-versions true --location project

または.npmrcなどに次のように記述すればいい。

manage-package-manager-versions=true

パッケージの全てのバージョンをパッチを適用する#

以前からpnpmでは、pnpm patchコマンドを利用して、パッケージのコードを直接書き換えることが出来る。 次のようにコマンドを入力する。

Terminal window
pnpm patch <package-name>

出力に従ってパッチの記述やコマンドの入力を行うとpatches/<package-name>@<package-version>.patchというファイルが作成され、package.jsonには次のようにpatchedDependenciesフィールドが追加される。

{
"pnpm": {
"patchedDependencies": {
"<package-name>@<package-version>": "patches/<package-name>@<package-version>.patch"
}
}
}

しかし、これは見て分かる通り、特定のバージョンに対してパッチを適用することしか出来ない。 つまり、パッケージのバージョンを上げるたびにパッチを適用する必要があった。

そこで、pnpm v9.7.0 ではpnpm patchコマンドでバージョンを指定しなかった場合、全てのバージョンに対してパッチを適用する機能が追加された。

WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer#

W3C が従来のブラウザテスト自動化プロトコル WebDriver の拡張として策定を進めていた WebDriver BiDi が、Firefox、Chrome、Puppeteer で本番環境での利用が可能になった。

https://developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi

従来のブラウザテスト自動化プロトコルには、いくつか問題がある。

  • Selenium などで利用される WebDriver はクロスブラウザ対応が容易な一方、Flaky になりやすく遅い。
  • Puppter や Playwright などが利用している Chrome DevTools Protocol(CDP)は高速であり低レベルな API を操作できるが、名前の通り本来 Chromium base のブラウザでしか動かず、Firefox や Safari にはパッチを当てて対応している。

WebDriver BiDi は、これらの問題を解決するために開発された。 WebDriver と CDP それぞれのメリットである容易なクロスブラウザ対応と高速な動作、低レベルな API の操作を全て備えている。

Others#

Remix v2 の Hooks 全部使うシリーズ#

Remix を現在使っていない場合も、React Router の Data Router を利用していれば同様の Hooks が利用できるので、一度軽く目を通すと多くの発見があると思う。

  1. https://qiita.com/kedama-t/items/f648183771585422a31d#%E5%BA%8F
  2. https://qiita.com/kedama-t/items/29972d958f640285abbc
  3. https://qiita.com/kedama-t/items/27487e3e29d8f1917959

React Router や Remix の公式ドキュメントでも確認できるが、簡素な傾向があるので、こういう網羅的な記事は有益だと思う。

リクルートのエンジニアコース新人研修資料 2024#

リクルート社のエンジニア研修の資料が今年も公開された。

https://techblog.recruit.co.jp/article-4635/

React や Next.js など技術にフォーカスしたスライドが取り上げられがちだが、 個人的にはソフトウェアエンジニアとしての姿勢と心構え現代的なシステム設計概論も良い資料だと思う。

Frontend Weekly 2024-08-16
https://blog.ohirunewani.com/series/frontend-weekly/2024-08-16/
作者
hrdtbs
公開日
2024-08-15
ライセンス
CC BY-NC-SA 4.0