$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScript AST入門 〜自作Babelプラグインを添えて〜
Search
yuuki-katsuta
July 15, 2025
Programming
2
25
JavaScript AST入門 〜自作Babelプラグインを添えて〜
yuuki-katsuta
July 15, 2025
Tweet
Share
More Decks by yuuki-katsuta
See All by yuuki-katsuta
Viteプラグインで学ぶビルドツールの裏側
sakiika
1
29
ReactとUXの話 〜 startTransition を添えて 〜
sakiika
1
43
Other Decks in Programming
See All in Programming
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
400
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
300
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
150
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
210
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
710
20 years of Symfony, what's next?
fabpot
2
350
connect-python: convenient protobuf RPC for Python
anuraaga
0
400
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.6k
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.2k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Designing for humans not robots
tammielis
254
26k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Practical Orchestrator
shlominoach
190
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Scaling GitHub
holman
464
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Site-Speed That Sticks
csswizardry
13
1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Transcript
+BWB4DSJQU"45ೖ ʙࣗ࡞#BCFMϓϥάΠϯΛఴ͑ͯʙ ࣾษڧձࢿྉ ݄
ࣗ࡞#BCFMϓϥάΠϯΛ࡞ͬͯɺ"45ʹֶ͍ͭͯΜͩ "45Λ׆༻ͯ͠ɺຊ൪ڥͷ)5.-͔Βςετ༻ͷ)5.-ଐੑ EBUBUFTUJE Λআ͢ΔπʔϧΛ࡞ͬͯΈͨɻ ͦͷաఔͰීஈԿؾͳ͍ͬͯ͘Δπʔϧͷཪଆ͕গ͠ΕͨͷͰڞ༗Ͱ͖Εͱࢥ͍·͢ɻ ͢͜ͱ
"45ͱ ؆୯ͳ֓ཁΛઆ໌ #BCFMͱ +BWB4DSJQUͷτϥϯεύΠϧͷΈ ࣗ࡞#BCFMϓϥάΠϯʹΑΔ"45ૢ࡞ͷ࣮ફ ͢͜ͱ
"45ͱ நߏจʢͪΎ͏͠ΐ͏͜͏ͿΜ͗ɺӳBCTUSBDUTZOUBYUSFFɺ"45ʣɺ௨ৗͷߏจʢ۩ߏ จ͋Δ͍ղੳͱݴ͏ʣ͔Βɺݴޠͷҙຯʹؔͳ͍ใΛऔΓআ͖ɺҙຯʹؔ͋Δใͷ ΈΛऔΓग़ͨ͠ʢநͨ͠ʣߏͷͰ͋Δɻ IUUQTKBXJLJQFEJBPSHXJLJ&"#%&#"&"#&&$"
"45ͱ நߏจʢͪΎ͏͠ΐ͏͜͏ͿΜ͗ɺӳBCTUSBDUTZOUBYUSFFɺ"45ʣɺ௨ৗͷߏจʢ۩ߏ จ͋Δ͍ղੳͱݴ͏ʣ͔Βɺݴޠͷҙຯʹؔͳ͍ใΛऔΓআ͖ɺҙຯʹؔ͋Δใͷ ΈΛऔΓग़ͨ͠ʢநͨ͠ʣߏͷͰ͋Δɻ IUUQTKBXJLJQFEJBPSHXJLJ&"#%&#"&"#&&$" ˠϓϩάϥϜίʔυΛߏͰදݱͨ͠ͷ ˠσʔλߏΛද͢
"45ͱ
"45ͱ
"45ੜͷྲྀΕ ࢀߟαΠτɿIUUQTFTQSJNBPSHEFNPQBSTFIUNM
ࢀߟαΠτɿIUUQTFTQSJNBPSHEFNPQBSTFIUNM "45ੜͷྲྀΕ
"45ͱ ؆୯ͳ֓ཁΛઆ໌ #BCFMͱ +BWB4DSJQUͷτϥϯεύΠϧͷΈ ࣗ࡞#BCFMϓϥάΠϯʹΑΔ"45ૢ࡞ͷ࣮ફ
#BCFMͱ ֦ுߏจΛϒϥβΤϯδϯ͕ཧղͰ͖ΔΑ͏ͳܗࣜʹม͢Δ w BTZODBXBJUߏจˠ1SPNJTF w Ξϩʔؔ w +49 Ϟμϯͳ+BWB4DSJQUˠඪ४తͳ+BWB4DSJQUͷߏจม
#BCFMͷΈ ϓϩάϥϜίʔυΛ"45ʹม͢Δ มޙ
σʔλߏΛม มޙ 'VODUJPO&YQSFTTJPOʹม #BCFMͷΈ
"45ΛϓϩάϥϜίʔυʹ͢ มલ มޙ #BCFMͷΈ
5SBOTGPSNॲཧΛ֦ு͢Δ͜ͱ͕Ͱ͖Δ ˠඪ४ͷม͚ͩͰͳ͘ɺಠࣗͷϧʔϧΛՃͰ͖Δ ͜ΕΒ#BCFMϓϥάΠϯͱͯ͠࡞Ͱ͖Δ ඪ४ϓϥάΠϯɿ +49ˠ3FBDUDSFBUF&MFNFOU ΞϩʔؔˠGVODUJPO ࣗ࡞ϓϥάΠϯɿ ςετଐੑͷࣗಈআˡࠓ࡞ͬͨͷʂ EFCVHίʔυͷࣗಈআ #BCFMΛΧελϚΠζ͢Δ
ࣗ࡞#BCFMϓϥάΠϯʹΑΔ"45ૢ࡞ͷ࣮ફ
͜ΕΛ࣮ݱ͍ͨ͠
ຊ൪ڥͷΈಛఆͷ)5.-ଐੑΛআ͍ͨ͠ ͜ΕΛ࣮ݱ͍ͨ͠
࣮༰
࣮༰ ଐੑͷ໊લΛऔಘ আରͳΒআ +49"UUSJCVUFͱ͍͏ϊʔυʹ๚ͨ͠ ʢ&45SFFͱ͍͏ඪ४༷Ͱఆٛ͞Εͨϊʔυʣ
"45&YQMPSFSΛ׆༻͠Α͏
"45Λ׆༻͍ͯ͠Δۙͳπʔϧ IUUQTHJUIVCDPNGBDFCPPLSFBDUCMPCNBJODPNQJMFS QBDLBHFTCBCFMQMVHJOSFBDUDPNQJMFSTSD#BCFM#BCFM1MVHJOUT 3FBDU$PNQJMFS 1SFUUJFS IUUQTHJUIVCDPNQSFUUJFSQSFUUJFS
·ͱΊ w ։ൃ࣌ͷσόοΫࢧԉ w ։ൃ͚ͱຊ൪͚ʹίʔυΛม͢Δ w େྔͷιʔείʔυͷҰׅஔ͖͑ w ϦϑΝΫλϦϯάπʔϧ࡞ "45ͰͰ͖Δ͜ͱ
˞ιʔείʔυࣗମΛॻ͖͍͑ͨ߹UTNPSQIͳͲͷผͷπʔϧ͕ద͍ͯ͠·͢ɻ
ࢀߟจݙ wॻ੶ɿ'MVFOU3FBDU wॻ੶ɿ+BWB4DSJQU"45ೖɹιʔεΛղੳɾՃͯ͠ੜ࢈ੑʹࠩΛ͚ͭΔʂ wIUUQTBTUFYQMPSFSOFU wIUUQTHJUIVCDPNKBNJFCVJMETCBCFMIBOECPPL wIUUQTHJUIVCDPNCBCFMCBCFMCMPCNBJOQBDLBHFTCBCFMQBSTFSBTUTQFDNE wIUUQTHJUIVCDPNFTUSFFFTUSFF