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
15
JavaScript AST入門 〜自作Babelプラグインを添えて〜
yuuki-katsuta
July 15, 2025
Tweet
Share
More Decks by yuuki-katsuta
See All by yuuki-katsuta
Viteプラグインで学ぶビルドツールの裏側
sakiika
0
10
ReactとUXの話 〜 startTransition を添えて 〜
sakiika
0
29
Other Decks in Programming
See All in Programming
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
980
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
スマホから Youtube Shortsを見られないようにする
lemolatoon
25
28k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
230
CSC509 Lecture 04
javiergs
PRO
0
300
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.5k
チームの境界をブチ抜いていけ
tokai235
0
160
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
120
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
110
Serena MCPのすすめ
wadakatu
4
960
株式会社 Sun terras カンパニーデック
sunterras
0
270
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
10
6.6k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Optimizing for Happiness
mojombo
379
70k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Producing Creativity
orderedlist
PRO
347
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Automating Front-end Workflow
addyosmani
1371
200k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
How GitHub (no longer) Works
holman
315
140k
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