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
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
110
CSC509 Lecture 05
javiergs
PRO
0
300
株式会社 Sun terras カンパニーデック
sunterras
0
270
Swift Concurrency - 状態監視の罠
objectiveaudio
2
510
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
970
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.9k
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
160
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
460
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
160
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.5k
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
360
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
250
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
RailsConf 2023
tenderlove
30
1.2k
Docker and Python
trallard
46
3.6k
Optimizing for Happiness
mojombo
379
70k
Done Done
chrislema
185
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
The Pragmatic Product Professional
lauravandoore
36
6.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Balancing Empowerment & Direction
lara
4
680
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