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
Change your source with AST
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yosuke Kurami
June 26, 2018
Programming
3
990
Change your source with AST
For Roppongi.js#4
Yosuke Kurami
June 26, 2018
Tweet
Share
More Decks by Yosuke Kurami
See All by Yosuke Kurami
TypeScript LSP の今までとこれから
quramy
1
1.7k
フロントエンドテストの育て方
quramy
12
3.7k
App Router 悲喜交々
quramy
8
700
上手に付き合うコンポーネントテスト
quramy
6
2.3k
Patched fetch did not work
quramy
6
760
GraphQL あるいは React における自律的なデータ取得について
quramy
18
5.7k
Next.js App Router
quramy
15
3.8k
Fragment Composition of GraphQL
quramy
17
4.6k
reg-viz VRT tools
quramy
4
1.6k
Other Decks in Programming
See All in Programming
Claude Codeログ基盤の構築
giginet
PRO
2
740
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
220
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
800
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
4
470
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
AHC061解説
shun_pi
0
350
CSC307 Lecture 14
javiergs
PRO
0
470
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
3
1.2k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
240
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
390
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
470
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.6k
The Language of Interfaces
destraynor
162
26k
Site-Speed That Sticks
csswizardry
13
1.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
82
Crafting Experiences
bethany
1
81
Exploring anti-patterns in Rails
aemeredith
2
290
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
67
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Test your architecture with Archunit
thirion
1
2.2k
Transcript
"45Λͬͨ ιʔείʔυฤूͷ 3PQQPOHJKT CZ!2VSBNZ
গ͠લʹCFUUFSOBNFͱ͍ ͏$-*πʔϧΛͭ͘Γ·ͨ͠ https://github.com/Quramy/better-name
ͳͥ࡞ͬͨͷ͔
ͳͥ࡞ͬͨͷ͔ w ಛʹࣄͰ Ұॻ͍ͨKTϑΝΠϧͷॴΛɺޙ͔Βม͑ ͨ͘ͳΔ͜ͱ͕݁ߏ͋Δ w FYQPSU͢ΔGVODUJPODMBTT໊ࡶʹਖ਼نදݱͰ͍͍͚Ͳɺ JNQPSUͷ૬ରύεΛ͢ͷׂͱμϧ͍ w *%&ʹΑΒͣɺڞ௨ͷಈ࡞͕อূ͞Εͯ΄͍͠
WJNNFSͳͷͰɺྡͷಉ྅͕εΠεΠ8FC4UPSNͱ͔ͬ ͯΔͷݟΔͱෲཱͭ
Ͱ͖ͨͷ w NWίϚϯυͱେମҰॹɻGSPN'JMFͷύε͕UP'JMFҠΔ ͚ͩ better-name [options] <fromFile> <toFile> w JNQPSUจͷ߹ੑΛҠಈલޙͰ୲อͯ͘͠ΕΔ
͜Μͳ͔Μ͡
JNQPSUͱ"45 w -5λΠτϧʹ͋Δ௨Γɺ͜ͷπʔϧ+BWB4DSJQUͷ "45 நߏจ Λղੳ͍ͯ͠Δ w JNQPSUFYQPSUจ๏ͷ੍͕ݫ͍͠ ཪΛฦ͢ͱΊͬͪΌղੳ͍͢͠
͙͢࡞Εͦ͏ w ࣮ϓϥϯ KTKTYͷέʔε w CBCZMPOͰιʔείʔυΛ"45QBSTF w !CBCFMUSBWFSTFͰ"45 ͷJNQPSUจ
Λม w !CBCFMHFOFSBUFͰ"45͔ΒιʔείʔυΛੜ
ͪͳ54ͷ߹ w ࣮ϓϥϯ UTUTYͷέʔε w UTDSFBUF4PVSDF'JMFͰιʔείʔυΛ"45QBSTF w UTUSBOTGPSN $VTUPN5SBOTGPSNFSͰ"45
ͷ JNQPSUจ Λม w UTDSFBUF1SJOUFSͰ"45͔ΒιʔείʔυΛੜ
Ұ௨Γ࣮ͯ͠ؾͮ͘
͋ΕɺJNQPSUจ͔͠มͯ͠ͳ͍ͷʹɺ ࣮ߦલޙͰEJ⒎ग़ա͗͡ΌͶʜ
͓·ΘΓ͞ΜίΠπͰ͢ w ࣮ϓϥϯ KTKTYͷέʔε w CBCZMPOͰιʔείʔυΛ"45QBSTF w !CBCFMUSBWFSTFͰ"45 ͷJNQPSUจ
Λม w !CBCFMHFOFSBUFͰ"45͔ΒιʔείʔυΛੜ
ͬͪ·ͬͨ w ͦͦ "45ιʔείʔυՄٯม͡Όͳ͍ FHηϛίϩϯ Πϯσϯτ ετϦϯάϦςϥϧ FUD w
QSFUUJFS͔͚Ε͍͍ɺͱࢥ͍ͬͯͨ w ۭߦ͕আ͞Εͯ͠·͏݅Ͳ͏͠Α͏ͳ͍
Γ͠
"45ͷमਖ਼Λιʔεө͞ ͤΔʹ w !CBCFMHFOFSBUFΘͳ͍ ͏ʹͯ͠ہॴతʹ w "45Λղੳͨ͠ޙɺมߋ͍ͨ͠༰ͱରOPEFͷMPDBUJPO ͔Β5FYU$IBOHFΛ࡞Γɺιʔείʔυͷจࣈྻʹద༻͞ ͤΔͷ͕ਖ਼ղ
ʮ"45͔ΒੜʯͰͳ͘ʮ"45ͷมߋΛద༻ʯʹ͢Δ
5FYU$IBOHF w ԫ৭ͷ෦Ұมߋ͕ͳ͍ ιʔείʔυͦͷ·· w มߋ͕ෳͷ߹ɺιʔείʔυͷޙΖ͔Βద༻͢Δ import { someFn
} from "./target"; export default function main() { someFn(); } import { someFn } from “./new-target”; export default function main() { someFn(); } textChanges = [{ start: 24, end: 32, text: 'new-target' }]
·ͱΊ w !CBCFMHFOFSBUPSUT1SJOUFSΛιʔείʔυमਖ਼ͷ తͰΘͳ͍ɻཚ༻͠ͳ͍ w 5FYU$IBOHFͷύλʔϯΛ͓֮͑ͯ͘ͱɺͲ͔͜Ͱʹཱ ͔ͭʜ
5IBOLZPV