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
ts-morphで簡単に始めるAST操作 / ast-manipulation-with-ts...
Search
aose
October 30, 2024
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ts-morphで簡単に始めるAST操作 / ast-manipulation-with-ts-morph
簡単に始めるシリーズ第二弾として、TypeScriptにおけるASTをあまり知らない方や、まだ触ったことがない方に向けて、簡単にできるASTの操作・ライブラリについてご紹介します。
aose
October 30, 2024
More Decks by aose
See All by aose
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
4
7.9k
UnJSで簡単に始めるCLIツール開発 / cli-tool-development-with-unjs
aoseyuu
2
1k
Other Decks in Technology
See All in Technology
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
230
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
210
ホームラボ紹介
y_sera15
0
100
モバイルアプリ開発概論2026
recruitengineers
PRO
3
470
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.3k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
270
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
640
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
770
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
120
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
6
1.5k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
440
Navigating Team Friction
lara
192
16k
Why Our Code Smells
bkeepers
PRO
340
58k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Transcript
ts-morphで簡単に始めるAST操作
Speaker 株式会社ヤプリ フロントエンドエンジニア 青木 優弥 / Aose Yuu • 2023/11〜
ヤプリjoin 来月からヤプリ2年目突入 • Vue Fes ボランティアスタッフ
None
None
ASTとは?
AST ↕ 抽象構文木
抽象構文木(AST:Abstract Syntax Tree) • プログラムのソースコードを階層的に表現するデータ構造 • ツリー構造で、各ノードがプログラムの構成要素を表す • ノード同士の親子関係=ソースコードの構造的な関係
None
ASTでできること • コードの解析(Linter, Formetter) • コードの変換・生成 • リファクタリング
ASTでできること • コードの解析(Linter, Formetter) • コードの変換・生成 • リファクタリング ⬇
気合いの正規表現🔥 漢の文字列置換💪 からの卒業
ts-morphとは?
ts-morph ↕ TypeScript Compiler APIの ラッパーライブラリ
超簡単な例
None
None
None
🤮
None
🥰
None
ts-morphを使った実例 vuex → pinia:簡単&部分的な例
None
None
None
None
None
None
ts-morphを使って AST操作を簡単に始めよう!