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
パッケージのバージョンを一気に上げてつらかった話
Search
clngn
September 22, 2018
0
160
パッケージのバージョンを一気に上げてつらかった話
clngn
September 22, 2018
Tweet
Share
Featured
See All Featured
Optimizing for Happiness
mojombo
375
69k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
How STYLIGHT went responsive
nonsquared
93
5.1k
The Cost Of JavaScript in 2023
addyosmani
41
5.2k
Building an army of robots
kneath
302
42k
Music & Morning Musume
bryan
46
6k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.1k
Transcript
パッケージのバージョンを一気に上げてつらかった話 @clngn
つらかったこと1: lintが落ちる
基本は‑‑fix できないものも結構ある 一気にやってしまうとcommitがひどいことになる レビュアーの死 ‑> eslintの‑‑ruleオプションを使って地道に確認しつつ潰していく ‑> git diffの‑‑name‑onlyオプションでパイプを繋いだりして工夫する $
git diff --name-only src | xargs $(npm bin)/eslint --rule '"indent": [1, 4]' --no-eslintrc --parser babel-eslint --fix
つらかったこと2: テストが落ちる
window.document以下を上書きしている テストの実行順やディレクトリ指定で結果が変わる ‑> テストランナーのbefore/afterフックでwindowオブジェクトを戻すようにする stub,mockをちゃんと使えてない sinon restore忘れ、spy,stub,mockの使い分け ‑> 実コードと合わせて知見をドキュメントにまとめて共有 この辺の概念は資料だけで理解しづらいのでフォローアップをちゃんとする
ライブラリの挙動が変わった enzymeのlifecycleなど ちゃんとドキュメントを読む
つらかったこと3: react‑router v4
v2 ‑> v4 ‑> がんばりましょう https://github.com/ReactTraining/react‑router/blob/master/packages/react‑ router/docs/guides/migrating.md props.params ‑> props.match.paramsとか
複雑なルーティングをpath‑to‑regexpに直す ‑> 設計段階でシンプルなルーティングを意識する
おしまい