たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

Config Baseの仕組み

多数の設定が可能かつ多ユーザーなシステムで、デフォルト設定セットをパッケージ管理+base設定で管理する。

状況

  • 多数の設定項目が存在
    • ベストプラクティスの把握自体が高コスト
    • 大まかにはみんな共通するが、環境やプロジェクト事情で微妙に異なる
  • 多ユーザー
    • 社内で口頭伝達すればいいスケールではない
    • 新属性の追加や振る舞い変更の通知が現実的ではない

希望動作

専門家が設定したベストプラクティスを、コストほぼ0で一般ユーザーが利用・更新可能。
ベストプラクティスの上書きが可能。

解決方法

ベストプラクティスをパッケージ管理システム上で配布し、設定ファイルのbaseとして読み込み可能にする。

npm等のパッケージ管理システムに乗ることで、中央の専門家が配布したベストプラクティスを各自が導入し、最新版へアップデートすることが可能になる。
あとはこのデータをどうやって使うか。なので設定ファイルにbaseやextendの設定を付け加え、これが各自の設定値で上書きされるよう振る舞いを定義すればいい。

事例

@tsconfig/recommended