Skip to content

dowseどこを直せば一番効くのか

TypeScript モノレポのための振る舞いベースコード分析。git 履歴とコード構造を掛け合わせ、投資対効果の高い場所だけを指し示します。

30 秒で試す

bash
npx dowse analyze

git 履歴のある TypeScript モノレポで実行すると、hotspot ランキング・パッケージリスク・隠れた結合が出ます。設定は要りません。

⚠ Top hotspots (complexity=loc):
┌───┬────────────────────────────────┬───────┬────────┬────────┬─────────┐
│ # │ file                           │ score │   freq │     cx │ commits │
├───┼────────────────────────────────┼───────┼────────┼────────┼─────────┤
│ 1 │ services/api/src/runtime.ts    │ 0.999 │ 100pct │ 100pct │     255 │
│ 2 │ services/api/tests/db/…test.ts │ 0.997 │ 100pct │ 100pct │     128 │
└───┴────────────────────────────────┴───────┴────────┴────────┴─────────┘

🔗 Hidden coupling — 依存関係がないのに同時に変更されるパッケージ (1):
│ @acme/admin-web │ @acme/doctor-web │ 33% │ 91 │ hidden ⚠ │

何が違うのか

このジャンルを切り拓いたのは CodeScene です。dowse はその核心的洞察 ―― すべてのコードは等価ではない ―― を踏襲しつつ、CodeScene が構造的に弱い領域を狙っています。

CodeScenedowse
モノレポフォルダの集まりとして後付け対応パッケージグラフが第一級
スコアの根拠式・閾値が非公開全公開・手で再計算できる
変更頻度の質型リネームで誇張されると自認AST 比較で偽 churn を除外
bus factorリポジトリ / ファイル単位パッケージ単位
修正提案まで直して検証し、改善幅を実測
対象言語39 言語TS/TSX のみ(これが強みの源泉)
価格有料(per-active-author)MIT

多言語対応が必要なら CodeScene のほうが適しています。dowse は TypeScript モノレポに全振りすることで精度を取っています。

MIT ライセンスで公開されています