概要
@elastic/search-uiのsetFilterについて、不具合が報告されています。
https://github.com/elastic/search-ui/issues/1057
この不具合について、すでに以下のコミットで修正されています。
https://github.com/elastic/search-ui/pull/1058
ただ、2024年10月7日時点において、上記の対応がなされた最新版がリリースされていません。
そこで、独自にビルドしてリリースすることを試みましたので、その手順に関する備忘録です。
修正
まず、リポジトリをフェッチしました。
https://github.com/nakamura196/search-ui
そして、以下の修正を加えました。
https://github.com/nakamura196/search-ui/commit/f7c7dc332086ca77a2c488f3de8780bbeb683324
具体的には、package.jsonと.npmrcに変更を加えました。
パッケージの公開
以下の手順により、パッケージを公開します。
1. GitHub パーソナルアクセストークンを生成
GitHub Package Registry にアクセスするためには、GitHub のパーソナルアクセストークンが必要です。以下の手順でトークンを作成します:
- GitHubのアカウントにログインします。
- 右上のプロフィール画像をクリックし、「Settings」を選択。
- 左側のメニューから「Developer settings」を選択。
- 「Personal access tokens (classic)」を選択し、「Generate new token」をクリック。
- 必要な権限(
write:packagesとread:packagesなど)を選択して、トークンを生成します。
2. npm にログイン
次に、GitHub Package Registry にログインするために以下のコマンドを実行します:
実行すると、以下の情報が要求されます:
- Username: GitHub のユーザー名
- Password: 先ほど生成したパーソナルアクセストークン
- Email: GitHub に登録しているメールアドレス
3. パッケージを再度公開
認証が完了したら、再度 npm publish を実行してパッケージを公開します。
結果、以下のようなページが作成されました。

利用
利用するリポジトリにおいて、以下を作成します。vercelでのビルドを想定して、GITHUB_TOKENは環境変数から参照するようにしました。
まとめ
結局上記の方法では、もともとの課題であったsetFilterの修正はうまくいかなかったのですが、パッケージの公開方法に関して、参考になる部分がありましたら幸いです。