yarnpkg - איך אני גורם ל-Yarn ליישר את הטיפוסים שלי של TypeScript?
התקנתי גם את @types/react וגם את @types/react-dom. נניח שהם היו בגרסה 15 לפני כן, ואז עדכנתי את שניהם בעזרת yarn upgrade @types/react@16 @types/react-dom@16.
@types/react-dom מצהיר על תלות ב-@types/react באמצעות "@types/react": "*", כלומר הוא אמור להיות מסוגל לעבוד עם הגרסה החדשה שהותקנה. עם זאת, ככל הנראה Yarn קיבע את התלויות של @types/react@* ל-@types/react@^15.0.22.
התוצאה של הדבר הזה היא ש-@types/react-dom יש עותק משל עצמו של טיפוסי React, עדיין בגירסה v15 - בגלל זה TypeScript מתחיל להתלונן שיש לי הגדרות טיפוס כפולות.
מהי הדרך המתאימה לשדרג לגרסה v16 באופן עקיף? האם אני יכול להימנע מלעדכן ידנית את yarn.lock שלי?
תשובה #1
הערה למקרה שמישהו ייתקל בזה בעתיד: הפתרון שאני משתמש בו לעת עתה הוא לערוך ידנית את yarn.lock שלי:
-"@types/react@*", "@types/react@^15.0.22":
+"@types/react@^15.0.22":
version "15.0.24"
resolved "https://registry.yarnpkg.com/@types/react/-/react-15.0.24.tgz#8a75299dc37906df327c18ca918bf97a55e7123b"
-"@types/react@^16":
+"@types/react@*", "@types/react@^16":
version "16.0.9"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.9.tgz#2ad952abbb22617620927694f9a4bce292d7fb2b"
במילים אחרות, אני מציין שתלויות שמצביעות על @types/react@* צריכות להיפתר לאותו תוצאה כמו אלו שמצביעות על @types/react@^16.
