備忘録。ESLint のルールを含むプラグインを TypeScript で書く時のポイントについて。
プラグインの仕組み自体は公式ドキュメントに従いつつ、TypeScript でどう対応させるかについて述べる。
続きを読むGithub 公式 CLI である gh
コマンドに出した PR がマージされた。
内容は gh issue list
/gh pr list
の --state
オプションの値をシェル補完できるようにするというもの。
--state
オプションに open
, closed
といったキーワードを与えると、表示する issue/PR を選択できる。しかし opened
, close
のような typo が多発していたので、シェル補完をできるようにしていた。
gh
は github.com/spf13/cobra
を使っているので、固定値のオプションならシェル補完の追加は簡単にできる。
しかし、gh
ではオプション値のシェル補完はこれまで無く、PR を出すにしても実装の汎用性がどれくらい求められるかが不安だった。が、よく調べたら1ヶ月以内に別のオプションの値を補完する PR が出ていた。
特に凝った汎用化もなく、しかも PR 作成者はコミッタだったので、心置きなく自分も便乗(?)して Issue/PR を出すことができた。レビューでも特に指摘をされることはなく(むしろフォーマット統一までしてもらった)、無事にマージされた。
OSS に初 PR を出す時は、こういう「空気を読む」ような所作に結構コストがかかる。考えすぎなのかもしれないが。
年の瀬なので、今年一年を振り返る。
続きを読む