RubyKaigi 2025 に『RuboCop: Modularity and AST Insights』というタイトルで登壇します。
タイトルは『RuboCop: Plugin and AST Insights』にしようか、いまだ悩んでいるのがポイントということで、RuboCop 1.72 で導入した RuboCop の拡張 gem へのプラグインシステムの話を含みます。プラグインについては、最近の RuboCop のアップグレードで以下のような警告を見た開発者がいると思います。これがプラグインの導入によるものです。
$ bundle exec rubocop rubocop-performance extension supports plugin, specify `plugins: rubocop-performance` instead of `require: rubocop-performance` in /Users/koic/src/github.com/rubocop/rubocop/.rubocop.yml. For more information, see https://docs.rubocop.org/rubocop/plugin_migration_guide.html.
この警告への対応については、以下のマイグレーションドキュメントを用意しているので、表層的なものはそちらを参考にということで、講演ではその舞台裏などを話します。
タイトルの話に戻ると Modularity と抽象的な副題としているのは、モジュール性に関する話はプラグインだけではなく、RuboCop の Ruby LSP Add-on にまつわる話もするためです。
このプラグインと Ruby LSP Add-on について、前者は RubyKaigi 2023 の松本の定食屋で Justin Searls と yahonda さんの3人でトンカツ定食をランチに食べながら lint_roller というプラグインインタフェースの gem に関する話をしたのがひとつ。後者は去年の RubyKaigi 2024 で Ruby LSP 作者の Vinicius Stock から、RuboCop についても Add-on を進めたいとの相談を受けていたことによるもの。これらの進捗状況や今後を含めた話なんかをする予定です。特にプラグインの話は、それなりの RuboCop ユーザーに現在進行形で影響が出てきていると思う話なので、その意図や背景についてぜひ聞いてもらえると良い内容です。
もうひとつの AST Insights というのは、Ruby 3.4 でデフォルトパーサーになった Prism とも関わる話。現在の RuboCop のデフォルトバックエンドパーサーは Parser gem なのですが、そのメンテナンス状況は芳しくなく、今後どのようにコマを進めようと考えているかなどを話します。具体的には Ruby 3.4 で導入された it
ブロックパラメータ構文の静的解析は現在の RuboCop 1.73 でまだサポートしていませんが、それをどのように進めて Ruby 3.5 以降も追加されていくであろう新構文に対して対応していこうとしているかのヴィジョンを伝えようと思います。これまた、ユーザー影響はなるべく出ない設計とするつもりですが、必要最小限の影響は出る可能性がありますので、その辺りも含めた話をする予定です。Prism ということで、Ruby LSP Add-on とも関わる話となります。
ひとつの独立したストーリーとして楽しめるようにはするつもりでいますが、昨年 RubyKaigi 2024 で話した『RuboCop: LSP and Prism』で話した成果を前提においた話にはなります。
つまり、RuboCop に対して LSP や Prism というバックグラウンドを作ったというのが昨年のトークで、その上での RuboCop の現在とこれからの進化についてが今年のトークになります。お楽しみに。
また、今年の RubyKaigi にも勤務先の永和システムマネジメントから同僚の @junk0612 が去年に続いて登壇します。そちらは LALR のパーサージェネレータ Lrama の IELR 対応に関するその後の話のようです。今年も Lrama と Prism の構文解析器の両対応企業ということで、遊びに来ていただけると嬉しいです。
2025年3月11日追記
勤務先の開発者ブログに、同僚の @junk0612 と一緒に講演情報を記しました。あわせてご参照ください。
また勤務先のカスタムスポンサーとしてはドリンクアップを行います。いずれ勤務先のブログから告知が出ると思いますので、そちらもご期待ください。
では来月松山で RubyKaigi しましょう。