Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TypeScript ASTとJSDocで実現するコードの自動削除 / Auto remove...
Search
スタンバイ
May 21, 2025
390
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScript ASTとJSDocで実現するコードの自動削除 / Auto remove code with TypeScript AST and JSDoc
スタンバイ
May 21, 2025
More Decks by スタンバイ
See All by スタンバイ
自立を加速させる神器 - EMOasis #11
stanby_inc
0
250
スタンバイ会社紹介資料
stanby_inc
0
2.3k
プロダクト部門のマネージャー全員でマネジメントポリシーを宣言した記録_-_EMConf_JP_2025.2.27.pdf
stanby_inc
1
4.9k
スタンバイ会社紹介資料
stanby_inc
0
88k
Amazon Aurora のインフラコストを55%削減した話
stanby_inc
0
5k
スタンバイQAのテスト自動化導入
stanby_inc
0
1.3k
検索エンジンをVespaへ移行しています
stanby_inc
0
1.3k
どうするLeSS - スクラムフェス三河2023.9.16
stanby_inc
1
2.1k
スタンバイにおけるSLOの、これまでとこれから
stanby_inc
0
1.2k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
270
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Music & Morning Musume
bryan
47
7.3k
Paper Plane (Part 1)
katiecoart
PRO
0
9.4k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Unsuck your backbone
ammeep
672
58k
GraphQLとの向き合い方2022年版
quramy
50
15k
Building Adaptive Systems
keathley
44
3.1k
Transcript
© Stanby, Inc. TypeScript ASTとJSDocで実現する コードの自動削除 株式会社スタンバイ 川野 賢一 1
2025.05.24 TSKaigi 2025
© Stanby, Inc. 自己紹介 2024年1月に株式会社スタンバイに中途入社 仕事 • 求人検索エンジン「スタンバイ」のWebフロントエンド開発 • オウンドメディア「スタンバイplus」の開発
+α • 日々の業務を楽に楽しくするためTypeScript製社内ツールの開発 ◦ Chrome拡張機能、Slack App、GASなど TSKaigi 2024でASTの話を聞いたことをきっかけに、ASTを活用したCLI ツールも作りました!(本日のテーマです!) 2 川野 賢一
© Stanby, Inc. 不要になったA/Bテストのコード どうやって消してますか? 3
© Stanby, Inc. 我々のチームではこれまで コメントアウトを使って範囲を示し 目視で手動で消してました 4
© Stanby, Inc. コメントアウトを使った範囲指定のやり方 5
© Stanby, Inc. コメントアウトを使った範囲指定のやり方 ❌ 範囲指定を間違えてしまう ❌ 書きたい順序でかけない ❌ 開始/終了コメントを書き忘れる
6 困ったこと
© Stanby, Inc. コメントアウトを使う背景 7 多くの開発が並行して行われている
© Stanby, Inc. さらなる困ったこと 8
© Stanby, Inc. さらなる困ったこと 9
© Stanby, Inc. さらなる困ったこと 10
© Stanby, Inc. さらなる困ったこと 11
© Stanby, Inc. さらなる困ったこと 12
© Stanby, Inc. さらなる困ったこと 13
© Stanby, Inc. さらなる困ったこと 14
© Stanby, Inc. さらなる困ったこと 15 1つずつ確認して 削除するのがツラい!!
© Stanby, Inc. 問題は2つ • 目印の残し方(範囲指定)がイケてない • 1つずつ確認して削除するのが大変 16
© Stanby, Inc. ① JSDocで範囲の問題を解決する! 17
© Stanby, Inc. コメントアウトの代わりにJSDocを使う 18
© Stanby, Inc. コメントアウトの代わりにJSDocを使う 範囲の概念がなくなり、これらの問題は解決!! ✅ 範囲指定を間違えてしまう ✅ 書きたい順序でかけない ✅
開始/終了コメントを書き忘れる 19 JSDocを使って対象を指定する
© Stanby, Inc. 問題は2つ • 目印の残し方(範囲指定)がイケてない • 1つずつ確認して削除するのが大変 20
© Stanby, Inc. ② ASTを活用して自動化する! 21
© Stanby, Inc. コメントアウトとJSDocの違い 22 JSDocはノードに紐づく
© Stanby, Inc. 構文解析して対象のノードを削除する 23
© Stanby, Inc. 構文解析して対象のノードを削除する 24 JSDocのタグを取得し 対象であればノードを削除する 1つずつノードを見ていく中で
© Stanby, Inc. これまでは コメントアウトを使って範囲を示し 目視で手動で消してましたが 😢 25
© Stanby, Inc. これからは JSDocを使って対象を指定し CLIで自動で消せるようになりました 🎉 26
© Stanby, Inc. 今後の展望 条件分岐を含むような複雑なケースに対応できていない…😢 コマンドを実行するだけで 不要なコードをすべて削除できるようにしたい!💪 27
None