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
大規模なコードベースの改修のために自作TypeScriptツールを作るメリット
Search
LINEヤフーTech (LY Corporation Tech)
PRO
August 08, 2024
Technology
3
220
大規模なコードベースの改修のために自作TypeScriptツールを作るメリット
「TSKaigi Mashup #1 フロントエンド」の登壇資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
August 08, 2024
Tweet
Share
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
340
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
280
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
410
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
320
LINEスキマニのフロントエンド開発にDenoを採用した理由
lycorptech_jp
PRO
0
89
「コード品質向上のテクニック」連載継続の秘訣
lycorptech_jp
PRO
0
77
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
280
Arakawa 101 Or How To Build a Data App by Python
lycorptech_jp
PRO
0
52
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
17
3.8k
Other Decks in Technology
See All in Technology
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
130
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
7
2.9k
Охота на косуль у древних
ashapiro
0
110
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.6k
日経のデータベース事業とElasticsearch
hinatades
PRO
0
250
手を動かしてレベルアップしよう!
maruto
0
230
実は強い 非ViTな画像認識モデル
tattaka
3
1.3k
Share my, our lessons from the road to re:Invent
naospon
0
150
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
170
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Done Done
chrislema
182
16k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
How to train your dragon (web standard)
notwaldorf
91
5.9k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Transcript
ߵ࢘,B[VTIJ,POPTV େنͳίʔυϕʔεͷվमͷͨΊʹ ࣗ࡞5ZQF4DSJQUπʔϧΛ࡞ΔϝϦοτ 54,BJHJαϒΠϕϯτϑϩϯτΤϯυ
ࣗݾհ ߵ࢘,B[VTIJ,POPTV 9!LB[VTIJLPOPTV -*/&ϠϑʔגࣜձࣾιϑτΣΞΤϯδχΞ ʮ-*/&εΩϚχʯϑϩϯτΤϯυνʔϜͷ ΤϯδχΞϦϯάϚωʔδϟʔɾςοΫϦʔυ
ʮϑϩϯτΤϯυͷେنͳίʔυϕʔεͷվमʯʹ͍ͭͯ͠·͢ 💭ϥΠϒϥϦͷΞοϓάϨʔυɾஔ͖͑ 💭ϓϩμΫτͷϦχϡʔΞϧ
େنͳίʔυϕʔεͷվमͰى͖Δ ࣮ऀ ϨϏϡϫʔ ࠩͷྔ ˠ୯ௐͰࣅͨฤू͕ଓ͖ෛ୲ ظؒʹΘͨΔ࡞ۀ ˠ௨ৗͷ։ൃͱͷཱ྆ͷ͠͞ ࠩͷྔ ˠ࣮࿙Εͷݟམͱ͠ ɹϨϏϡϫʔͷෛ୲
͜ͷͷղܾ͢ΔͨΊɺʮࣗ࡞5ZQF4DSJQUπʔϧʯΛ࡞Γ·ͨ͠
ʮࣗ࡞5ZQF4DSJQUπʔϧʯͱͳʹ͔ʁ let message = 'hello world'; const message = 'hello
world'; ͋ΔҰఆͷϧʔϧͰ5ZQF4DSJQUϑΝΠϧΛฤू্͠ॻ͖͢Δͷ 🛠
ʮࣗ࡞5ZQF4DSJQUπʔϧʯͰͬͨ͜ͱ ର 5ZQF4DSJQU3FBDUͷίʔυϕʔε ίϯϙʔωϯτϥΠϒϥϦͷϦϓϨΠε ࣮ݱͨ͜͠ͱ ϓϩδΣΫτͰࢀর͕ͳ͘ͳͬͨίϯϙʔωϯτΛআ
ʮࣗ࡞5ZQF4DSJQUπʔϧʯʹΑͬͯͨΒ͞ΕͨϝϦοτ ࣮ऀ ϨϏϡϫʔ ୯ௐͳมߋ͕ଓ͘͜ͱʹΑΔ ϛεɾ࿙Εͷݮগ มߋͷΞϓϩʔνΛ ͍Ζ͍Ζͱࢼ͢ίετͷԼ ϨϏϡʔର͕ʮࠩʯ͔Β ʮࠩΛੜ͢ΔࠩʯʹมԽ ˠෛ୲͕ݮ
ίʔυΛૢ࡞͢Δ΄͔ͷํ๏ͱͷൺֱ regex ̋खܰ͞ ʷෳࡶͳૢ࡞ͷ࣮ ̋ίʔυͷߏʹ جͮ͘มߋ ˚ϑΝΠϧ͝ͱͷใ ͔͠ར༻Ͱ͖ͳ͍ ̋υΩϡϝϯτɾࢀߟ ʹͳΔࢿྉ
̋ϓϩδΣΫτͷߏ ʢࢀরؔͳͲʣʹج ͮ͘มߋ ̋ܕใͷར༻ ˚υΩϡϝϯτɾࢀߟ ʹͳΔࢿྉ
πʔϧΛ࡞Δ্ͰͷϙΠϯτ పఈతͳݸผ࠷దԽ ˠ൚༻తͳπʔϧΛ࡞ΒͣɺϓϩδΣΫτͷίʔυͷύλʔϯ͚ͩཏ͢Δ ͷࣗಈԽ ˠΓͷ%SBGU13Λݟͳ͕ΒखಈͰରԠ
5ZQF4DSJQUΛͬͯίʔυΛૢ࡞ͯ͠ΈΑ͏ʂ TypeScript API ts-morph ʷυΩϡϝϯτͷෆ ˚USBOTGPNFSΛ͏ͱϑΥʔϚο τ͕ଛͳΘΕΔ ̋ෳࡶͳૢ࡞ 5ZQF4DSJQU"1*ͷ ϥούʔϥΠϒϥϦ
̋൚༻తͳૢ࡞Λཏ ̋υΩϡϝϯτ͕ॆ࣮ ̋ϑΥʔϚοτ͕ҡ࣋͞ΕΔ ˚ෳࡶͳૢ࡞ import ts from 'typescript';
͍͞͝ʹ w ʮࠩ࡞Γʯ͔ΒʮࠩΛੜ͢Δࠩ࡞Γʯͷస w 044Խ w HJUIVCDPNMJOFUTSFNPWFVOVTFE
ʮࣗ࡞5ZQF4DSJQUπʔϧʯΛ࡞ͬͯେنͳվमΛΒͤ·͠ΐ͏ʂ
5IBOLZPV