æ©èœããªã¯ãšã¹ãããŸããããããšããã°ãå ±åããŸããïŒ
ç¹åŸŽã
çŸåšã®åäœã¯äœã§ããïŒ
yarn upgrade
ã¯éæ¥çãªäŸåé¢ä¿ãç¡èŠããããããŠãŒã¶ãŒã¯yarn.lockã§ããããã¢ããã°ã¬ãŒãã§ããŸããã ç§ãäœããéããå Žåã¯ãæããŠãã ããã
çŸåšã®åäœããã°ã§ããå Žåã¯ãåçŸããæé ãæäŸããŠãã ããã
yarn add [email protected]
ãå®è¡ããŸãis-alphabetical
ãšis-decimal
ãã€ã³ã¹ããŒã«ãããyarn.lockã«ä¿åãããŸããis-alphabetical
ã®ææ°ããŒãžã§ã³ã¯1.0.1ã«ãªããŸãããå¥ã®æ°ããããŒãžã§ã³ãããšãã°1.0.2ããªãªãŒã¹ãããå ŽåïŒãã¹ãããã«ã¯ã2ã€ã®ãã¹ãããã±ãŒãžãèªåã§ãªãªãŒã¹ãããã is-alphabetical
ã1.0ã«å€æŽã§ããŸãïŒ .0 in yarn.lock
ã *yarn.lockãçŽæ¥å€æŽããããšã¯éåžžã®æäœã§ã¯ãªãããšãç¥ã£ãŠããŸã*ïŒyarn
ã¯åžžã«All of your dependencies are up to date
ãšèšããŸãæåŸ
ãããåäœã¯äœã§ããïŒ
yarn upgrade
ã¯ãéæ¥çãªäŸåé¢ä¿ããµããŒãããŠããŸãã
node.jsãyarnãããã³ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒãžã§ã³ããç¥ãããã ããã
ããŒã8.9.0
糞1.3.2
OSX 10.12.6
@chinesedfan yarn upgrade-interactive
ãè©ŠããŸãããïŒ
@milesjã¯ããåãçµæã«ãªããŸãããŸããåé¡ã®èª¬æã®åçŸæé ãæŽæ°ããŸããã
ããã¯ã yarn add [email protected]
ãpackage.jsonãèŠæ±ã©ããã«_exactly_ããŒãžã§ã³1.0.0
ã«èšå®ããããã§ãã
yarn upgrade
ã¯package.json semverã®ç¯å²ãå°éããããŒãžã§ã³1.0.0ãæ£ç¢ºã«æå®ãããããä»ã®ããŒãžã§ã³ãžã®ã¢ããã°ã¬ãŒãã¯æäŸãããŸããã
ããã¯ããã€ãã®æ¹æ³ã§è§£æ±ºã§ããŸãã
yarn upgrade --latest
ã¯ãsemverç¯å²ãç¡èŠããã¬ãžã¹ããªã§latest
ãšããŠã¿ã°ä»ããããŠãããã®ã確èªããŸãã^1.0.0
ã次ã«yarn upgrade
ã®ãããªããŒãžã§ã³ç¯å²ãåãå
¥ããŸãïŒå€æŽãããç¯å²ã®ããã¯ãã¡ã€ã«ãæŽæ°ããã«ã¯ãæåã«yarn install
ãååŸããå¿
èŠãããå ŽåããããŸãïŒyarn upgrade [email protected]
ãyarn upgrade is-alphanumerical@^1.0.0
ã®ããã«ãããŒãžã§ã³ãupgrade
ã«æ瀺çã«æå®ããŸãç·šéïŒ
ç³ãèš³ãããŸããããããã±ãŒãžåãç°ãªãããšã«æ°ã¥ããŸããã alphanumerical
ãšalphabetical
ã¯äžèŠåãããã«èŠããŸã:)
ããã§ãã is-alphanumerical
ã®ã¢ããã°ã¬ãŒãããªããããäŸåé¢ä¿ããªãŒã¯ãæšç§»çãªäŸåé¢ä¿ãåŠçããããã«ããã以äžæ·±ããã©ããŒã¹ãããããšã¯ãããŸããã
--force
ãã©ã°ãè¿œå ããŠã¿ãŠãããããµãäŸåé¢ä¿ã«ãªããã©ããã確èªã§ããŸãã ããã§ãªããã°ãããªãã¯æ£ãããšæããŸãã yarn remove is-alphanumerical
ãšyarn add is-alphanumerical
以å€ã«ãããè¡ãç°¡åãªæ¹æ³ã¯ãããŸããã
@ rally25rsãè¿äºããããšãããããŸãïŒ ããã«2ã€ã®ã±ãŒã¹ããã¹ãããŸããã
yarn upgrade is-alphabetical --force
ãæ©èœããŸãããyarn upgrade is-alphanumerical
ã¯ããã§ã«ææ°ã§ããå Žåã§ãããã¹ãŠã®ãµãäŸåé¢ä¿ãã¢ããã°ã¬ãŒãããŸããã¯ããããã¯çŸæç¹ã§ã®ç³žã®å€§ããªåé¡ã§ãã ãã§ã«ïŒ2394ã§è°è«ãããŠããŸã
éè€ïŒ2394
ããäžåºŠéããŠãã ãããéè€ããŠããŸããã
meck-test-bb
ããã±ãŒãžã®è€è£œã«ã€ããŠèª¬æããŠããŸãïŒéæ¥çãªäŸåé¢ä¿ïŒãmeck-test-bbã2ã€å ¥æããŸãã
ãã®åé¡ã¯ãïŒã©ããããããïŒéæ¥çãªäŸåé¢ä¿ãã¢ããã°ã¬ãŒãããæ©èœã«ã€ããŠã®ã¿èª¬æããŠããŸãã
@rally25rspingãèš±å¯ããŠãã ããã
@ rally25rs ããé¡ãããŸããããªãã¯äž¡æ¹ã®éè€ããªãåé¡ãéããŸãããããã¯ééã£ãŠããŸãã éæ¥çãªäŸåé¢ä¿ãã¢ããã°ã¬ãŒãããæ©èœãæäŸããŠãã ããã
ç³ãèš³ãããŸããããä»ã®åé¡ã«ã€ããŠæ··ä¹±ããããŸããã ç§ã¯åœåã2394ã--deep
ãã©ã°ãªã©ã䜿çšããŠæšç§»çãªdepãã¢ããã°ã¬ãŒãããæ¹æ³ãæ±ããŠãããšæã£ãŠããã®ã§ããã®åé¡ããã®éè€ãšããŠããŒã¯ããŸããã åŸã§2394ãèªã¿çŽããåŸãããã¯ç§ãæåã«èãããããªããã®è€è£œã§ã¯ãªããäœãéãããšã«ã€ããŠã ã£ããšæããŸãã
ãã®æ©èœãªã¯ãšã¹ãã®+1ã ãŸããæ«å®çã«ç¹å®ã®éæ¥çãªäŸåé¢ä¿ãæåã§ã¢ããã°ã¬ãŒãããå¿ èŠãããç§ã®ãããªæããªäººã®äŸïŒ
æ瀺çãªäŸåé¢ä¿ãäžããããå Žåjsonwebtoken
ã¯è匱ãªjws=3.1.4
$ãžã®æé»çãªäŸåé¢ä¿jws^3.0.0
ã解決ããŸããïŒä»£ããã«ããããé©çšã3.1.5
ã«è§£æ±ºããå¿
èŠããããŸãïŒ
以äžã®jws
ãšã³ããªãyarn.lockããåé€ãã yarn
ãåå®è¡ããŸãã éæ¥çãªäŸåé¢ä¿ãšåœ±é¿ãåããããã±ãŒãžã¯ãä»ã®ãã®ã«è§ŠããããšãªãæŽæ°ãããŸãïŒå°ãªããšãyarn v1.3ã§ã¯ïŒ
jws@^3.0.0, jws@^3.1.4:
version "3.1.4"
resolved "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2"
dependencies:
base64url "^2.0.0"
jwa "^1.1.4"
safe-buffer "^5.0.1"
ç·šéïŒå¥èªç¹
@ alex-thewsey-ibmãåé¿çãããããšãïŒ
ã€ãŒã³v1.7ã«åãçµãã ã
tyãåãã糞1.9.2
åäžã®äŸåé¢ä¿ã®å Žåã§ããéžæçãªäŸåé¢ä¿resolutions
ã§ã€ãŒã³ã埮調æŽããã®ã«åœ¹ç«ã€å ŽåããããŸãã ãã³ããããã@remolueoendã«æè¬ããŸãïŒ
https://yarnpkg.com/lang/en/docs/selective-version-resolutions/
ããã¥ã¡ã³ãããïŒ
{
"name": "project",
"version": "1.0.0",
"dependencies": {
"left-pad": "1.0.0",
"c": "file:../c-1",
"d2": "file:../d2-1"
},
"resolutions": {
"d2/left-pad": "1.1.1",
"c/**/left-pad": "1.1.2"
}
}
yarn.lock
https://github.com/postcss/autoprefixer/issues/1184ã§caniuse-lite
ãæŽæ°ããæ¹æ³ããŠãŒã¶ãŒã«ææ¡ããã«ã¯ãAutoprefixerã«ãã®æ©èœãå¿
èŠã§ãã
ããã§ãåãåé¡ããããŸãã ç§ã¯yarn upgrade caniuse-lite browserslist
ããµãäŸåé¢ä¿ãã¢ããã°ã¬ãŒãããããšãæåŸ
ããŠããŸããã ããã¯ãããããŸããã§ããããããŠããã¯ãããäŸåé¢ä¿ã§ã¯ãªãã®ã§ãããã¢ããã°ã¬ãŒãããããšãã§ããªããšãããšã©ãŒã¡ãã»ãŒãžãç§ã«äžããŸããã§ããã
é¢é£ããããã¯ãã¡ã€ã«ãšã³ããªãåé€ããŠããã@ alex-thewsey-ibmãææ¡ããããã«yarn
ãåå®è¡ãããšãåœé¢ã®åé¡ãä¿®æ£ãããŸããã
糞ã«tnisæ©èœããªãã®ã¯å¥åŠã§ãã ç§ã¯yarnïŒããã³npmïŒã«æ £ããŠããªãã®ã§ããããè¡ãæ¹æ³ãããã¯ãã ãšæããŸãã ãã®ã¹ã¬ããã®èª°ãç¥ããªãããããè¡ãããã®éèªæãªæ¹æ³ãããã®ãââããããšãå®éã«ãããè¡ãæ¹æ³ããªãã®ããç§ã¯ãŸã å®å šã«ã¯ããããŸããã
package.jsonã«è¿œå ããã«ããã¯ãã¡ã€ã«å ã®ä»åè©/éæ¥äŸåé¢ä¿ãã¢ããã°ã¬ãŒãããæ¹æ³ãæ¬åœã«ãªãå Žå...yarnãŠãŒã¶ãŒããããªãã§ã©ã®ããã«è¡ããããããŸããã
ããã¯äºæããªãåäœã®IMOã§ããæè¿lodashãyarn upgrade [email protected]
ã§æŽæ°ããããšããŸããããäžæçãªäŸåé¢ä¿ã«ã€ããŠã¯ãŸã æŽæ°ãããŠããŸããã
ç§ã¯ãŸã ãã¹ãŠã®major
ïŒ^ 4.XXïŒãšpatch
ïŒã4.17.XïŒã®ããŒãžã§ã³ãå€ãããŒãžã§ã³ãæããŠãããŸãŸã§ããã
ãããä¿®æ£ããå¯äžã®æ¹æ³ã¯ã yarn.lock
ãæåã§ç·šéããŠããã yarn upgrade
ãå®è¡ããŠå€æŽãçµ±åããããšã§ãã ãã®ããã«åºã䜿ãããŠããããŒã«ã«ã¯ãããå°ãè¯ããã®ãæåŸ
ã§ããŸãã
ãã®èªãããããã°ãŸãã¯ã€ãŒã³ã¯ããã©ã«ãã§ä¿å®çã§ãããæåã§yarn.lock
ãç·šéãããããã©ã°ã䜿çšããå¿
èŠããããŸããïŒ
@Machiawelicznyãšåãã»ãã¥ãªãã£ã¢ã©ãŒãã解決ããå¿ èŠããããšæããŸã;ïŒãããžã§ã¯ããä¿®æ£ããã®ãåŸ ã€éãéæ¥çãªäŸåé¢ä¿ããªãŒããŒã©ã€ããããšéåžžã«äŸ¿å©ã§ãã å¿çæ§ã®é«ããããžã§ã¯ãã§ããä¿®æ£ãšãªãªãŒã¹ãåŸ ã€ã®ã«é ãããããŸãã
å®éãããã¯éæ¥çãªäŸåé¢ä¿ã®ã»ãã¥ãªãã£åé¡ã«ãšã£ãŠåé¡ã§ããã yarn.lock
ãç·šéããåé¿çã¯å¹æçã§ãããæåŸ
å€ãã§èªååãå°é£ã§ãã ãããäœããã®çç±ã§ããã©ã«ãã®åäœã§ã¯ãªãå Žåã¯ãYarnã«éæ¥çãªäŸåé¢ä¿ã«åŸãããã«åŒ·å¶ãã--include-indirect
ã®ãããªãªãã·ã§ã³ãè¿œå ãããšäŸ¿å©ã§ãã
ãªãã·ã§ã³ãå¿
èŠã ãšã¯æããªãyarn upgrade [an indirect dependency]
ãyarn.lockãäŸåé¢ä¿ããªãŒã§èš±å¯ãããŠããææ°ããŒãžã§ã³ã®éæ¥äŸåé¢ä¿ã«æŽæ°ããªãçç±ãããããªããè¿œå ãªãã·ã§ã³ã ç§ã¯ä»ããã¯ãã ã®ããŒãªãã¬ãŒã·ã§ã³ã ãšæããŸããïŒ
ãã ããç§ãæºè¶³ããŠããå¥ã®åé¿çã¯ãpackage.jsonã«resolutions
ãè¿œå ããããšã§ãã lodash
ãéæ¥çãªäŸåé¢ä¿ã§ãããã»ãã¥ãªãã£ã®è匱æ§ãåé¿ããããã«4.7.13以äžã§ããå¿
èŠãããããšãããã£ãŠããå Žåã¯ãpackage.jsonã«è¿œå ã§ããŸãã
"resolutions": {
"lodash": ">= 4.17.13"
}
次ã«ã yarn install
ãå®è¡ããã ãã§ããã®èŠä»¶ãæºããããã«yarn.lock
ãæŽæ°ãããããéæ¥çãªäŸåé¢ä¿ãšç«¶åããããã«ã§ããªãå Žåã¯æå¥ãèšããŸãã
ç§ã®å Žåãããã¯å®éã«ã¯ããªãããŸããã£ãããã§ãã ããã¯ãåé¿çãã§ã¯ãªããæå³ããã解決çã§ã¯ãªãããšæããŸããïŒ ããããçºèŠããã®ã«å°ãæéãããããŸããã ãããŠããããæ®éçã§æ£ãã解決çã§ãããã©ããããŸãã¯å Žåã«ãã£ãŠã¯åé¡ããããããããªããã©ããã確èªããã®ã«ååãªããšãç解ããŠããŸããã ãããéæ¥çãªäŸåé¢ä¿ãã¢ããã°ã¬ãŒãããããã®ãæ£ããã解決çã§ããå ŽåãèŠã€ããã®ã¯ããå°é£ã§ããã
æŽæ°ãããæšç§»çãªdepãyarnã€ã³ã¹ããŒã«ããŠãpackage.jsonã®å€æŽãã³ããããããyarn.lockã ããã³ãããããŠã¿ãŸãããïŒ
æŽæ°ãããæšç§»çãªdepãyarnã€ã³ã¹ããŒã«ããŠãpackage.jsonã®å€æŽãã³ããããããyarn.lockã ããã³ãããããŠã¿ãŸãããïŒ
åäžã®ããŒãžã§ã³ãé¢é£ãããã¹ãŠã®semverç¯å²ãæºãããŠããå Žåã§ããyarnã¯åãããã±ãŒãžã®è€æ°ã®ããŒãžã§ã³ãåãã§ã€ã³ã¹ããŒã«ãããããïŒåžžã«ïŒïŒãããæ©èœãããšã¯æããŸããã ãããã£ãŠãããã«ããå¿ èŠãªããŒãžã§ã³ãã€ã³ã¹ããŒã«ãããŸãããäžèŠãªããŒãžã§ã³ã¯åé€ãããŸããã
@djmitcheããã§ããã äºæ³ãããç¯å²å ã®ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã çæ³çã§ã¯ãªããå°ãéå±ã§ãããä»ã®ãšããå©çšå¯èœãªäžæçãªã®ã£ããã§ãã
@djmitche確ãã«ãããã¯éæ¥çãªäŸåé¢ä¿ã®ã»ãã¥ãªãã£åé¡ã«ãšã£ãŠåé¡ã§ããã
yarn.lock
ãç·šéããåé¿çã¯å¹æçã§ãããæåŸ å€ãã§èªååãå°é£ã§ãã
ããã¯ãããå°ãèªååå¯èœãªå¥ã®åé¿çã§ãã
yarn remove is-alphanumerical
yarn add is-alphanumerical
PRã®èª¬æã®äŸã䜿çšãããšãããã«ããæäžäœã®depãåé€ãããŠããå床远å ããã is-alphanumerical
æå®ãããç¯å²ïŒãã£ã¬ããç¯å²ãªã©ïŒã«åŸã£ãŠãææ°ã®ãµãdepsããã¹ãŠååŸãããŸãã ã ãã®åŸãæ°ããããã¯ãã¡ã€ã«ãçæãããŸãã
å¯äœçšã¯ãçæ³çã§ã¯ãªããã¹ãŠã®ãµããã£ãŒããæŽæ°ããããšã§ãã sub-dep Aã®ã»ãã¥ãªãã£åé¡ã«ã€ããŠã¯ãsub-depAã®ã¿ãæŽæ°ããããšæããŸãã
ã»ãã¥ãªãã£ã®åé¡ãä¿®æ£ããããã ãã«ãµããããAãçŽæ¥ããããšããŠè¿œå ããåé¿çã¯ãæ··ä¹±ïŒããã±ãŒãžãçŽæ¥äœ¿çšãããªãïŒãšã¡ã³ããã³ã¹ã®è² æ ãåŒãèµ·ãããããããã«æªåããŸãã
æ¯ç³žé€å»ã¯-ã¢ã«ãã¡ãããé
糞ã®è¿œå ã¯-ã¢ã«ãã¡ãããé
ããã¯ãäŸåé¢ä¿ãå®éã«æŽæ°ããå¯äžã®ä¿¡é Œã§ããæ¹æ³ã®ããã§ãã ç§ã¯ä»æ¥ã1幎åã«1.1.0
ã«æŽæ°ãããããã±ãŒãžã®1.0.0
ããŒãžã§ã³ã§ç«ã¡åŸçããŠããããšã«æ°ã¥ããŸããã ç§ãã¡ã䜿çšããŠããããã±ãŒãžã¯^1.0.0
ã䜿çšãããã®ããã±ãŒãžããã¢ããã°ã¬ãŒãããããã³ã«ãäŸåé¢ä¿ã®æ°ãã1.1.0
ããŒãžã§ã³ãååŸããããšã¯ãããŸããã§ããã
ãã®åé¡ãçºçããçç±ã調æ»ããããã«1æ¥ãç¡é§ã«ããããšãªãã1幎åã«ä¿®æ£ãããã¹ãã§ãã£ãã補åã«é»ã£ãŠå€±æããŠããããªãæªããã°ããã£ãããšãå€æããŸããã
æåã§yarn.lockãç·šéããããããã±ãŒãžãåé€ããŠããåè¿œå ããããéžæçãªè§£å床ã䜿çšãããããããšããéæ¥çãªäŸåé¢ä¿ãæŽæ°ãããæ¹æ³ãã§ãããšã¯ä¿¡ããããŸããã
IMOã yarn upgrade
ã¯ãéæ¥çãªäŸåé¢ä¿ãææ°ã®åãå
¥ããããsemverããŒãžã§ã³ã«æŽæ°ããå¿
èŠããããŸãããã®ãããããã±ãŒãžãã¢ããã°ã¬ãŒãããŸãã ã€ãŸããsemverã®ç¯å²ã«ãã¬ãŒã¯ããã£ãå Žåãéæ¥çãªäŸåé¢ä¿ãæŽæ°ããããããåžžã«æŽæ°ããå¿
èŠããããŸãã
ãããè¡ãããã«ãããçš®ã®å€éšã¹ã¯ãªãããäœæããããšã¯åœ¹ã«ç«ã¡ãŸããïŒ æå®ãããããã±ãŒãžã®ãã¹ãŠã®yarn.lock
ãšã³ããªãåé€ããŠãããyarnãåå®è¡ãããšæããŸããïŒ
ãããè¡ãããã®ç°¡åãªã¹ã¯ãªããããããŸãïŒ https ïŒ//gist.github.com/pftg/fa8fe4ca2bb4638fbd19324376487f42
ã¡ã³ããã®1人ãã©ãã«ãcat-feature
ããcat-bug
ã«å€æŽã§ããŸããïŒ
ã¡ã³ããã®1人ãã©ãã«ãcat-featureããcat-bugã«å€æŽã§ããŸããïŒ
ãªãïŒ ããã¯ãã°ã§ã¯ãããŸããã èšèšéãã§ãã yarn upgrade
ã¯ãæšç§»çãªäŸåé¢ä¿ãã¢ããã°ã¬ãŒãããããã«äœ¿çšãããããšãæå³ãããã®ã§ã¯ãããŸããã§ããã æåã«éããããåé¡ãã¯ãæ©èœèŠæ±ãšããŠãã©ãã«ä»ããããŸãã
å
éšçupgrade
ã¯yarn outdated
ã䜿çšããŠãäœãå€ããã©ã®ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒããããã決å®ããŸãã outdated
ã¯ãçŽæ¥ã®äŸåé¢ä¿ã®ã¿ããã§ãã¯ããŸãã
ç§ã¯ééã£ãŠããããããããå€æŽãããŠããå¯èœæ§ããããŸãããå°ãªããšã3幎åã«yarn upgrade
ãæåŸã«äœãçŽãããæç¹ã§ã¯ã npm upgrade
ãæšç§»çãªéšéãã¢ããã°ã¬ãŒãããŸãã ïŒç¹°ãè¿ãã«ãªããŸãããããã¯äœå¹Žã«ãããã£ãŠå€æŽãããŠããå¯èœæ§ããããŸãããnpmã®å€æŽã«ã€ããŠã¯ããŸãææ°ã§ã¯ãããŸããïŒã
ãã®æ©èœãè¿œå ããã«ã¯ã誰ã§ãèªç±ã«PRãéä¿¡ã§ããŸãã ããã¯ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãããè²¢ç®ããã®ã¯ã³ãã¥ããã£å šäœã®è²¬ä»»ã§ãã ãã®æ©èœãªã¯ãšã¹ãã¯äœå¹Žã«ãããã£ãŠéãããŠããŸããã誰ããããå®è£ ããããã«ã¹ãããã¢ããããŠããããããããä¿®æ£ããããŠããªãçç±ã§ãã
@nnmrtsç§ã®ã¹ã¯ãªããã確èªããŠããã ããŸããhttps://github.com/yarnpkg/yarn/issues/4986#issuecomment-562719589ä»ã®ãšãã圹ã«ç«ã¡ãŸããïŒ
@ rally25rsç³ãèš³ãããŸããããç§ã¯ç²ããŠããŠäžæ©å«ã§ãããç§ã®ã³ã¡ã³ãã¯è§£æ±ºãããšèããŠãã ããã ð¬
@nnmrtsç§ã®ã¹ã¯ãªããïŒ4986ïŒã³ã¡ã³ãïŒã確èªããŠããã ããŸããïŒ
ãã®ã¹ã¯ãªããã¯æ®å¿µãªããç§ã«ã¯æ©èœããŸããã§ãããæšæ¥è©ŠããŠã¿ãŸããã äœãééã£ãããšãããã®ãããããŸããããyarn.lockãã¡ã€ã«å šäœãã¹ã¯ãªããã«ãã£ãŠã空ã«ããªããŸããã
ãããã©ãã»ã©é©åãªåé¿çã§ãããã¯ããããŸããããç§ãæžãããã®ã¹ã¯ãªãããå®è¡ããŸããã
const fs = require('fs')
const lockfile = require('@yarnpkg/lockfile')
const package = require('./package.json')
const lock = lockfile.parse(fs.readFileSync('yarn.lock', 'utf-8')).object
const allDeps = new Set()
const parseDep = ([name, version]) => {
allDeps.add(`${name}@${version}`)
}
Object.entries(package.dependencies).forEach(parseDep)
Object.entries(package.devDependencies).forEach(parseDep)
const newLock = Object.fromEntries(Object.entries(lock).filter(([dep]) => allDeps.has(dep)))
const newLockString = lockfile.stringify(newLock)
fs.writeFileSync('yarn.lock', newLockString)
次ã«yarn install
ãå®è¡ãããšãéæ¥çãªäŸåé¢ä¿ã®ææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ãããŠããããã§ãã
æ·±ã/éæ¥çãªäŸåé¢ä¿ãããŸã解決ããããšãã§ããŸããã ãã€å ¬åŒãµããŒããåããã®ãããã
https://medium.com/@ayushya/upgrading -javascript-packages-deep-dependencies-using-yarn-8b5983d5fb6b
ç§ã¯yarn.lockãåçæãããªã¹ã¯ã解決ããŠèª¬æããäœããã¹ãããææ¡ããŸããã
ãããçããã«ã圹ç«ã€ãã©ããæããŠãã ããã ãŸãã¯ãã¢ããã°ã¬ãŒãã®ããã»ã¹ãæ¹åããããã®ææ¡ã
@ayushyaããŒããããã¯ããŸãããããã§ãã倩æã
éæ¥çãªäŸåé¢ä¿ïŒãŸãã¯ä»ã®ã³ãã³ãïŒãžã®yarn upgrade
ãå«ãŸããããããyarnãåãå
¥ããã®ã ãããïŒ
@jrochkindçŽæ¥ã®äŸåé¢ä¿ã§ãªããŠãã yarn upgrade
ã®éæ¥çãªäŸåé¢ä¿ãã¢ããã°ã¬ãŒããããšäºæ³ããŠããŸããã ãã®æ©èœããªããšãéæ¥çãªäŸåé¢ä¿ã®æŽæ°ã«äœå¹Žãé
ããããšããããŸãã
ç§ã®å Žåã fsevents
ãã¢ããã°ã¬ãŒãããããšããŠããã®ã§ã yarn install
ïŒhttps://github.com/fsevents/fsevents/issues/278ïŒãå®è¡ãããšãã«ãšã©ãŒãçºçããŸããã§ããã ïŒã fsevents
ã¯ãç§ãçŽæ¥äœ¿çšããããã±ãŒãžã§ã¯ãããŸããã webpack-dev-server
ã䜿çšããããã±ãŒãžã§ãã ããããé©ããããšã«ããã®ã¢ããªã«webpack-dev-server
ãæåã«ã€ã³ã¹ããŒã«ããããšããç§ã¯ååšããããŒãžã§ã³ã«ããã¯ãããŠããŸããã
ç§ã¯ãããã¢ããã°ã¬ãŒãããããã«ãã®ããªãã¯ã䜿ããªããã°ãªããŸããã§ãããããã¯å®å šãªããã¯ã®ããã§ããã https://github.com/yarnpkg/yarn/issues/4986#issuecomment -395036563
åé¿çã¯æ©èœããŠããŸãããæ®å¿µãªãããå€ãæ·±ãäŸåé¢ä¿ã¯ãããããåé€ããåŸãyarn.lockãã¡ã€ã«ã«åã³è¿œå ãããŸããã ã€ãŒã³ã€ã³ã¹ããŒã«ãå®è¡ããåŸãnode_modulesãã©ã«ããŒãšyarn.lockãã¡ã€ã«ã«æ»ã£ãŠããããèŠãããšãã§ããŸãã
ããããåé¿çã¯ç³žã®ã¯ãŒã¯ã¹ããŒã¹ãšäºææ§ããããŸãããïŒ
@FelipeLujanåé¿çãæ©èœããå Žåãæ·±ãäŸåé¢ä¿ã¯åŒãç¶ãyarn.lockãã¡ã€ã«ã«è¿œå ãããŸãïŒããã¯äºæ³ãããŸãïŒããæ°ããããŒãžã§ã³ã§ã¯è¿œå ãããŸãã ãã ããæ°ããããŒãžã§ã³ããªãªãŒã¹ãããŠãããäŸåé¢ä¿ããªãŒã§èš±å¯ãããŠããå Žåã«ã®ã¿ãæ°ããããŒãžã§ã³ã䜿çšããŸãã äžéšã®äžéäŸåé¢ä¿ãã¢ããã°ã¬ãŒããèš±å¯ããªãå¶éãè¡šããŠããå Žåã§ããããããã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããã ãããã¯ãããªãŒã®å¶éã«ãã£ãŠèš±å¯ãããŠããææ°ã®ãã®ã«ã¢ããã°ã¬ãŒããããŸãã
ç§ã¯ç³žã®ã¯ãŒã¯ã¹ããŒã¹ã䜿çšããŠããŸããã®ã§ããããé©åãã©ããã¯ããããŸããã
@FelipeLujanAFAIKã€ãŒã³ã¯ãŒã¯ã¹ããŒã¹ãåæ§ã«æ©èœããŸãã
ããã±ãŒãžã»ã¯ã·ã§ã³ãåé€ããåé¿çã¯ãããã±ãŒãžãææ°ã®MINOR/PATCHããŒãžã§ã³ã«ã®ã¿ã¢ããã°ã¬ãŒãããŸãã
ããã±ãŒãžãæ°ããã¡ãžã£ãŒããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããå Žåã¯ã yarn why package-name-here
ãå®è¡ããŠããããã±ãŒãžäŸåé¢ä¿ãã§ãŒã³ãèŠã€ããŠããã®ãã§ãŒã³ã®æäžäœã«ããããã±ãŒãžãã¢ããã°ã¬ãŒãããå¿
èŠããããŸãã
泚æïŒããã±ãŒãžãæ°ããã¡ãžã£ãŒããŒãžã§ã³ã«ã¢ããã°ã¬ãŒããããšãé倧ãªå€æŽãçããå¯èœæ§ããããããã³ãŒãããã¹ãããŠãã ããã
https://github.com/djmitche/yarn-minifyãããã«åœ¹ç«ã€å¯èœæ§ããããŸãã
@ayushyaã®åé¿çã¯ç§ã«ãšã£ãŠéåžžã«ããŸãæ©èœããŠãããyarn.lockãæåã§ç·šéããŠéæ¥çãªäŸåé¢ä¿ãåé€ããŠãããyarninstallãå®è¡ããŠæ°ããããŒãžã§ã³ã§å床远å ããŸãã
ç§ã«ã¯ãããã¯ãyarn.lockãæåã§ç·šéããå¿ èŠãããã®ã§ã¯ãªããyarnã«çµã¿èŸŒãå¿ èŠãããæ©èœã®ããã«èŠããŸãã äŸåé¢ä¿ãåé€ããŠyarnã€ã³ã¹ããŒã«ãå®è¡ããããã«æåã§ç·šéãããã®ããã«ãæ©èœãäœæããã®ã¯ããªãé£ããããã§ãã ãã®æ©èœã¯æ¬åœã«ç³žã«çµã¿èŸŒãŸããã¹ãã ãšæããŸããããªãããã§ãªãã®ãã«ã€ããŠã¯å°ãæ··ä¹±ããŠããŸãã
æ·±ã/éæ¥çãªäŸåé¢ä¿ãããŸã解決ããããšãã§ããŸããã ãã€å ¬åŒãµããŒããåããã®ãããã
https://medium.com/@ayushya/upgrading -javascript-packages-deep-dependencies-using-yarn-8b5983d5fb6b
ç§ã¯yarn.lockãåçæãããªã¹ã¯ã解決ããŠèª¬æããäœããã¹ãããææ¡ããŸããã
ãããçããã«ã圹ç«ã€ãã©ããæããŠãã ããã ãŸãã¯ãã¢ããã°ã¬ãŒãã®ããã»ã¹ãæ¹åããããã®ææ¡ã
ããã¯ã@alex-thewsey-ibmã«ãã£ãŠæäŸãããã®ãšåã解å床ã ãšæããŸãã ãã®ç¹å®ã®äŸåé¢ä¿ãyarn.lockããåé€ããããšã¯ç§ãå©ããŸããã
ãšã«ããããã®ããã¯ãããããšãâºïž
$ïŒ package.json
resolutions
ã䜿çšãããšãããŸããããŸããhttps://github.com/webpack/webpack-dev-server/issues/2739#issuecomment -695164486
ããã«ãããå°ãªããšãããã€ãã®èŠåãè¿ãããŸãã
yarn add [email protected]
yarn upgrade is-alphabetical
ããã¯ç§ã代ããã«åŸããã®ã§ãïŒ
success Saved lockfile.
success Saved 0 new dependencies.
æ°ããis-alphabetical
ããã±ãŒãžããŒãžã§ã³ãå©çšå¯èœã§ãã£ãŠãã package.json
ãšyarn.lock
ã®å€æŽã¯ãããŸããã
æãåèã«ãªãã³ã¡ã³ã
ãã®æ©èœãªã¯ãšã¹ãã®+1ã ãŸããæ«å®çã«ç¹å®ã®éæ¥çãªäŸåé¢ä¿ãæåã§ã¢ããã°ã¬ãŒãããå¿ èŠãããç§ã®ãããªæããªäººã®äŸïŒ
æ瀺çãªäŸåé¢ä¿ãäžããããå Žå
jsonwebtoken
ã¯è匱ãªjws=3.1.4
$ãžã®æé»çãªäŸåé¢ä¿jws^3.0.0
ã解決ããŸããïŒä»£ããã«ããããé©çšã3.1.5
ã«è§£æ±ºããå¿ èŠããããŸãïŒä»¥äžã®
jws
ãšã³ããªãyarn.lockããåé€ããyarn
ãåå®è¡ããŸãã éæ¥çãªäŸåé¢ä¿ãšåœ±é¿ãåããããã±ãŒãžã¯ãä»ã®ãã®ã«è§ŠããããšãªãæŽæ°ãããŸãïŒå°ãªããšãyarn v1.3ã§ã¯ïŒç·šéïŒå¥èªç¹