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
JavaScript AST入門 〜自作Babelプラグインを添えて〜
Search
yuuki-katsuta
July 15, 2025
Programming
1
11
JavaScript AST入門 〜自作Babelプラグインを添えて〜
社内勉強会資料です
yuuki-katsuta
July 15, 2025
Tweet
Share
More Decks by yuuki-katsuta
See All by yuuki-katsuta
ReactとUXの話 〜 startTransition を添えて 〜
sakiika
0
25
Other Decks in Programming
See All in Programming
Understanding Kotlin Multiplatform
l2hyunwoo
0
230
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
220
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
15
8.5k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
3
300
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
350
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
210
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
240
MCPで実現できる、Webサービス利用体験について
syumai
7
2.2k
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
2
1.3k
CDK引数設計道場100本ノック
badmintoncryer
2
590
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
300
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.5k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Applications with DynamoDB
mza
95
6.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Producing Creativity
orderedlist
PRO
346
40k
Unsuck your backbone
ammeep
671
58k
Transcript
+BWB4DSJQU"45ೖ ʙࣗ࡞#BCFMϓϥάΠϯΛఴ͑ͯʙ ࣾษڧձࢿྉ ݄
ࣗ࡞#BCFMϓϥάΠϯΛ࡞ͬͯɺ"45ʹֶ͍ͭͯΜͩ "45Λ׆༻ͯ͠ɺຊ൪ڥͷ)5.-͔Βςετ༻ͷ)5.-ଐੑ EBUBUFTUJE Λআ͢ΔπʔϧΛ࡞ͬͯΈͨɻ ͦͷաఔͰීஈԿؾͳ͍ͬͯ͘Δπʔϧͷཪଆ͕গ͠ΕͨͷͰڞ༗Ͱ͖Εͱࢥ͍·͢ɻ ͢͜ͱ
"45ͱ ؆୯ͳ֓ཁΛઆ໌ #BCFMͱ +BWB4DSJQUͷτϥϯεύΠϧͷΈ ࣗ࡞#BCFMϓϥάΠϯʹΑΔ"45ૢ࡞ͷ࣮ફ ͢͜ͱ
ඪ "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