背景
0.12.0 以前、Thinreports Editor は現在で言うところの basic-editor のみでした。当然、thinreports-editor リポジトリには basic-editor 専用のコードベースのみ存在していました。
その後、section-editor が追加され、Thinreports Editor は二種類のエディタを持つ形となりました。その結果、thinreports-editor リポジトリは basic-editor と section-editor の二つのコードベースをサブディレクトリに持つ、いわゆる monorepo の構成となりました。
この構成にすることは、section-editor が追加されたときの #87 でも言及されていますし、section-editor はこのリポジトリに追加される形での提案であったため、自然な結果だとは思います。
課題
しかし、本格的に section-editor を開発していくにあたり、 Monorepo の利点 を享受できておらず、デメリットの方が強いと感じています。
- basic-editor と section-editor は使用するライブラリも異なり、根本的な設計も異なる。モジュールの共有や、lint やテスト、ビルドプロセスの共通化もできない
- basic-editor と section-editor は v1.0.0 ではリリースの足並みを揃えるものの、section-editor の方が圧倒的に成熟度が低く、その後は section-editor のみパッチまたはマイナーリリースする頻度が増えることは明らか。その際、同一リポジトリでは basic-editor と section-editor のバージョン番号をわかりやすく管理することが難しいし、そもそも basic-editor と section-editor のバージョニングを同期する必要性もない
提案
- このリポジトリの名前を
thinreports/thinreports-basic-editor に変更し、basic-editor/ 配下のコードのみ配置するようにする
- 新たに
thinreports/thinreports-section-editor リポジトリを作成し、section-editor/ 配下のコードを移動する
つまり、変更後のリポジトリの構成は次のようになる。
thinreports/thinreports-basic-editor: Thinreports Basic Editor のリポジトリ
thinreports/thinreports-section-editor: Thinreports Section Editor のリポジトリ🆕