Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Feature Flag 自動お掃除のための TypeScript プログラム変換

Feature Flag 自動お掃除のための TypeScript プログラム変換

Avatar for azarashi

azarashi

May 24, 2025
Tweet

More Decks by azarashi

Other Decks in Programming

Transcript

  1. 3 TypeScript Compiler API is dead • What is the

    API story for this new codebase? · microsoft/typescript-go · Discussion #455 • Scaffold IPC-based API by andrewbranch · Pull Request #711 · microsoft/typescript-go
  2. 7 アプリケーションの実行時に評価される機能を on/off するためのフラグを 用い、アプリケーションのデプロイと機能のリリースを分離する手法 - Feature flags - Trunk

    Based Development 便利ポイント - timing sensitive なリリース - デプロイ担当者とリリース担当者の分離 - ユーザ単位で feature flag の値を制御することで A/B テスト Feature Flag は便利🤩
  3. 13 Tech Debt - pitfall Flags get put into codebases

    over time and often get forgotten as development teams pivot towards new business deliverables. (中略) the application works just fine with the toggle left in place, and the business only really cares about new priorities. (後略) - Feature flags - Trunk Based Development Feature Flag はしんどい 😣
  4. 19 武器 TypeScript Compiler API - Using the Compiler API

    · microsoft/TypeScript Wiki - tsc の基本的な機能や構文木のデータ構造を提供する API TypeScript Language Service API - Using the Language Service API · microsoft/TypeScript Wiki - リッチなエディタに必要な情報や操作を提供する API ts-morph - ts-morph - Documentation - 上ふたつの API をラップしてプログラムから構文木を操作しやすくする 薄いライブラリ
  5. 41 mockFeatureFlag を除去 すれば良い ユニットテストの除去 mock された値と 同じ値に安定化した 場合 mock

    された値と 異なる値に安定化した 場合 mockFeatureFlag を除去 すると feature flag の値がテ ストが期待する値とずれてテス トが落ちる!
  6. 45 効果 174 files changed, 52 insertions(+), 862 deletions(-) メルカリの

    C2C マーケットプレイス 約 4000 行のコードベースに対して