Yarn: рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдЦрд░рд╛рдм UX рдмрдирд╛рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЕрдкреНрд░реИрд▓ 2018  ┬╖  93рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yarnpkg/yarn

NB: рдореИрдВ рдпрд╛рд░реНрди рд░реЗрдкреЛ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд╛рдЭрд╛ рдореБрджреНрджрд╛ рд╣реИред

рдордИ рдореЗрдВ рдПрдирдкреАрдПрдо 5 рдХреА рд╡рд╛рдкрд╕реА рдХреЗ рд╕рд╛рде, рдиреЛрдб рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдЕрдм рджреЛ рд▓реЙрдХрдлрд╛рдЗрд▓-рдЖрдзрд╛рд░рд┐рдд рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рд╣реИрдВред рдпрд╣ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрдд рдереА, рдФрд░ рдЗрд╕ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХреЛ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рдерд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдм рдЬрдм рджреЛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд▓реЙрдХрдлрд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢реБрд░реБрдЖрддреА рдбреЗрд╡рд▓рдкрд░реНрд╕ред

рдЬрдм npm 5 рдмрд╛рд╣рд░ рдЖрдпрд╛, рддреЛ рдПрдХ рдЖрд╡реЗрджрди Npm рдФрд░ рдпрд╛рд░реНрди рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░, рд╣рд░реЛрдХреВ рдиреЗ рдПрдХ рдпрд╣ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░рдг рдмрди рдЧрдпрд╛ рд╣реИ рдХрд┐ рдиреЛрдб рдмрд┐рд▓реНрдб рд╣реЗрд░реЛрдХреВ рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрди рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдордВрдЪ рдкрд░ рд╕рднреА рдиреЛрдб рдиреЛрдб рдХреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ ~ 10-12% рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд░ рдорд╣реАрдиреЗ рд╣рдЬрд╛рд░реЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕реЗ рдорд╛рд░рд╛ ред

рдЕрдкрдиреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рджреЛрдиреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдЙрдкрдХрд░рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рдЦреБрдж рдХреЛ рдХрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрдХрдбрд╝рд╛ рд╣реИред рдПрдХ рдЕрдиреБрднрд╡рд╣реАрди рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / рдХреЛрдгреАрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЬреЛ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░, рд▓реЙрдХрдлрд╛рдЗрд▓ рдпрд╛ рдЧрд┐рдЯ рд░реЗрдкреЛ рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдиреНрдп рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рди рддреЛ рдЯреВрд▓ рдЪреЗрддрд╛рд╡рдиреА рдпрд╛ рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛:

тЭп ls *lock*   
ls: *lock*: No such file or directory

тЭп npm --version
5.8.0

тЭп yarn --version
1.5.1

тЭп npm install
npm notice created a lockfile as package-lock.json. You should commit this file.

added 659 packages from 437 contributors in 10.553s

тЭп yarn install  
yarn install v1.5.1
info No lockfile found.
[1/4] ЁЯФН  Resolving packages...
[2/4] ЁЯЪЪ  Fetching packages...
[3/4] ЁЯФЧ  Linking dependencies...
[4/4] ЁЯУГ  Building fresh packages...
success Saved lockfile.
тЬи  Done in 7.67s.

тЭп ls *lock*          
package-lock.json yarn.lock

рдпрд╣ рдпрд╛рд░реНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИ рдЬрд╣рд╛рдВ рд╡реЗрдм рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рд▓реЗрдЦрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ npm install рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИред рдбреЙрдХреНрд╕ рдпрд╛ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╕реЗ рдХрдорд╛рдВрдб + рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рдореИрдВрдиреЗ nz рдкрд░ @zkat рдФрд░ @ina рдкрд░ рдФрд░ рдпрд╛рд░реНрди рдкрд░ @arcanis рд╕реЗ рдмрд╛рдд рдХреА рд╣реИ, рдФрд░ рд╕рднреА рд╕рд╣рдордд рдереЗ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реНрдг рд╕рд╣рдорддрд┐ рдирд╣реАрдВ рдереАред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдпрд╣ рдореБрджреНрджрд╛ рдЪрд░реНрдЪрд╛ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕рд╣рдордд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдЙрди рд╕рдВрднрд╛рд╡рд┐рдд рд╢рдордиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХреА рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╕реБрдЭрд╛рдП рдЧрдП рд╣реИрдВ:

рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди

рдХреБрдЫ рдордд рдХрд░реЛ

рдХреНрдпрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЛ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдЪрд╛рд╣рддрд╛ рд╣реИ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг рдпрд╣ рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрджрд┐ рдЕрдиреНрдп рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐

рдпрджрд┐ package-lock.json рдореМрдЬреВрдж рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рддреЛ рдпрд╛рд░реНрди рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддрд╛ рд╣реИред

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рд╕рд░рд▓ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬрд╣рд╛рдВ рд╡реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ

рд╡рд┐рдкрдХреНрд╖:

  • рд╢рд╛рдирджрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ

рдЕрдиреНрдп рд▓реЙрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ

рдпрд╛рд░реНрди package-lock.json рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ yarn.lock рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ package-lock.json рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред npm рд╡рд┐рдкрд░реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдорд╣рд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡
  • рдЙрдкрдХрд░рдг рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдЗрдб-рдЗрдлрд╝реЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕реЗрдЯ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛

рд╡рд┐рдкрдХреНрд╖:

  • рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдк рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд░реВрдкрд╛рдВрддрд░рдг рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рд╕реЗ рдиреБрдХрд╕рд╛рдирджреЗрд╣ рд╣реЛрдЧрд╛
  • рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг рдХреЛ рдЕрдиреНрдп рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  • рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╕рдордп рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ

рджреВрд╕рд░реЗ рдХрд╛ рддрд╛рд▓рд╛ рд╣рдЯрд╛рдПрдВ

рдмрд╕ рджреВрд╕рд░реЗ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдмрдирд╛рдПрдВ

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ

рд╡рд┐рдкрдХреНрд╖:

  • рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╡реНрдпрд╡рд╣рд╛рд░
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирдпрд╛ рд╕реЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдЪрд▓рд╛рдПрдБ

рдпрджрд┐ рдпрд╛рд░реНрди рдПрдХ package-lock.json рджреЗрдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди yarn.lock рдпрд╣ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП npm install рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд╡рд╣ рдорд┐рд▓рддрд╛ рд╣реИ

рд╡рд┐рдкрдХреНрд╖:

  • рд╣реИрд░рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡реНрдпрд╡рд╣рд╛рд░
  • рдХреБрдЫ рдЬрдЯрд┐рд▓ рд╣реИ

рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП package.json рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЬреЛрдбрд╝реЗрдВ

рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП package.json рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ

"package-manager": "yarn"

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЗрд░рд╛рджреЗ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реИ

рд╡рд┐рдкрдХреНрд╖:

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

рдЕрдиреНрдп?

рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛

cat-compatibility needs-discussion triaged

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╕рднреА - рдореИрдВ рдЖрдкрд╕реЗ рд╡рд┐рдирдореНрд░ рдЕрдиреБрд░реЛрдз рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдо рд╡рд┐рд╖рдп рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╕реАрдзреЗ-рд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рд▓реЗ рдЬрд╛рдПрдВ (рдЬреИрд╕реЗред рд╣рдорд╛рд░рд╛ рдбрд┐рд╕реЙрд░реНрдбрд░ рдЪреИрдирд▓)ред рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдмрд╣реБрдд рд▓реЛрдЧ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npm <> рдпрд╛рд░реНрди рдХреА рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!

рд╕рднреА 93 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП configред рдкреИрдХреЗрдЬ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

рдпрд╣ engine рдлрд╝реАрд▓реНрдб the рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рд░рд╛рдЙрдВрдб рдЯреНрд░рд┐рдкрд┐рдВрдЧ package-lock.json тЖТ yarn.lock тЖТ package-lock.json рд╣рд╛рдирд┐рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛рд╣реАрди рд╣реИред yarn.lock тЖТ package-lock.json тЖТ yarn.lock рд╣рд╛рдирд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, AFAIKред

npm рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдореИрдВ рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ yarn package-lock.json рди рджреЗрдЦреЗрдВ рдФрд░ yarn.lock рдЬреЛ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ package-lock.json рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ npm yarn.lock рдФрд░ package-lock.json , рддреЛ рдЙрд╕реЗ рдРрд╕рд╛ рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ 'рдпрд╛рд░реНрди.рд▓реЙрдХ рдХреЛ рдЖрдпрд╛рдд рдФрд░ рд╣рдЯрд╛рдПред

рдпрд╣ рджреЛрдиреЛрдВ рдЯреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рднреНрд░рдорд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдЬрд╣рд╛рдВ (рдлрд╛рдЗрд▓ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ) рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдореИрдВ рдЗрд╕рд╕реЗ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рди рддреЛ package-lock.json рдФрд░ рди рд╣реА yarn.lock рд╣реА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝ рдкрд╛рдПрдВрдЧреЗ (рдпрд╛рд░реНрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ рдирд╣реАрдВ), рдХреБрдЫ рдХреЛ рд╣рдЯрд╛рдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ред

рдпрд╣ рдореБрджреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рдкреНрд░рд╢реНрди рдХреЛ рднреА рдЙрдард╛рддрд╛ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ рд╕реВрддреНрд░ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ - рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╣рдо рджреЛрдиреЛрдВ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рддрдм рдЙрдореНрдореАрдж рд╣реЛрдЧреА рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЦрддрд░рдирд╛рдХ рдзрд╛рд░рдгрд╛ рд╣реИ (рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ npm рдЪрд▓рд╛рдПрдЧрд╛ рддреЛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЪреБрдкрдЪрд╛рдк рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛)ред

@ рдпрд╛рд░реНрдирдкреИрдХ / рдХреЛрд░, рд╡рд┐рдЪрд╛рд░?

рдореБрдЭреЗ @arna рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдПрдХ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рджреВрд╕рд░рд╛ред
рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдЖрдпрд╛рддрд┐рдд рд▓реЙрдХрдлрд┐рд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдорди рдХрд░рддрд╛ рд╣реИ
рджреЛрдиреЛрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддреЗ рд╣реИрдВред

рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗрдВред

рдореИрдВ рдорд╛рдПрд▓ рдХреА рдмрд╛рдд рд╕реЗ рднреА рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ 100% рдЕрдиреБрдХреВрд▓рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛
рд╣рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдПрдХрддрд░рдлрд╛ рдорд╛рдирдирд╛ тАЛтАЛрдЪрд╛рд╣рд┐рдП
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд╛рде, рдЬреЛ рдХрд┐ install.js рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдкрдХреНрд╖ред

рдмреБрдз рдкрд░, 11 рдЕрдкреНрд░реИрд▓, 2018 рдХреЛ рд╕реБрдмрд╣ 9:49 рдмрдЬреЗ рдорд╛рдИрд▓ рдирд╛рдЗрд╕рди рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВ рдЗрд╕рд╕реЗ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рди рддреЛ
рдкреИрдХреЗрдЬ- lock.json рдФрд░ рди рд╣реА рдпрд╛рд░реНрди .lock рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ
(рдпрд╛рд░реНрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ рдирд╣реАрдВ), рд╣рдорд╛рд░реЗ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реБрдП
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВред

рдпрд╣ рдореБрджреНрджрд╛ рдпрд╛рд░реНрди рдФрд░ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рднреА рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИ
npm рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ рд╕реВрддреНрд░ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдВрддрд░-рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рджреЛрдиреЛрдВ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдм рд╣реЛрдЧрд╛
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рджреЛрдиреЛрдВ рдкрд░ рдПрдХ рд╣реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛
рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЦрддрд░рдирд╛рдХ рдзрд╛рд░рдгрд╛ рд╣реИ (рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИ
рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ npm рдХреЛ рдПрдХ рдкрд░ рдЪрд▓рд╛рдпрд╛ рддреЛ рд╡рд╣ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЪреБрдкрдЪрд╛рдк рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛
рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛)ред

@ рдпрд╛рд░реНрдирдкреИрдХ / рдХреЛрд░ https://github.com/orgs/yarnpkg/teams/core , рд╡рд┐рдЪрд╛рд░?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЙрд╕ рдЯреАрдо рдкрд░ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/yarnpkg/yarn/issues/5654#issuecomment-380677110 , рдпрд╛ рдореНрдпреВрдЯ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ACBdWI9jnLJeFqH8v2T-AB74sQO1PMIjks5tntzrgaJpZM4TQ5-B
ред

@Imsnif рдХреЛ рдкрд┐рдВрдЧ

рдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рддреЛ рд╣рд╛рдБ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣реВрдБред рдореИрдВ рдПрдХ рдпрд╛рд░реНрди RFC рд▓рд┐рдЦрдиреЗ рдФрд░ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рд╕рднреА рд╣рд┐рддрдзрд╛рд░рдХреЛрдВ рдХреЛ рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ред

рддреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдореИрдВрдиреЗ рдпрд╛рд░реНрди рдХреЛ рдмрджрд▓рдиреЗ рдкрд░ рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ редlock = => package-lock.jsonред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рдиреБрдХрд╕рд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХрдо рддрд╛рд░реНрдХрд┐рдХ рд╣реИрдВред рдореЗрд░реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдЕрдЧрд░ рд╣рдо рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд 'рд╡рди рдЯрд╛рдЗрдо рдХрдирд╡рд░реНрдЬрд╝рди' рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдкрд░ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреБрдЫ рдЕрд▓реНрдкрд╡рд┐рдХрд╕рд┐рдд рдХреЛрдб рд╣реИ рдЬреЛ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ: https://github.com/imsnif/synp
рдпрд╣ 100% рдирд╣реАрдВ рд╣реИ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдФрд░ node_modules рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рд╣реВрдВ (рд╢рд╛рдЦрд╛ 2.0.0 ) рдЬреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдкреИрдХреЗрдЬ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ (рднрдпрд╛рдирдХ pacote рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред

рдПрдХ рдмрд╛рд░ рдЬреЛ рдореИрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╡рд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ (рдФрд░ рдпрджрд┐?) рд╣рдо рдЗрд╕реЗ yarn рдФрд░ npm рджреЛрдиреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЗрд╕ рдкрд░ рд╕рднреА рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реБрдирдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рдореЗрд░реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдЕрдЧрд░ рд╣рдо рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд 'рд╡рди рдЯрд╛рдЗрдо рдХрдирд╡рд░реНрдЬрд╝рди' рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдЧрд╛ред рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реЛрдВрдЧреА, рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ / рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП README рд╕реЗ рдХрдорд╛рдВрдб рдХреЛ рдЪрд┐рдкрдХрд╛рддрд╛ рд╣реИ, yarn рдмрдЬрд╛рдп npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред yarn рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВред

рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореБрдЭреЗ рдЕрднреА рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдЦреЛрдирд╛ рдФрд░ рдкреИрдХреЗрдЬ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЪреБрдкрдЪрд╛рдк рдмрджрд▓рдирд╛ рд╕рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ - рд╡реЗ рд╢рд╛рдпрдж рддрдм рддрдХ рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рднреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдЬрдм рддрдХ рдХрд┐ рдЪреАрдЬреЗрдВ рдЯреВрдЯ рди рдЬрд╛рдПрдВ (рд╣рдо рдПрдХ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдкреНрд░реЙрдореНрдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЙрди рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рдЬреЛ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдЗрдВрд╕реНрдЯрд╛ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ)ред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдпрд╣ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╛рд░реНрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рдХреЙрд▓реЗрдЬрд┐рдпрдо рдХреЗ рд▓реЛрдЧреЛрдВ рдкрд░ рдЯреВрдЯ рдкрдбрд╝рддрд╛ рд╣реИред

@arcanis - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдкрд░рд┐рджреГрд╢реНрдп рдФрд░ рдХрд┐рдирд╛рд░реЗ-рдорд╛рдорд▓реЗ рдмрд╣реБрдд рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдП рдЧрдП рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдореИрдВ рдмрд╣реБрдд рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдХреА рдУрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ CI рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрдордХ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдУрдкреА рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдЯреВрд▓ рдХреЛ рджреВрд╕рд░реЗ рдЯреВрд▓ рдХреЗ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдЬрдм рд╡реЗ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдЙрдирдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?

рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ CI рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрдордХ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдУрдкреА рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ)ред

рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИ? CI рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрд╣реБрдд рд╣реА рдирд┐рдпрддрд╛рддреНрдордХ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЧрд▓рддреА рд╕реЗ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдкреАрдЖрд░-рдЯрд╛рдЗрдо рдЗрдореЛ рдореЗрдВ рдЦрд░рд╛рдм рдкрдХрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реАрдЖрдИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдЯреВрд▓ рдХреЛ рджреВрд╕рд░реЗ рдЯреВрд▓ рдХреЗ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╢рд╛рдпрджред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП engine рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрдЭреЗ рд╕рд╛рдл рджрд┐рдЦрддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ рдЕрдирдиреНрдп рдЗрдВрдЬрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦрдиреА рд╣реЛрдЧреА (рдЬреИрд╕реЗ "рдпрд╛рд░реНрди" "рдПрдирдкреАрдПрдо" рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, рдордХреНрдЦреА рдкрд░ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рднреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рдкрдиреАрдп рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдм рддрдХ рдХреЗрд╡рд▓ package-lock.json рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pnpm рдХрд╛ рдЕрдкрдирд╛ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ shrinkwrap.yaml ред рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдЙрди рджреЛрдиреЛрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкрд╛ рд╕рдХреЗрдВ рдЬреЛ рдПрдХ рдкрддреНрдерд░ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ CI рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрдордХ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдУрдкреА рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ)ред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ npm рдПрдХ CI- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╣реБрдд рд╣реА рд╣рд▓реНрдХреЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрдирд╡рд░реНрдЯрд░ рдЬреИрд╕реЗ рднрд╛рд░реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

CI рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
рдореЗрд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдерд╛: рдПрдХ рд╡рд┐рдкрд░реАрдд рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВ, рдЬрдм рдПрдХ рдирдпрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрд░реЗрдВ (рдпрд╛ рдЕрдзрд┐рдХ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд░реВрдк рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ: рдПрдХ рддрд╛рдЬрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓ рд░рд╣реЗрдВ рдФрд░ рдореМрдЦрд┐рдХ рд░реВрдк рд╕реЗ import рдХрдорд╛рдВрдб рдпрд╛ рдХреЙрдиреНрдЯреЗрд╕реНрдЯ рдлреНрд▓реИрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдПрдХ рдорд┐рд╢реНрд░рд┐рдд рдПрдирдкреАрдПрдо / рдпрд╛рд░реНрди рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рддреЛ рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЧрд┐рдЯ рд╣рд┐рд╕реНрдЯреНрд░реА рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдПрдХ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереА рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдореЗрдВ рдЕрдХреЗрд▓реЗ рдирд╣реАрдВ рдереЗ / рд╣реИрдВред

рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП:
рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реВрдБред
рдЬрдм рд░реВрдкрд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдордзреНрдпрд╕реНрде рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рднреМрддрд┐рдХ рдкреИрдХреЗрдЬ рдЯреНрд░реА (рдпрджрд┐ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдПрдХ рд╣реИ) рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдЪреНрдЫрд┐рдд рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддреЗ рд╕рдордп, рдЙрди рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛ рдпрджрд┐ рд╣рдо yarn рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рднреМрддрд┐рдХ рд╡реГрдХреНрд╖ рдирд╣реАрдВ рд╣реИ рддреЛ рд╡реЗ рд╕рд╛рдЗрди рдбрд┐рдлреЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рдЧрдП рд╣реИрдВ)ред
рдЗрд╕ рддрд░рд╣, рд╣рдо рдЕрдиреНрдп рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рднреА рдХреЛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ / рднреМрддрд┐рдХ рдкреЗрдбрд╝ рд╕реЗ / рдХреЛ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ)ред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрднреА рдЙрдкрдХрд░рдг рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрдбрд╝реЗ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред

(рдЬреИрд╕рд╛ рдХрд┐ npm рдХреЗ рдирдП ci рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рд╣реИ - рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдЪрд░реНрдЪрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рд╣реИ?)

рдпрд╛ рдЕрдзрд┐рдХ рд░реВрдврд╝рд┐рд╡рд╛рджреА: рдПрдХ рддрд╛рдЬрд╛ рд╕реНрдерд╛рдкрд┐рдд рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдпрд╛рдд рдЖрджреЗрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореМрдЦрд┐рдХ рд░реВрдк рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ yarn import рдХрдорд╛рдВрдб рдореЗрдВ рдЗрд╕ рд░реВрдкрд╛рдВрддрд░рдг рддрд░реНрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реВрдВ, рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╛рд░реНрди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ :) рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

npm@6 , рдЖрдкрдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ package-lock.json -> yarn.lock рджреЛрд╖рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдбреЗрдЯрд╛, рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП (npm @ 6 's pkglock рдХреЗ рдкрд╛рд╕ requires рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рдЬреЛ yarn.lock рдЙрдкрдпреЛрдЧреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ?)

рдУрд╣, рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рд╕рдЪ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде https://github.com/yarnpkg/yarn/pull/5042 рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ npm рдХреЗ рдкрд╛рд╕ pkglock рдореЗрдВ sha1 рд╣реИ рдорд╛рдорд▓реЛрдВред

@ рдЧреНрд░реЗрдЯрд┐рд╕ - рд╢рд╛рдирджрд╛рд░! рддреЛ рдПрдХ рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рд╣реЛрдЧрд╛:

  1. package-lock.json рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЦреЛрдЬрдиреЗ рдкрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
  2. package-lock.json рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЦреЛрдЬрдиреЗ рдкрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
  3. import рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ package-lock.json рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛ (рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж)
    рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ? (рдЕрднреА рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдкрд░ рдмрд╛рддрдЪреАрдд рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)

@ рдЬрд╝рдХрд╛рдд - рдпрд╣ npm@6 рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ! рдпрджрд┐ рдпрд╣ рдореЗрд░реЗ рдКрдкрд░ рд╣реИ, рддреЛ рдореИрдВ рд╕рднреА рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдФрд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреВрдВрдЧрд╛ред рдХреНрдпрд╛ рдореИрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк npm рд▓рд┐рдП рд╕рдорд╛рди (рдпрд╛ рд╢рд╛рдпрдж рдХреБрдЫ рдЕрд▓рдЧ) рд╡реНрдпрд╡рд╣рд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рд╣реЛрдВрдЧреЗ?

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ npm рдПрдХ CI- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╣реБрдд рд╣реА рд╣рд▓реНрдХреЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрдирд╡рд░реНрдЯрд░ рдЬреИрд╕реЗ рднрд╛рд░реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрдЧрд░ "рд╡рд░реНрддрдорд╛рди рдореЗрдВ" рдЖрдк рдХрд╛ рдорддрд▓рдм рд╣реИ "рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬ рджрд┐рдпрд╛" рддреЛ рд╣рд╛рдБред =)

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╛рд░реНрди рд▓реЛрдб рдХрд░рдирд╛ред рдЗрд╕рдХрд╛ рджрд╛рдпрд░рд╛ рдЗрд╕рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдкреИрдХреЗрдЬ рдХреЗ рдкреЗрдбрд╝реЛрдВ рдХреЛ рд▓реЗрдЖрдЙрдЯ рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ) рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рд╕рднреА рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЙрд╕ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред yarn.locksред (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдпрд╣ рдЗрд╕рдХреЗ рдФрд░ рдпрд╛рд░реНрди рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реЛрдЧреАред) рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рд▓реЙрдХ рдлрд╛рдЗрд▓ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд╣рд╛рдБ рддрдХ рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЦреЛрдЬрдиреЗ рдкрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА

рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рддрд░рд╣ рдХреА рд▓реЙрдХ рдлрд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреЗ рд╕реЗ

рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рддрд░рд╣ рдХреА рд▓реЙрдХ рдлрд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреЗ рд╕реЗ

рдЪреЗрддрд╛рд╡рдиреА рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдЖрджрд░реНрд╢ рд╣реЛрдЧреАред рдореИрдВ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЛрд▓ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВ, рдХреБрдЫ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдРрд╕реЗ рд╣реИрдВ рдЬреЛ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдЕрдХреНрд╕рд░ рдЦреБрдж рдХреЛ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкрд╛рддрд╛ рд╣реВрдВред рдПрдХ рддреНрд╡рд░рд┐рдд рддреНрд░реБрдЯрд┐ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рд╢реБрд░реВ рд╕реЗ рд╣реА рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдпрд╣ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ, рддреЛ рдпрд╣ рдмрдбрд╝рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рддрдХ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ IME рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдореИрдВ рдХреБрдЫ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдЧрдпрд╛ рд╣реВрдБ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рд╣реИ, рдЬреЛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬреЛ рд╡реНрдпрдХреНрддрд┐ рдЙрд╕ рдЕрдиреБрднрд╡ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдЙрд╕ рдкрд░ рдЭрдВрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред

CI рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрд╣реБрдд рд╣реА рдирд┐рдпрддрд╛рддреНрдордХ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЧрд▓рддреА рд╕реЗ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдкреАрдЖрд░-рдЯрд╛рдЗрдо рдЗрдореЛ рдореЗрдВ рдЦрд░рд╛рдм рдкрдХрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реАрдЖрдИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЬрдм рддрдХ рдпрд╣ рдмрд┐рд▓реНрдб / рд╕реАрдЖрдИ рд╕реЗрд╡рд╛ рдореЗрдВ рдЖрддрд╛ рд╣реИ рддрдм рддрдХ рдЖрд╡реЗрджрди рдПрдХ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд┐рд▓реНрдб рдХреЛ рд╡рд┐рдлрд▓ рди рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдореБрдЭреЗ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП package.json рдореЗрдВ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡реАрдХреГрдд рддрд░реАрдХрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рдорд╛рдзрд╛рди рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдЕрдзрд┐рдХ рдмреЛрдЭ рдбрд╛рд▓рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рддрд░рд╣ рдХреА рд▓реЙрдХ рдлрд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреЗ рд╕реЗ

рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдХрд░ рдЙрдирдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡реЗ рдХреБрдЫ рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╡реЗ рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд░реЛрдХреВ рдкрд░ рдзрдХреНрдХрд╛ рджреЗрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ

рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓: рдХреНрдпрд╛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд╣рд╛рдВ yarn install рдпрд╛ yarn add рдЬрдмрдХрд┐ package-lock.json рдореМрдЬреВрдж рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдЧрд▓рддреА npm install рдФрд░ yarn.lock

рдПрдирдкреАрдПрдо рд╕реЗ рдпрд╛рд░реНрди рдХреА рдУрд░ рдкрд▓рд╛рдпрди, рдпрд╛ рдпрд╛рд░реНрди рд╕реЗ рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП, рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдШрд░реНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдБред

рдПрдХ рдмрд╛рдд рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдп рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо engine рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИрдВред рдмрд┐рдирд╛ рдкрд┐рди рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкрд┐рди рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреНрд░реБрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдЕрдкрдиреА рдкрд╕рдВрдж рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред

рдЗрдВрдЬрди рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдПрдХ рдФрд░ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ-рдХрд╣реАрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдпрд╣ рдирд┐рдпрдорд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред

рдЗрдВрдЬрди рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдПрдХ рдФрд░ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ-рдХрд╣реАрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдпрд╣ рдирд┐рдпрдорд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдХреЛрдИ engine рдлрд╝реАрд▓реНрдб рд╣реИ рдпрд╛ рдЖрдк engines рд╕рдВрджрд░реНрдн рджреЗ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ engine рд╕рдВрджрд░реНрдн рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рдбреЙрдХреНрд╕ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБ рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рд╣рдо engines рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ: https://devcenter.heroku.com/articles/nodejs-support#specifying -an-npm-version

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  "engines": {
    "npm": "5.6.x"
  }

рдХреБрдЫ рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:

  • рдЖрдЬ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЪреАрдЬреЗрдВ рджрд┐рдЦрддреА рд╣реИрдВ: рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ npm рдФрд░ yarn рдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╛ рдПрдХ npm рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрдирдХреЗ рдкрд╛рд╕ yarn.lock ред npm рдФрд░ yarn рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдХреНрд╕рд░ рдирд╡реАрдиреАрдХрд░рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред

  • рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрднреА рдирд╣реАрдВ рдЫреВрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдкреБрд░рд╛рдиреА рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ Node 0.10 рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЬреЛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдиреЛрдбрдЬреНрд╕ рдУрдЖрд░рдЬреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╣рд░реЛрдХреВ рдкрд░ рдЧреИрд░-рддреБрдЪреНрдЫ рдореБрджреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

  • рдЯреАрдореЗрдВ рдЕрдХреНрд╕рд░ рд╕рдордиреНрд╡рдп рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реИрдВред рдиреЛрдб рдпрд╛ рдПрдирдкреАрдПрдо рдпрд╛ рдпрд╛рд░реНрди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЕрдХреНрд╕рд░ рд╡рд╣ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рдерд╛ рдпрд╛ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЯреВрдЯ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдерд╛ред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ npm / рдпрд╛рд░реНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢реБрд░реБрдЖрддреА рд╣реИрдВ, рдФрд░ рдпрд╣ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдмрд╛рдзрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

Ex: "рдореИрдВрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣реИрд▓реЛ-рд╡рд░реНрд▓реНрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд▓реЛрди рдХрд┐рдпрд╛, рдиреЛрдб рдХреЛ https://nodejs.org рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛"

рд╕рднреА рдиреЗ рдХрд╣рд╛ рдХрд┐, рдореИрдВ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ, рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ, рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ рдЕрдЧрд░ рдЙрдкрдХрд░рдг рд╕рдЦреНрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ engines рдореЗрдВ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рд╣рд░ рджрд┐рди рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

рд╕рднреА рдиреЗ рдХрд╣рд╛ рдХрд┐, рдореИрдВ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ, рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ, рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ рдЕрдЧрд░ рдЙрдкрдХрд░рдг рд╕рдЦреНрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рд╣рд░ рджрд┐рди рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

AFAIK рдпрд╛рд░реНрди рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдЦреНрддреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзреНрд╡рдЬ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

рдЯреАрдореЗрдВ рдЕрдХреНрд╕рд░ рд╕рдордиреНрд╡рдп рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реИрдВред рдиреЛрдб рдпрд╛ рдПрдирдкреАрдПрдо рдпрд╛ рдпрд╛рд░реНрди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЕрдХреНрд╕рд░ рд╡рд╣ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рдерд╛ рдпрд╛ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЯреВрдЯ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдерд╛ред

рдпрд╣ рдХрд╛рдлреА рдЦрддрд░рдирд╛рдХ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдпрд╛рд░реНрди рдХреЗ рд╕рдорд╛рди рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ npm / рдпрд╛рд░реНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢реБрд░реБрдЖрддреА рд╣реИрдВ, рдФрд░ рдпрд╣ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдмрд╛рдзрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдпрд╛рд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ (рдФрд░ рдпрд╣ рднреА npm, рдЕрдЧрд░ рд╡реЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ) "yarn": "^<current_version>" рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ engines рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдШрд░реНрд╖рдг рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рд╕реБрд░рдХреНрд╖рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? yarn init , yarn import рдЪрд▓рдиреЗ рдкрд░ рдпрд╛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдпрд╛рд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╛рд░реНрди рдореЗрдВ package-lock.json рдкрд╛рд░реНрд╕рд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ рддреЛ yarn.lock рдкреИрджрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХреЗ рдмреАрдЪ рдПрдХ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@thatlittlegit рдЖрдк рддрдм https://github.com/yarnpkg/yarn/pull/5745 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд░ рдкреНрд░рд╕рдиреНрди рд╣реЛрдВрдЧреЗред (npm рд░рд┐рд╡рд░реНрд╕ рдореЗрдВ рднреА рдРрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдРрд╕реА рдЬрдЧрд╣ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдЬрд╣рд╛рдВ рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рддрд░рд╣ рдХреА рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЖрдк рдХреМрди рд╕рд╛ рдЯреВрд▓ рдЪреБрдирддреЗ рд╣реИрдВред)

рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд: рдПрдХ рдПрдХрд▓ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдФрд░ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдХреА рдХрдореА рдХреЗ рдмреАрдЪ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реЗрдбрдСрдлрд╝ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдкрд░рд╕реНрдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдХреЗ рдПрдХ рдЯрди рдХреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЯреНрд░реЗрдбрдСрдлрд╝ рдмрдирд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдПрдХ рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@ рдПрдирд╡рд╛рдИрдХреЗ рдЗрдВрдЬрди рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдХреБрдЫ рдЗрддрд┐рд╣рд╛рд╕ рд╢рд╛рдпрдж рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛:

рдореЗрдВ NPM @ 1 рдФрд░ NPM @ 2 , рд╣рдо рдерд╛ рдПрдХ package.json рдмреБрд▓рд╛рдпрд╛ engineStrict рдХреЗ рдЕрд▓рд╛рд╡рд╛ engine рдХреНрд╖реЗрддреНрд░реЛрдВред рдпрджрд┐ engineStrict рд╕рддреНрдп рдереЗ, рддреЛ рдЗрдВрдЬрди рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ _resolution constraint_ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╕реЗрд╡рд░ рд░реЗрдВрдЬ рдХреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рджреЗрдВ, рдЕрд╕рдВрдЧрдд рдЗрдВрдЬрди рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ npm install foo рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдФрд░ [email protected] рднрд▓реЗ рд╣реА [email protected] рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдЕрдЧрд░ [email protected] рдЖрдкрдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдереЗред рдпрд╣ _seems_ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реБрдкрд░ рднреНрд░рд╛рдордХ рдерд╛, рдЦрд╛рд╕рдХрд░ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдбреЙрдХреНрд╕ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдереЗред

рдпрджрд┐ engineStrict рдЭреВрдареЗ рдереЗ, рддреЛ рдЗрдВрдЬрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрдХрд▓реНрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рд╕рдВрдЧрдд рдирд╣реАрдВ рдерд╛ рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА рдЧрдИ рдереАред

ALSO рдПрдХ engine-strict рдХреЙрдиреНрдлрд┐рдЧрд░ рд╡рд┐рдХрд▓реНрдк рдерд╛, рдЬрд┐рд╕рдиреЗ package.json рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред

Npm @ 3 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╣рдордиреЗ engineStrict package.json рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ engine-strict рдХреЙрдиреНрдлрд┐рдЧрд░ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдЕрдм рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓реНрдк рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред

engine рдлрд╝реАрд▓реНрдб рди рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╕рдВрдХреНрд░рдордгреАрдп рднреА рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рд╕реНрддреБрдд рд╣реИ yarn рдЗрдВрдЬрди рдзреНрд╡рдЬ рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗрд╡рд▓ рдпрд╛рд░реНрди рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдорд╛рдорд▓рд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рдЕрдЧрд▓реЗ yarn рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣рдореЗрдВ package-lock.json рд╕реЗ yarn.lock рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдореИрдВ рдЪреЗрддрд╛рд╡рдиреА / рддреНрд░реБрдЯрд┐ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ: рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдХ рдПрдХрд▓ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП package-lock.json рдФрд░ yarn.lock рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рдПрдХ рдРрд╕реЗ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрдЬрд╛рдп рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реВрдВ)ред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдКрдкрд░ @iarna рдХреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, engine рдлрд╝реАрд▓реНрдб рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд┐рд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рддреЛ IMO, рдпрд╣ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХреНрд░рд┐рдпрд╛ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдпрд╛ рдЙрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдЧреАред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЯреВрдЯрдиреЗ рд╡рд╛рд▓рд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред рдпрд╛рд░реНрди рдХреА рдУрд░ рд╕реЗ, рдореИрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рддрдХ рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╢рд╛рдпрдж рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдХрд░ рдЬреЛ рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдПрдХ рд╕рд╛рде рдореМрдЬреВрдж рд╣)ред

рд╣рд░ рдХреЛрдИ рдХреНрдпрд╛ рд╕реЛрдЪрддрд╛ рд╣реИ? @jmorrell , @BYK , @arcanis , @iarna?

рдпрд╣ рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЛ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╛рд░реНрди рдХреЛ рдПрдХ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реАрдпрддрд╛ рдкрд░ рдЯрд┐рдХрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╛рд░реНрди NPM рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдпрд╣ рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ?

@BrainBacon рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд▓реЙрдХ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рд░ рдХреЛрдИ рдПрдХ рд╣реА рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА yarn.lock рдФрд░ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ npm install рдЪрд▓рд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╡реНрдпрдХреНрддрд┐ рдЕрднреА рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдирд╣реАрдВ, рдпрд╣ рдЕрдВрдд-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реАрдпрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ - рдЕрдзрд┐рдорд╛рдирддрдГ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╣рд░ рдХреЛрдИ рдПрдХ рд╣реА рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рджреЛ рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╡реЗ рдПрдХ рд╣реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

(рдбреНрд░реЙрдк-рдЗрди рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рднрд╛рдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рдерд╛ рдЬрдм npm рдиреЗ рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдВ рдЦреЛ рдЬрд╛рдиреЗ рдХреА рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдереАред рдпрд╣ рдЕрднреА рднреА рд╕рдЪ рд╣реИ рдЕрдЧрд░ # 5745 рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╛рд░реНрди рдЕрдм package-lock.json рдЖрдзрд╛рд░ рдкрд░ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред "

рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЛ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╛рд░реНрди рдХреЛ рдПрдХ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реАрдпрддрд╛ рдкрд░ рдЯрд┐рдХрд╛ рд╣реИред

рдпрд╛рд░реНрди рдЙрдЬрд╛рдЧрд░ рдПрдкреАрдЖрдИ рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдПрдХ рд╕реАрдзреЗ рдКрдкрд░ рдбреНрд░реЙрдк-рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИред yarn add <pkg> vs npm install <pkg> рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдБ рд╣рдо рдЪреАрдЬреЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рд╣реА рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдпрд╣ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдХрд░рдг рд╣реИрдВ рдФрд░ рдХрднреА-рдХрднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдзрд╛рди рд╣реЛрддреЗ рд╣реИрдВред

yarn.lock рдмрдирд╛рдо package-lock.json рдЙрди рдорддрднреЗрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рди рддреЛ рдпрд╛рд░реНрди рдФрд░ рди рд╣реА npm рдПрдХ рдПрдХрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

рдпрд╛рд░реНрди рдХреА рдУрд░, рдореИрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)

рдореИрдВ рдЗрд╕ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

WARN Your project seem to contain lock files (package-lock.json, shrinkwrap.json) generated
WARN by other tools than Yarn. It is advised not to mix package managers, in order to avoid
WARN resolution inconsistencies caused by desynchronized lock files.

рдХреНрдпрд╛ рдХреЛрдИ рдкреАрдЖрд░ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?

рдореИрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ рдХрд┐ рдПрдХ рдкреАрдЖрд░ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ :)

рдХреНрдпрд╛ рд╡рд╛рдВрдЫрд┐рдд рдЕрдВрдд-рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рддреНрд░реБрдЯрд┐ рд╣реИ рдЬрдм package-lock.json рдореМрдЬреВрдж рд╣реИ + yarn import ? рдореЗрд░реА рд╕рдордЭ рдпрд╣ рдереА рдХрд┐ @ рдХрд░реНрдг рдЗрд╕ рдмрд╛рдд рдХреА рд╡рдХрд╛рд▓рдд рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рдкрд░реАрдд

рдпреВрдЬрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рджреЛрдиреЛрдВ рдиреЗ рдПрдХ рд╣реА рд░рдгрдиреАрддрд┐ рдХреЛ рдЪреБрдирд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдордЭреМрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдЧрд░ рд▓реЛрдЧ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ)ред

@jmorrell - рдореЗрд░реА рд╕рдордЭ рдпрд╣ рдереА рдХрд┐ рд╣рдо рд╕рд╣рдордд рдереЗ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдпрд╣рд╛рдБ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдЬреНрдпрд╛рджрд╛рддрд░ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рджреЛ рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЗ рдмреАрдЪ рдбреЗрд▓реНрдЯрд╛ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдЬрдм рдореИрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЬреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдЬрдм рдЕрдиреНрдп рд▓реЙрдХрдлрд╛рдЗрд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЗрд╕рдореЗрдВ рдХреМрди рд╕реЗ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗ рдЬреЛ рдореЗрд░реЗ рдореБрдЦреНрдп рд▓реЙрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝ рджреЗрдВред рд╢рд╛рдпрдж рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ import рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд░реВрд░реА рдирд╣реАрдВред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ npm рд▓реЛрдЧ рдЗрд╕ рдкрд░ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ?

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рдЕрдирд┐рд░реНрдгрд┐рдд рд╕реНрдерд┐рддрд┐ (рд╢рдмреНрджрд╛рдВрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛) рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдпрд╛рд░реНрди рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░реЗрдВрдЧреЗред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред @arcanis - рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдпрд╛ рдЖрдк warning рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рд░рд╣реЗрдВрдЧреЗ?

рдпрджрд┐ рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдПрдХ error рдЬрдм рдХрдИ рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрдХрдбрд╝ рд▓реЗрдВрдЧреЗ, рдЬрдмрдХрд┐ рдпрд╣ рдЕрднреА рднреА "рдЫреЛрдЯрд╛" рд╣реИ рдФрд░ рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЖрдпрд╛рдд рдХреА рдорджрдж рд╕реЗ) ред

@arcanis npm add <pkg> рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдз рд╣реИ рдФрд░ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдпрд╛рд░реНрди # рдХрд░рддрд╛ рд╣реИ

рдЬрд╣рд╛рдБ рддрдХ pkglock рдмрдирд╛рдо рдпрд╛рд░реНрдирд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ, package-lock.json рдХрд╛ рдореВрд▓ рдЗрд░рд╛рджрд╛ рдПрдХ рдРрд╕рд╛ рдкреНрд░рд╛рд░реВрдк рдмрдирд╛рдирд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдпрд╛ рддреЛ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, npm@6 рд░реВрдк рдореЗрдВ pkglock рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдПрдХ рдпреЛрдЬрдХ рдХреЗ рдмрд┐рдирд╛ рдпрд╛рд░реНрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореЗрдЯрд╛рдбрд╛рдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрдг рдкреЗрдбрд╝ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ _intentionally_ (рдЬреИрд╕реЗ requires рдлрд╝реАрд▓реНрдб), рдФрд░ рд╣рдордиреЗ рдпрд╛рд░реНрди рдФрд░ pnpm рджреЛрдиреЛрдВ рдЯреАрдореЛрдВ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЬреЛ рдХреБрдЫ рднреА рд╣рдордиреЗ рдХрд┐рдпрд╛ рд╡рд╣ рджреЛрдиреЛрдВ рдПрдХ рдЖрдпрд╛рдд рддрд╛рд▓рд╛рдмрдВрджреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рдпрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╛рд░реНрди .рд▓реЙрдХ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рдиреБрдХрд╕рд╛рдирджреЗрд╣ рд╕рдмрд╕реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд▓рдЯрд╛ рд╕рдЪ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рди рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред npm рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╛рд░реНрди-рдЧрдгрдирд╛ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝ рдХреЗ рдЖрдХрд╛рд░ (рдпрд╛рд░реНрди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬреЛ рдирд╣реАрдВ рд╣реЛрдЧрд╛) рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, npm @ 6 рдХреЗ рд░реВрдк рдореЗрдВ pkglock рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдПрдХ рдпрд╛рд░реНрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрд┐рдирд╛ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдкреЗрдбрд╝ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд╣реВрдВ, рдХрд┐рд╕реА рднреА рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реВрдВ)ред рдпрд╛рд░реНрди рд▓реЙрдХрдлрд╛рдЗрд▓ рдПрдХрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ lodash@^1.0.0 рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреИрдХреЗрдЬ рд╣реИрдВ, рддреЛ рд╡реЗ рд╕рднреА рдареАрдХ рдЙрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рди рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрдХреВрд▓рди рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рдПрдиреНрдХреЛрдб рдХрд░рддреЗ рд╣реИрдВред

рдПрдирдкреАрдПрдо рд▓реЙрдХрдлрд╛рдЗрд▓ рдПрдХ рдкреЗрдбрд╝ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрдИ рд╕рдорд╛рди рд░реЗрдВрдЬ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ (рдЬреЛ рдареАрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдиреЛрдб рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдирд┐рдпрдореЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдХрд░ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ)ред рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдкреИрдХреЗрдЬ- lock.json -> рдпрд╛рд░реНрди.рд▓реЙрдХ рд░реВрдкрд╛рдВрддрд░рдг рд╣рд╛рдирд┐рдкреНрд░рдж рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдПрдХрд▓ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рджреВрд╕рд░реА рдУрд░, рдПрдХ рдпрд╛рд░реНрди рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдзрд┐рдХред рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдирд┐рдпрдо рдЖрдкрдХреЗ рдПрдХ рд╕рдЦреНрдд рдЙрдкрд╕рдореБрдЪреНрдЪрдп рд╣реИрдВ (рд╣рдорд╛рд░реА рдорд░реНрдЬ рдХреА рдЧрдИ рд╕реАрдорд╛рдПрдВ рдмрд┐рдирд╛ рдиреБрдХрд╕рд╛рди рдХреЗ рдкреЗрдбрд╝ рдореЗрдВ рддрдмреНрджреАрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдПрдХ рдкреЗрдбрд╝ рдХреЛ рддрдмреНрджреАрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╡рд┐рд▓рдп рд░реЗрдВрдЬ)ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреЗрдбрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдЖрдкрдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

рд╕рдЪ рдХрд╣реВрдВ рддреЛ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╣реА рдмрд╛рдд рдХрд╣реЗрдВ рдпрд╛ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ, рдореИрдВ рд╕рд┐рд░реНрдл рд╕реНрдерд┐рддрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ entirely

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рдЕрдирд┐рд░реНрдгрд┐рдд рд╕реНрдерд┐рддрд┐ (рд╢рдмреНрджрд╛рдВрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛) рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдпрд╛рд░реНрди рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░реЗрдВрдЧреЗред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

@imsnif рдореИрдВ рдЧреИрд░-рд╕реАрдЖрдИ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рд╣реВрдВ (рд╕реАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдореИрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рд░рд╣рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдБ рдЬреЛ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рдФрд░ рд╕рдордЭрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред

рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ @jmorrell рд╣рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░

рдЬрдм рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди рдореМрдЬреВрдж + рдпрд╛рд░реНрди рдЖрдпрд╛рдд рд╣реИ рддреЛ рдХреНрдпрд╛ рд╡рд╛рдВрдЫрд┐рдд рдЕрдВрдд-рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рддреНрд░реБрдЯрд┐ рд╣реИ?

рд╣рд╛рдВ, "рдЕрдкрдЧреНрд░реЗрдб-рдЯреВ-рдПрд░рд░-рдСрди-рд╕реАрдЖрдИ" рдореЛрдб рдХреЗ рд╕рд╛рде рдпреБрдЧреНрдорд┐рдд * рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ!

(* рдпрд╣ рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ # 5773 рдпрд╛рд░реНрди 2.0 рдбрдмреНрд▓реНрдпреВрдЬреА рдореЗрдВ рдХрд░реВрдБрдЧрд╛)

@arcanis - @zkat рдХрд┐рд╕рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ @zkat рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдВ рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдпрд╛ рдЧрд▓рддрдлрд╣рдореА рд╣реВрдВ) рддреЛ рдпрд╣ рд╣реИ рдХрд┐ package-lock.json рдлрд┐рдЬрд┐рдХрд▓ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд▓реЙрдЬрд┐рдХрд▓ рдЯреНрд░реА рднреА рдмрдЪрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ yarn.lock рдХреЗрд╡рд▓ рддрд╛рд░реНрдХрд┐рдХ рдкреЗрдбрд╝ рдмрдЪрд╛рддрд╛ рд╣реИред рддреЛ рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, package-lock.json => yarn.lock => package-lock.json рдХрд░рдиреЗ рд╕реЗ рднреМрддрд┐рдХ рд╡реГрдХреНрд╖ рдХрд╛ рдбреЗрдЯрд╛ рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ IMO рдпрд╣ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрдкрд╡рд╛рдж рднреА рд╣реИрдВ: рдЙрджрд╛ред рдмрдВрдбрд▓реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ред

рдореЗрд░реА рдирд┐рдЬреА рд░рд╛рдп рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рднреМрддрд┐рдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЬреЛ рджреЗрдЦрд╛ рд╣реИ, рдЙрд╕рд╕реЗ рд╣рдо рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рдпрдо рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рднреМрддрд┐рдХ рдкреЗрдбрд╝ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреЛрдиреЛрдВ рдЙрдирдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╕рднреА рд╣рд┐рддрдзрд╛рд░рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреЛрдиреЛрдВ рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛, рдХреБрдЫ рдореБрджреНрджреЗ yarn рдмрдВрдбрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдЗрд╕рдХреА рдЕрдиреВрдареА quirks рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐, рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдХрд╛рдлреА рдирдпрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдирд╕реЗ рдореИрдВ рдЕрдирдЬрд╛рди рд╣реВрдВ - рдореЗрд░реЗ рдорд╛рдлреА рдорд╛рдВрдЧрдиреЗ рдкрд░ рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдиреАрдВрдж рд▓реЗ рд░рд╣рд╛ рд╣реВрдВ)ред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐: @arcanis - рдореИрдВ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрдВрдмрд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рддрд░реНрдХ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрдк рдЕрд╕рд╣рдордд рд╣реИрдВ рддреЛ рд╣рдо рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рд╕реЗ рджреВрд░ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░рд╛ рд╕рдВрдмрдВрдз рд╣реИ:
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реАрдЖрдИ рд╕реНрддрд░ рдкрд░ рдЗрд╕реЗ рдкрдХрдбрд╝рд╛ рдЬрд╛рдирд╛ рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд╕рддрди) рдХрд╛рдлреА рдХрдард┐рди рд╣реЛрдЧреАред
рдпрджрд┐ рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЧрд▓рдд рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рд╡реЗ (рд╕рдВрднрд╛рд╡рдирд╛) рдПрдХ рдХрджрдо рднреА рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реЗрдВрдЧреЗред рд╡реЗ рдмрд╕ "рдЙрдлрд╝" рдХрд╣реЗрдВрдЧреЗ, рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рд╕реАрдЖрдИ рдкрд░ рдЗрд╕реЗ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕рдордп рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдмрдЪрд╛рдПрдЧрд╛ред
рдПрдХ рдЪреЗрддрд╛рд╡рдиреА (рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛рдлреА рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдореЗрдВ рдирд┐рдЧрд▓ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ 0 рд╣реЛрдиреЗ рдкрд░ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред
рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдВрдиреЗ "рд╡рд┐рджреЗрд╢реА" рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдХреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕реЗ .gitignore рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП CI рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХрд╛ рдореМрдХрд╛ рднреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рдПрдХ рдЕрдиреБрдкрд╕реНрдерд┐рдд рджрд┐рдорд╛рдЧ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдареАрдХ рд╣реИ, рдпрд╣ рдореБрдЭреЗ рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рдкрд░рд┐рд╡реЗрд╢ рдкрд░ рдХреБрдЫ рдЕрд╕реНрдкрд╖реНрдЯ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ CI рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢рд╛рдпрдж рдореЗрд░реЗ рдЕрдВрдд рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдерд╛рдиреАрдп рдореБрджреНрджрд╛ рд╣реИ - рдЖрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ"

рдПрдХ рдЪреЗрддрд╛рд╡рдиреА (рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛рдлреА рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдореЗрдВ рдирд┐рдЧрд▓ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ 0 рд╣реЛрдиреЗ рдкрд░ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдПрдХрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реЛ, рдлрд┐рд░ рдПрдХ рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп рд▓реЗрдВред рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЕрдзрд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдереА рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдирд╛ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рддреЛрдбрд╝

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк "рдореИрдВ рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ" рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рд╛рдиреА рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рджреЛрдиреЛрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдЕрдиреБрдЪрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЬреИрд╕реЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд▓реЛрдЧ рдЕрдкрдиреЗ рдпрд╛рд░реНрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ npm 6 рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдереЗ (рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╛рд░реНрди рдХреЛ рдЕрдкрдиреЗ npm рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдореЗрд░реА рдирд┐рдЬреА рд░рд╛рдп рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рднреМрддрд┐рдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИ рдХрд┐ рдпрд╛рд░реНрди npm рд╣реИ, рдЬреЛ рдЧрд▓рдд рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣реВрдВ, рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдЪреБрдкрдЪрд╛рдк рдкрд░рд┐рд╡рд░реНрддрд┐рдд (рдпрд╛ рдкрдврд╝рдирд╛) рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдЖрдкрджрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ рд╣реИ:

  • рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдЧрд╛
  • рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рд╛ / рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддреЛ рдпрд╣ рднреМрддрд┐рдХ рдкреЗрдбрд╝ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛
  • рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА (рдХрд╛рд░реНрдпрд╕реНрдерд╛рди, рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдУрд╡рд░рд░рд╛рдЗрдб, рд▓рд┐рдВрдХ :, ...)

рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдПрдХрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реЛ, рдлрд┐рд░ рдПрдХ рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп рд▓реЗрдВред рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЕрдзрд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдереА рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдирд╛ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рд╡реНрдпрд░реНрде рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдЙрд▓рдЭрди рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ

рд╕рдЪ - рдпрд╣ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдЕрдЯрдХрд▓реЗрдВ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЬреЛрд░ рдирд╣реАрдВ рджрд┐рдпрд╛)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЪреЗрддрд╛рд╡рдиреА рдлрд┐рдХреНрд╕ рдХреЗ рдЪрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдордЭ рдкрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рд╣рдо рдпрд╣ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рдЕрдЧрд░ рд╣рдо рдбреЗрдЯрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИ "рд╣рд░рдХреЛрд▓реЛрдХ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджрд░ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛" рдЬреЛ рд╣рдореЗрдВ рдХрдВрдмрд▓ рддреНрд░реБрдЯрд┐ рд╕рдорд╛рдзрд╛рди рдХреА рдУрд░ рдмрдврд╝рд╛рдПрдЧрд╛ред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд░реНрдХрдлреНрд▓реЛ рдХреЛ рди рддреЛрдбрд╝рдирд╛ рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ 2.0.0 рдореЗрдВ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛, рдЪреЗрддрд╛рд╡рдиреА рдореЗрдВ рд╢рдмреНрджрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдЪреЗрдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдкрджрд╛рд╡рдирдд рд╣реИред рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --force рдпрд╛ рдХреЙрдиреНрдлрд┐рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред (рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреА рдЪрд┐рдВрддрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ?)

рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИ рдХрд┐ рдпрд╛рд░реНрди npm рд╣реИ, рдЬреЛ рдЧрд▓рдд рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣реВрдВ, рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдЪреБрдкрдЪрд╛рдк рдкрд░рд┐рд╡рд░реНрддрд┐рдд (рдпрд╛ рдкрдврд╝рдирд╛) рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдЖрдкрджрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдЙрдард╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рдореИрдВ рдмрд╛рддрдЪреАрдд рдХреЛ рдкрдЯрд░реА рд╕реЗ рдирд╣реАрдВ рдЙрддрд╛рд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рд╢рд╛рдпрдж рд╣рдо рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдмрд╛рддрдЪреАрдд рдереЛрдбрд╝реА рдкрдЯрд░реА рд╕реЗ рдЙрддрд░ рдЧрдИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгреЛрдВ рдФрд░ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд╕рд╛рде рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  1. рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдФрд░ рдлрд┐рдЬрд┐рдХрд▓ рдЯреНрд░реА рдХреНрд░рд┐рдПрд╢рди рд╕реНрдЯреНрд░реИрдЯреЗрдЬреА рд╣реИ рдФрд░ рдпрд╣ рджреЛрдиреЛрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдЖрдиреЗ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рд╣реИред
  2. рджреЛрдиреЛрдВ yarn.lock рдФрд░ package-lock.json рдлрд╛рдЗрд▓реЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░ рдмрдирд╛рдИ рдЧрдИ рдереАрдВ рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдпреЗ рд▓рдХреНрд╖реНрдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдУрд╡рд░рд▓реИрдк рд╣реИрдВред
  3. рдЗрди рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд╡реЗ рдмрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЛрдВ рдХрд╛ рд╡реНрдпрд╛рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рдЗрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╡рд╛рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЬрд░реВрд░рдд рд╣реИ рдирд┐: рд╢реБрд▓реНрдХ рдкреНрд░рдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреА рд░рдгрдиреАрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдП рдмрд┐рдирд╛ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рдмреАрдЪ рдиреНрдпреВрдирддрдо рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИред

рдореИрдВ рдЕрдиреНрдп рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкрд╛рд╡рддреА рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдЪрд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЙрдЪрд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╕рдВрд░рдХреНрд╖рдг рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдХреНрд╖ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рдЦреЛ рдЧрдпрд╛ рд╣реИред рддреЛ рдЕрдм рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдпрд╣рд╛рдБ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреНрдпрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдпрд╛рд░реНрди рдЪрд▓рд╛рдиреЗ рдкрд░ рдЙрдирдХреЗ рд░реЗрдкреЛ рдореЗрдВ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдСрдЯреЛ рд░реВрдкрд╛рдВрддрд░рдг рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЦрддрд░рдирд╛рдХ рд╣реИ рдФрд░ рдПрдХ рддрд░рд╣ рд╕реЗ рдмрд┐рдирд╛ рдЕрд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╛рд░реНрди рдХреЛ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдпрд╛рд░реНрди рддрдХ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ, рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ "рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЧрдбрд╝рдмрдбрд╝реА рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ"ред

рд╡рд┐рдЪрд╛рд░?

рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╛рд░реНрди рдХреЛ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдпрд╛рд░реНрди рддрдХ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ, рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ "рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЧрдбрд╝рдмрдбрд╝реА рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ"ред

@ NYK - рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдПрдХ рдЬреЛрдбрд╝ рдХреЗ рд╕рд╛рде: рдЬреИрд╕рд╛ рдХрд┐ @arcanis рдиреЗ рдореБрдЭреЗ рдпрд╣рд╛рдБ рдФрд░ рдХрд▓рд╣ рдкрд░ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдиреЙрди-рд╕реАрдЖрдЗ рдореЛрдб рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝ рджреА рдЬрд╛рдП рдЬрдм рдХреЙрдиреНрдлрд┐рдЧ рдлреНрд▓реИрдЧ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рддрд╛рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреЗ рд╕реАрдЖрдИ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЬрд╛рдирдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓ рд╕рдХреЗ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╡реЗ рдзрдХреНрдХрд╛ рджреЗрдВ (рдФрд░ package-lock.json .gitignore рдореЗрдВ рд╣реЛрдиреЗ рд╕реЗ рднреА рдмрдЪрд╛рд╡ рдХрд░реЗрдВ)ред

@arnif @ @ рдХреЗ рд░реВрдк рдореЗрдВ @imsnif рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛: pkglock рдореЗрдВ _both_ рдкреЗрдбрд╝ рдХрд╛ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рднреМрддрд┐рдХ рд▓реЗрдЖрдЙрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИред рдкреЗрдбрд╝ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ (рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рд╣рдо рдХрдЯреЗ рд╣реБрдП рд╣реИрдВ), рдЖрдк рдПрдХ рдпрд╛рд░реНрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди-рдореЗрдореЛрд░реА рдЗрдирд╕реНрдЯреЙрд▓ рдпрд╛ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд▓реЙрдЬрд┐рдХ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВред рдмрд╕ рдкреЗрдбрд╝ рджрд┐рдЦрддрд╛ рд╣реИ :)

рдПрдирдкреАрдПрдо 5 рдЬрд╛рд░реА рдиреЛрдЯреЛрдВ рд╕реЗ:

рдХреНрд░реЙрд╕-рдкреИрдХреЗрдЬ-рдореИрдиреЗрдЬрд░ рд╕рдВрдЧрддрддрд╛ (рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди) рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛, рдорд╛рдирдХреАрдХреГрдд рд▓реЙрдХрдлрд╛рдЗрд▓ рд╕реБрд╡рд┐рдзрд╛

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдирдкреАрдПрдо рдЯреАрдо рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ package-lock.json рд╡рд┐рдЬреНрдЮрд╛рдкрди рджреЗрддреА рд╣реИ; рдХреНрдпрд╛ рдпрд╣ (рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ) рдЙрд╕ рдмрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдореИрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ "рдЬрдм рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рддреЛ рдХреЗрд╡рд▓ package-lock.json рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛"ред рдореВрд▓ рд░реВрдк рд╕реЗ NPM "рд╕рд┐рдХреБрдбрд╝реА рд╣реБрдИ" рд╕реЗ рд╕рд┐рдХреБрдбрд╝ рдХрд░ рд▓реЙрдХ рдЬреЛрдВрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ NPM рдЯреАрдо рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдХрд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд░рддреА рд╣реИред рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ; рдХреНрдпрд╛ рдпрд╣ (рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ) рдЙрд╕ рдмрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ, рдХреГрдкрдпрд╛ рд╢реЗрд╖ рдереНрд░реЗрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк "рдореИрдВ рдПрдХ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ" рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рд╛рдиреА рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рд▓рдЧрд╛рддрд╛рд░ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧред рдореИрдВрдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдкрд╣рд▓реЗ рдпрд╛рд░реНрди рдЙрдард╛рдпрд╛ рдФрд░ рдкреАрдЫреЗ рдореБрдбрд╝рдХрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдХ рдлрд╛рдЗрд▓реЗрдВ рдХреНрдпреЛрдВ рд╣реИрдВ рдЗрд╕рдХреА рдЧрдВрднреАрд░рддрд╛ рдХреЗ рдкреАрдЫреЗ рдХреБрдЫ рд╡рдЬрди рдлреЗрдВрдХрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЗрд╕реЗ рдПрдХ рдРрд╕реА рддреНрд░реБрдЯрд┐ рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рд▓реЙрдХ рдлрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдЖрдВрдХрдбрд╝реЗ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╛рд░реНрди рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреА npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдорд┐рд╢реНрд░рд┐рдд _projects_ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ npm рд╣реИрдВ рдФрд░ рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдпрд╛рд░реНрди рд╣реИрдВ, рдпрд╣ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рдФрд░ рдЬрдЯрд┐рд▓ рдХрд░рддреЗ рд╣реБрдП, рд╕реАрдзреЗ npm рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдореИрдВ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдореЗрдВ package-lock.json рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдореИрдВ yarn.lock рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ред yarn import рдзреАрдорд╛ рдФрд░ / рдпрд╛ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реА
_only_ рд╡рд┐рдХрд▓реНрдк рдпрд╛рд░реНрди рдХреЛ рдЦреЛрджрдирд╛ рдФрд░ npm рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╛рд░реНрди рдХреЗрд╡рд▓ рдпрд╛рд░реНрди-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди-рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рд╕рдм рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХрд╛ рдХреНрдпрд╛?

рдЕрд░реЗ @Spongman - yarn import рдЯреВрдЯрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЕрдм рдЖрдкрдХреЗ рд▓рд┐рдП package-lock.json рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ!

рдореИрдВрдиреЗ # 6103 рдХрд┐рдпрд╛

рдЕрд░реЗ @Spongman - рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА, рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓рд╛ рдПрдХ рджреВрд╖рд┐рдд package-lock.json ред рдореБрдЭреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред

npm рдЙрд╕ package-lock.json рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рд░реНрди рдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдиреНрдп рдореБрджреНрджреЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ - рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдЪрд░реНрдЪрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗред рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдзреНрдпрд╛рди рд╕реЗ https://github.com/yarnpkg/yarn/issues/3614 (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 254: +1: s) рдХреЗ рд╕рд╛рде рднрд╛рдЧ рд▓реЗ рд░рд╣рд╛ рдерд╛ред рд╡рд╣ рдореБрджреНрджрд╛ рдЕрдм рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдВ рдЪрд▓реА рдЧрдИ рд╣реИред

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд╣реБрдП, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЕрдм рддрдХ рд╢реАрд░реНрд╖ рдкрд░ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди @thatlittlegit рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХреЗ рдмреАрдЪ рдПрдХ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬреЛ @BrainBacon рдХреЗ рдмрд┐рдВрджреБ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ:

рдпрд╣ рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд┐рд░, рдПрдХ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдЕрдирджреЗрдЦреА, рдЗрд╕ рдХреЗ рд▓рд┐рдП рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЬрд╡рд╛рдмреА рддрд░реНрдХ @iarna рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдФрд░ @jhabidas рдЕрдиреНрдп рд╕реВрддреНрд░ рдореЗрдВ ):

рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдХреЗ рдПрдХ рдЯрди рдХреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реЗрдбрдСрдлрд╝ рдмрдирд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдПрдХ рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рддрд░реНрдХ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ (95: +1: s, 2: -1: s):

рд╣рд╛рдВ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдпрд╛рд░реНрди рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ, рдЕрдкрдирд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрдерд╛рди рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдмреЗрд╣рддрд░ рдЕрдиреБрднрд╡ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╛рд░реНрди рдХрд╛ рд╕реАрдПрд▓рдЖрдИ рдЬрд╛рдирдмреВрдЭрдХрд░ рдПрдирдкреАрдПрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдХ рдлрд╛рдЗрд▓реЗрдВ рдЙрд╕ рдЬрдЧрд╣ рдХреЗ рдмрд╛рд╣рд░ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╛рд░реНрди рддрд░реНрдХрд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдмрдирд╛рдП рд░рдЦ рд╕рдХрддрд╛ рд╣реИред package-lock.json рдФрд░ composer.lock рднрдВрдбрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ, package.json рдФрд░ composer.json ред рдпреЗ рдЙрдкрдХрд░рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рд╡реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рд╕рдЯреАрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред

...

рдпрд╛рд░реНрди рдПрдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдорд╛рдирдХ рдореЙрдбрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЙрдкрдХрд░рдг-рдЕрдЬреНрдЮреЗрдп рд░рд╣ рд╕рдХрддреА рд╣реИред рдЬреЛ, рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╛рд░реНрди package.json рд╢реАрд░реНрд╖ рдкрд░ рдХреНрдпреЛрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреА рдЕрдкрдиреА рдЕрд▓рдЧ рдирд┐рд░реНрднрд░рддрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдереАред

рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрднреА рднреА рдЕрдкрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ - рдпрджрд┐ рдпрд╛рд░реНрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЙрд╕реА package.json рдирд┐рд░реНрднрд░рддрд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЙрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдорд╛рди package-lock.json рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред , рдЗрд╕рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЙрдкрдХрд░рдг-рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд░рд╣ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдпрд╛рд░реНрди рд╕реЗ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрдврд╝рдиреЗ yarn.json рдХреЗ рдмрдЬрд╛рдп package.json рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдмрдирд╛рдиреЗ рд░рдЦрдиреЗ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рд╣реИ, рд╕рд╣рдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ @iarna рдХрд╛ рдЕрдиреНрдп рдмрд┐рдВрджреБ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ:

рдПрдХ рдПрдХрд▓ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдФрд░ рдЖрдо рд╕рд╣рдорддрд┐ рдХреА рдХрдореА рдХреЗ рдмреАрдЪ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реЗрдбрдСрдлрд╝ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ

(рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ рдХрд┐ "рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдкрд░рд╕реНрдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ")ред

рдпрджрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЙрдкрдХрд░рдг-рдЕрдЬреНрдЮреЗрдп рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рдЖрджрд░реНрд╢ рдкрд░рд┐рджреГрд╢реНрдп рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ (рдФрд░ рдореИрдВ рдХрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреИрд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ), рддреЛ рд╣рдо рдХрд╣рд╛рдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдмрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдкреИрд▓реЗрдЯреЗрдмрд▓, рдЬреЛ рд╣реИ:

  • рдПрдирдкреАрдПрдо / рдпрд╛рд░реНрди рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░реЗрдЧрд╛ рдпрджрд┐ рд╡реЗ рджреВрд╕рд░реЗ рдХреЗ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рд╕реНрдкреЙрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдФрд░ рдЗрд╕реЗ рддреНрд░реБрдЯрд┐ рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╡рд┐рдХрд▓реНрдк)
  • рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдПрдХ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рджреВрд╕рд░реЗ рдХреЗ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдФрд░ рдкреАрдЫреЗ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдХрд┐рд╕ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ git commit -a рд╕рд╛рде рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ)ред

рдореИрдВ @imsnif рдХреА рдмрд╛рдд рд╕реЗ рднреА рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдБ:

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬреЙрди рдФрд░ рдпрд╛рд░реНрди.рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрдп рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░, рдпрд╛ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреНрдпрд╛ рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдирдореНрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рд╕рднреА рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рд╣реА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рджреЗрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╛рд░реНрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдкрд╛рддрд╛ рд╣реИред рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рдЖрдк рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдореБрджрд╛рдп рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдЙрдардирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдирдкреАрдПрдо рдФрд░ рдпрд╛рд░реНрди рдХреЗрд╡рд▓ package.json рд╕реЗ рд╕рдорд╛рди рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рджреЗрд╡ рдХреЛ package.json рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдЧреЗ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рд╕рдВрдШрд░реНрд╖ рдХреЗ рдЕрдХреЗрд▓реЗ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛ рдорд╛рдорд▓рд╛ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред

рдЕрд░реЗ @nottrobin - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдФрд░ рджрд╛рд░реНрд╢рдирд┐рдХ рдорддрднреЗрджреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрд╛ рд╕реЗрд╡рди рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ)ред

рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рд╣рдордд рдереЗ рдХрд┐ рджрд╛рд░реНрд╢рдирд┐рдХ рдорддрднреЗрдж рдЕрдкрдиреЗ рд╕реНрдерд╛рди рдкрд░ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬрд┐рд╕ рд╕рдордЭреМрддреЗ рдкрд░ рдЖрдП рдереЗ (рдЬреЛ рдЖрдкрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд┐рдпрд╛ рд╣реИ) рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛" рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдХреНрдд рд╕рдордЭреМрддреЗ рдореЗрдВ рдПрдХ рдЫрд┐рдкреА рд╣реБрдИ рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдг рдХреА рдкрд╕рдВрдж рдПрдХ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐ рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрди рдпрд╛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдИ рдЧрдИ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдХреНрдд рд╕рдордЭреМрддреЗ рдореЗрдВ рдПрдХ рдЫрд┐рдкреА рд╣реБрдИ рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдг рдХреА рдкрд╕рдВрдж рдПрдХ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐ рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрди рдпрд╛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдИ рдЧрдИ рд╣реИред

рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЪрд┐рдВрддрд┐рдд рдХрд░рддрд╛ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдореИрдВрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рдореЗрдВ рдЕрднреА рднреА рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рджреЛрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдорд░реНрдерди рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрддрдГ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЙрдкрдХрд░рдг-рдЕрдЬреНрдЮреЗрдп рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдорд┐рд╢рди рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛рд░реНрди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП yarn.json рдХреЗ рдмрдЬрд╛рдп package.json ред рдХреБрдЫ рднреА рдФрд░ рд╕рд┐рд░реНрдл рдЧрдбрд╝рдмрдбрд╝ рдФрд░ рднреНрд░рдорд┐рдд рд╣реИред

рдпрджрд┐ npm рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдПрдХ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ рдЬреЛ рдпрд╛рд░реНрди рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╛рд░реНрди рдореЗрдВ рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдпрд╛рд░реНрди рдХреЛ рдкреИрдХреЗрдЬ.рдЬреЙрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╛рд░реНрди рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдВрдЫрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕реА рддрд░рд╣ рдХреБрдЫ рдПрд╕рд╡реАрдЬреА рд╕рдВрдкрд╛рджрдХреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдЗрдВрдЯрдХрд╕реНрдХреЗрдк рд╕рдВрдкрд╛рджрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ)ред рддрдм рдпрд╛рд░реНрди рдПрдирдкреАрдПрдо рдХреЗ рд╕рдорд╛рди рд╣реА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╛рд░реНрди рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рднреА рдпрд╛рд░реНрди рд╕реНрдореГрддрд┐ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдПрдирдкреАрдПрдо рд▓реЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрддрдГ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЙрдкрдХрд░рдг-рдЕрдЬреНрдЮреЗрдп рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдорд┐рд╢рди рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛рд░реНрди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП yarn.json рдХреЗ рдмрдЬрд╛рдп package.json ред рдХреБрдЫ рднреА рдФрд░ рд╕рд┐рд░реНрдл рдЧрдбрд╝рдмрдбрд╝ рдФрд░ рднреНрд░рдорд┐рдд рд╣реИред

рд╢рд╛рдпрдж, рд╢рд╛рдпрдж рдирд╣реАрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреВрд▓ (рдпрд╛рд░реНрди) рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдзрд┐рдХ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рдФрд╕рдд рджрд░реНрдЬреЗ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рд╕рд╛рде рдХрдо рдореМрд▓рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝реЗ рд╕рд╡рд╛рд▓ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред

рдЕрдм рддрдХ, рдпрд╛рд░реНрди рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ package.json рд╕рд╛рде рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП NPM рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдмрддрд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЧрд▓рддреА рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рдВрдЪ рдкреЙрдЗрдВрдЯ рд╣реИред

рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, рдЖрдЧреЗ рдХреЗ 3 рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ NPM рдХреЗ рд╕рд╛рде рдпрд╛рд░реНрди рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП NPM рдХреЗ рд▓рд┐рдП рдПрдХ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЬрд╛рд░реА рд░рдЦреЗрдВ
  2. рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛-рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдлреЗрд╕ (рдЬреИрд╕реЗ yarn.json рдФрд░ yarn.lock ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ NPM рд╕реЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╡рд┐рдЪрд▓рди рдХрд░реЗрдВ
  3. рдПрдирдкреАрдПрдо рдХреЗ рдЖрдзреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдФрд░ рдПрдХ рдЖрдзреЗ рдЕрд▓рдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдкрд░ рдбрдмрд▓ рдиреАрдЪреЗред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рдВрджреБ 2 рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдВрджреБ 1 рдЬреИрд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдкреВрд░реЗ рдиреЛрдб рд╕реНрдерд╛рди рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреЛрдиреЛрдВ рд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХрд╛рдлреА рдХрдордЬреЛрд░ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдЕрднреА рднреА рд╡рд╛рдкрд╕ рд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рд░реНрди рд╕рд┐рд░реНрдл npm рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрдирд╡рд░реНрдЯрд░ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЬрдм рдпрд╣ рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд░рдЦреЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдпрд╛рд░реНрди рдХреЗ рдЕрдирд▓реЙрдХ рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, npm рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╛рд░реНрди рдХреЗ рд▓реЙрдХрдлрд╛рдЗрд▓ рдореЗрдВ npm рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП npm рдХреЗ рд╕рд╛рде рдорд╛рдирдХреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

@nottrobin рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рд╣реА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐:

рдЕрдм, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдмрддрд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЧрд▓рддреА рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдорд╛рдорд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рд╛рдердорд┐рдХ рд▓рд╛рдн рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╛рд░реНрди рдХреЛ рд╢реБрд░реВ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдкреНрд░рдЬрдирдиред рдЖрдк рдЕрдкрдиреЗ yarn.lock рдореЗрдВ рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИ рдЕрдЧрд░ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрд╕ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддреЗ / рд╣рдЯрд╛рддреЗ рд╣реИрдВред

@nottrobin - рдореИрдВ

рднрд▓реЗ рд╣реА рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдХрд╛рдо рдореЗрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдирд┐рдореЗрдп рд▓реЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ (рд╡рд┐рднрд┐рдиреНрди рдереНрд░реЗрдб рд╢реЛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ) рд╣реЛрдиреЗ рдХреЗ рдЕрдирдЧрд┐рдирдд рдЕрдиреНрдп рд▓рд╛рдн рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗред

рд▓реЗрдХрд┐рди рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИ рдпрджрд┐ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрд╕ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддреЗ / рд╣рдЯрд╛рддреЗ рд╣реИрдВред

рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдпрд╛рд░реНрди рд╢реБрд░реВ рд╕реЗ рд╣реА рдЙрд╕ рдЧрдВрджреЗ рдкрд╛рдиреА рдореЗрдВ рдерд╛ - yarn.lock рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдорддрд▓рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдмрд╛рдд рдереА, рдЬрд┐рд╕рдиреЗ рдпрд╛рд░реНрди рдХреЛ рдПрдирдкреАрдПрдо рд╕реЗ рдпрд╛рд░реНрди рддрдХ рдЬрд╛рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рдкрд╕ рдирд╣реАрдВред

рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдРрд╕рд╛ рдирд┐рд░реНрдгрдп рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдПрдирдкреАрдПрдо рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рд▓реЙрдХрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрд░рддрд╛ рд░рд╣реЗрдЧрд╛ред

рдЕрдм рдпрд╣ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдирдкреАрдПрдо рд▓реЙрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрдм рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ yarn.lock рдЕрдк рдХрд░рдиреЗ рдХреА рддрд╛рд░реАрдЦ, рдФрд░ рдирд╣реАрдВ package-lock.json , рдЬрд┐рд╕рд╕реЗ рдЕрдм рд╡рд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкрд░ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ NPM рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдореЗрд░реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╛рд░реНрди рдЕрдм рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рдбреНрд░реЙрдк-рдЗрди рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ? рдпрд╣ рдХреЗрд╡рд▓ рдпрд╛рд░реНрди-рдУрдирд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЖрдк рдпрд╛рд░реНрди рд╣реЛрдордкреЗрдЬ рдкрд░ рдЗрд╕ рддрдереНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдЗрд╕рдХрд╛ рд╢реНрд░реЗрдп рджреЗрддреЗ рд╣реИрдВ - рдЗрд╕ рдпрд╛ npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рджреЛрдиреЛрдВ рдХрд╛ рдирд╣реАрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╛рд░реНрди рдЕрдм рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рдбреНрд░реЙрдк-рдЗрди рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ?

рдпрд╣ рдХрднреА рдирд╣реАрдВ рдерд╛ред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреБрдЫ рд╣рдж рддрдХ npm рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрддреА рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдХреБрдЫ рдЪреАрдЬреЛрдВ рдиреЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореБрдЦреНрдп рдХрд╛рд░рдг рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдбреНрд░реЙрдк-рдЗрди рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдерд╛, рдЗрд╕рд▓рд┐рдП npm рдХреЛ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХрдореА рдереАред

рдЕрдм рдЬрдм npm рдХрд┐рд╕реА рдкрд╣рд▓реВ рдкрд░ рдкрдХрдбрд╝ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рджрд░реНрдкрдг рд╕реБрд╡рд┐рдзрд╛ npm рд╣рдорд╛рд░реЗ рдореМрдЬреВрджрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ)ред рддреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдпрд╣ "рд╕реБрд░рдХреНрд╖рд┐рдд" рдХрднреА рдирд╣реАрдВ рдерд╛, рдпрд╣ рд╕рд┐рд░реНрдл рдЖрдХрд╕реНрдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЖрдк рдпрд╛рд░реНрди рд╣реЛрдордкреЗрдЬ рдкрд░ рдЗрд╕ рддрдереНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдЗрд╕рдХрд╛ рд╢реНрд░реЗрдп рджреЗрддреЗ рд╣реИрдВ - рдЗрд╕ рдпрд╛ npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рджреЛрдиреЛрдВ рдХрд╛ рдирд╣реАрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ ред рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдореБрдЭреЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕рдореЗрдВ рдПрдХ рдЧрд▓рдд рдЕрдиреБрдЪреНрдЫреЗрдж рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ me рд╣рдо рдЕрдкрдиреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рдХреБрдЫ рдФрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдХреЛ рдЦреБрд╢реА рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ (рдЕрд░реНрдерд╛рдд, рдХреНрд░рдо рдореЗрдВ рдпрд╛рд░реНрди рдХрд╛ рд▓рдЧрд╛рддрд╛рд░ рдЯреАрдореЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рд╣рд░ рдХреЛрдИ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

рдпрд╣ рдХрднреА рдирд╣реАрдВ рдерд╛

рдЧрд▓рдд ... рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рд╡рд╛рд▓реЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред https://yarnpkg.com/lang/en/docs/

рдпрд╛рд░реНрди рдПрдирдкреАрдПрдо рдХреА рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдЗрдВрдЯрд░реЙрдк рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреЗ рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рджрд░реНрдж рд░рд╣рд┐рдд рдкреНрд░рд╡рд╛рд╕рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдЪреНрдЫреЗ PR, рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ

рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЧрд▓рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рд╣рдо рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реЙрдк рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рдЙрди рд╕рднреА рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рджрд░реНрдж рд░рд╣рд┐рдд рд╣реИ (рдмрджрддрд░ рдпрд╣ рдПрдХ yarn import рджреВрд░ рд╣реИ)ред

рдкреНрд░рд╡рд╛рд╕ рджрд░реНрдж рд░рд╣рд┐рдд рд╣реИ

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпреЗ рд▓реЛрдЧ _definitely_ рдХреЗ рдкрд╛рд╕ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХреЗ рд▓реЛрдЧ рд╣реИрдВ): https://code.fb.com/web/yarn-a-new-package-manager-for-javascript/

рдпрд╣ рдПрдХ рд╣реА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдореМрдЬреВрджрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рд╣реИ, рдЬрдмрдХрд┐ рддреЗрдЬреА рд╕реЗ, рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ, рдФрд░ рдЕрдзрд┐рдХ рдордЬрд╝рдмреВрддреА рд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИред

рдпрд╛рд░реНрди рдЖрдЬ рдирд╣реАрдВ рд╣реИред

AFAICT рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ 4 рд╡рд░реНрдЧ рд╣реИрдВ:

  • рдЬреЛ рдХрд┐ _only_ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ,
  • рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдлреЗрд╕рдмреБрдХ рдХреА рдмрд┐рдХреНрд░реА-рдкрд┐рдЪ (рдКрдкрд░) рдЦрд░реАрджреА рдереА, рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд▓реЙрдХ рдореБрджреНрджреЗ рдкрд░ рдЕрднреА рддрдХ рдХреЛрдИ рдкреНрд░рд╣рд╛рд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ,
  • рд╡реЗ рд▓реЛрдЧ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ, рдпрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдордиреБрдЕрд▓реНрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрд╕рдВрдЧрддрддрд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
  • рдЙрди рд╣реИ рдХрд┐ рд╕рд┐рд░реНрдл рдпрд╛рд░реНрди рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ npm рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрддрд┐рдо рд╢реНрд░реЗрдгреА рдореЗрдВ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@ рд╕рд╛рдорд╛рдиреНрдп , рдЖрдкрдХреЛ рдЙрд╕ рдЖрдЦрд┐рд░реА рд╕реЗ рдХреНрдпрд╛ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ? рд╣рдо рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;)

@ рд╕реНрдкреЙрдиреНрдЧрдореИрди рдореИрдВ рдпрд╛рд░реНрди рд╕реЗ рдмрддрд╛рдиреЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рдмреНрдж рдЧрд▓рдд рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рдмреНрджрд╛рдВрдХрди рдЧрд▓рдд рд╣реИ, рддреЛ GitHub рдореЗрдВ рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рд╕рдВрдкрд╛рджрди рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рдмреЗрд╣рддрд░ рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред рдЕрд░реНрдХреЗрдирд┐рд╕ рдиреЗ рдКрдкрд░ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдХрд┐ рд╡реЗ рдЙрд╕ рдкрд░ рдЦреБрд▓реЗ рд╣реИрдВред

(рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╢рд╛рдпрдж рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред)

рдореИрдВ @imsnif рдФрд░ @arcanis рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛рд░реНрди рдХрд╛ "рдХрднреА рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛" рдПрдирдкреАрдПрдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред

рд▓реЗрдХрд┐рди рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ @Spongman рд╕реЗ рд╕рд╣рдордд

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдореБрджреНрджрд╛ рдпрд╛рд░реНрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдореЗрд░реЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╛рд░реНрди рдХреЗ рдЕрдиреБрдЪрд░ рдЗрд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЬреЛ рднреА рджрд┐рд╢рд╛ рдЪреБрдирддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдмрд╣реБрдд рдХрдо рд▓реЛрдЧреЛрдВ рдХрд╛ рдЖрдХрд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдпрд╛рд░реНрди рдХрд╛ рдареАрдХ-рдареАрдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрдерд╛ рдХрд┐ рдпрд╣ рдПрдирдкреАрдПрдо (рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрддрд░ рдкрд░) рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рддрд╛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдХрднреА рднреА рд╕реНрд╡рд┐рдЪ рдХреЛ рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ 254: +1: s рдФрд░ 10: рджрд┐рд▓: s рдкрд░ https://github.com/yarnpkg/yarn/issues/3614 рдФрд░ 57 upvotes рдкрд░ " рдХреНрдпрд╛ рдореБрдЭреЗ рдпрд╛рд░реНрди.рд▓реЙрдХ рдФрд░ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред json рдлрд╝рд╛рдЗрд▓реЗрдВ? "рдЗрд╕реЗ рдмрд╣реБрддрд╛рдпрдд рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВред

рдЕрдЧрд░ рдпрд╛рд░реНрди рдХреЛ рдЙрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рдХреЛрдИ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рди рдХреЗрд╡рд▓

рд╕рдЪ рдХрд╣реВрдБ рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╛рд░реНрди, рдпрд╛ рдХреЗрд╡рд▓ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реВрдВред рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдореВрд▓ рд░реВрдк рд╕реЗ "рд╣реЗ, рдореИрдВ рдЕрдкрдиреА рдЯреАрдо рдХреЛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реВрдВрдЧрд╛"ред рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдпрд╛рд░реНрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рднреА рдХреЛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдПрдирдкреАрдПрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдХреЛ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИред

рдХрд┐рд╕реА рднреА inbetween рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЗ рдмрд┐рд▓реНрдб рдЖрдкрдХреА рдЯреАрдо рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ рдпрд╛рд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХрд╛ рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдирдкреАрдПрдо рдкрд░ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред рдСрдлрд╝рд▓рд╛рдЗрди рджрд░реНрдкрдг рдХреЗ рд╕рдорд╛рдиред рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рднреАред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░ npm рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВ, рдпрд╣ рдЪреБрдкрдЪрд╛рдк рдЧрд▓рдд рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП, fb рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╛рд░реНрди рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдЪрдореБрдЪ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк "npm рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрдиреЗ рд╣реБрдП рд╣реИрдВ" рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВ, рдЬреЛ рдХрд┐ рдПрдХ рдЙрдЪрд┐рдд рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ npm рдкрд░ рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд╣реАрдВ (рд╡рд╣рд╛рдБ npm cli, npm рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдФрд░ рдкрд╛рдареНрдпрдХреНрд░рдо npm Inc рд╣реА рд╣реИ)ред

рдпрд╛рд░реНрди рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рд╣реИ рдЬреЛ npm рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ рдЬрдмрдХрд┐ npm рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд░рд╣рддрд╛ рд╣реИред


рдЖрдкрдХреЛ рдЙрд╕ рдЖрдЦрд┐рд░реА рд╕реЗ рдХреНрдпрд╛ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ? рд╣рдо рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;)

@ рдЬрд╝рдХрд╛рдд рд╕рд╣рд╛рдпрдХ рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред

@nottrobin - рдореИрдВ рдпрд╛рд░реНрди рдХреЗ рдореВрд▓ рдЗрд░рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмреЛрд▓ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрд╕ рд╕рдордп рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдерд╛ред рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдИ рджрд░реНрдЬрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд рдпрд╛рд░реНрди / рдПрдирдкреАрдПрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдпрд╛рд░реНрди / рдПрдирдкреАрдПрдо рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддрд┐-рд░реЗрдкреЛ рд╡рд┐рдХрд▓реНрдк рдерд╛, рдЬреИрд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ / рд╣рдкреА, рдореЛрдмреЗрдХреНрд╕ / рд░реЗрдбрдХреНрд╕, рдЖрджрд┐ рдХреА рдкрд╕рдВрджред рдпрд╣ рдПрдирдкреАрдПрдо рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ред

рдЬрдм рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рдЧрд▓рдд рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рддреЛ рдпрд╣ npm @ 5 рд╕реЗ рдкрд╣рд▓реЗ рднреА рдЧрдбрд╝рдмрдбрд╝ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд▓рдЧрд╛рддрд╛рд░ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрдЧреАред рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХреАрдВ рдФрд░ рд╕рднреА рдХреЛ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЧрд▓рддреА рдереА *ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ 100% рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЙрд╕ рдЧрд▓рддрдлрд╣рдореА рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдХреЛ рдХрд╛рдлреА рдмрджрд▓рдирд╛ рд╕рд╣реА рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ, рдзрд╛рдЧреЗ рдкреНрд░рддрд┐-рдмреЙрдХреНрд╕ рдЖрдзрд╛рд░ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдкреНрд░рддрд┐-рд░реЗрдкреЛ рдкрд░ NPM рдХреА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдВ рдПрдХ рдмреВрдВрдж рд╣реИред

* рджреА рдЧрдИ, рдорд┐рд╢реНрд░рд┐рдд рдпрд╛рд░реНрди / рдПрдирдкреАрдПрдо рдЯреВрд▓реАрдВрдЧ рдХреЗ рд╕рд╛рде рдХрдИ рдЧреИрд░-рдХрд╛рд░реНрдпрд╢реАрд▓ рд░рд┐рдкреЛрдЬ рдХреА рд╡рд╣ рд╡рд┐рд╢реЗрд╖ рд╕реНрдерд┐рддрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдЙрди рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдХрдиреАрдХреА рд╕реНрддрд░ рдХреЗ рдмрдЬрд╛рдп рдорд╛рдирд╡ рд╕реНрддрд░ рдкрд░ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рдереА рдФрд░ рдЕрдВрддрддрдГ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдЧрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдореИрдВ рджреЛ рдЯреВрд▓ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕рдЪ рдХрд╣реВрдБ рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╛рд░реНрди, рдпрд╛ рдХреЗрд╡рд▓ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реВрдВред

рд╣рд╛рдВ, рдЖрдкрдиреЗ @arcanis рдФрд░ @imsnif рдиреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рдмрд┐рдВрджреБ рдЬреЛ рдореИрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ (рджреЗрдЦреЗрдВ: +1: s) рдиреЗ рд╕рдорд╛рди "рдЧрд▓рдд" рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдФрд░ рдпрд╛рд░реНрди рдХреЛ NPM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЖрдк рдпрд╣ рд╕рдордЭреЗрдВ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдпрд╛рд░реНрди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдРрд╕рд╛ рд╣реА рд╣реЛред

(рд╕рд┐рд░реНрдл рдПрдХ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ - @imsnif рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ рдХрд┐ рдиреЛрдб рдмрдирд╛рдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╕рдВрдж рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдмрдирд╛рдо рд╣реИрдкреА, рдореЛрдмреЗрдХреНрд╕ рдмрдирд╛рдо рд░реЗрдбрдХреНрд╕ред рдпреЗ рдЖрдкрдХреЗ рдРрдк рдХреА рдореВрд▓рднреВрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕реНрдкрд╖реНрдЯ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рдХрд┐ рдЖрдкрдХреЛ рдореЗрд░реА рдмрд╛рдд рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдИред)

рд╡реИрд╕реЗ рднреА, рдЕрдм рдореИрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреА рдмрд╛рдд рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдкрдиреА рдмрд╛рдд рднреА рдХрд╣реА рд╣реИред

рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди рдпрд╛ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЯреАрдо" рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреНрдпрд╛ рд╣реИред рдЕрд╕рд▓реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдирдкреАрдПрдо рд░рд╛рдЬрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдпрд╛рд░реНрди рдПрдХ рдПрдирдкреАрдПрдо рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдЦреЗрд▓ рд╕рдХрддрд╛ рд╣реИ, рддрдм рддрдХ рдпрд╣ рдорд░ рдЪреБрдХрд╛ рд╣реИред

^ рдпрд╣

рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖ рдХреЗ рджреМрд░рд╛рди, рдпрд╛рд░реНрди рдЕрдкреНрд░реИрд▓ рдореЗрдВ рдПрдирдкреАрдПрдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рдХреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд╛ 20% рд╕реЗ 40% рддрдХ рдЪрд▓рд╛ рдЧрдпрд╛ред рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдЖрдВрдХрдбрд╝реЗ рд╕реБрдиреЗ рдереЗ (рд╕реАрдзреЗ npm рдХреЗ рд▓реЛрдЧреЛрдВ рд╕реЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬрдм npm рдХреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреНрд▓рд╛рдЙрдбрдлрд╝реЗрдпрд░ рдореЗрдВ рдЪрд▓реА рдЧрдИ рдереА), рддреЛ рдпрд╣ рд▓рдЧрднрдЧ 48% рдЕрдиреБрд░реЛрдз рдереЗред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡рд╡рд╛рджреА, рд╕рд╛рджрд╛ рдФрд░ рд╕рд░рд▓ред

рдЕрдм рд╣рдо рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЙрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╣реИ: рдЬреЛ рдПрдХ рдкреАрдЖрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдЬрдм рд╣рдо рдПрдХ package-lock.json рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рджред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛: heart_eyes:

yarn import рдкрд░ рдЗрд╕ рдФрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рдмреАрдЪ, рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╣рдо @jmorrell рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдЖрдБрдХрдбрд╝реЗ рдХреИрд╕реЗ рд╣рд░рдХреЛрдХ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдпрд╣ рддрдп рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдпрд╛ рд╣рдо рдХреБрдЫ рдмрджрд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ (рдЪреЗрддрд╛рд╡рдиреА / рддреНрд░реБрдЯрд┐, рдЖрджрд┐) wdyt?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрднреА рддрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╣реИред

рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИред

рдРрд╕рд╛ рдХреИрд╕реЗ? Npm рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рд╡реЙрд▓реНрдпреВрдо рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдЖрдХрд▓рди рдпрд╣ рдЧрд┐рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рдХрд┐ рдХрд┐рди рдЧреАрдереВрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ 0,1 рдпрд╛ 2 (рдпрд╛рд░реНрди редрд▓реЙрдХ, рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди) рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ _never_ рдиреЗ рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдХрд┐рд╕реА рднреА рдкреНрд░рд╢рдВрд╕рдиреАрдп рдЖрдХрд╛рд░ рдХрд╛) рдЬреАрдереВрдм рдкрд░ рджреЗрдЦрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдпрд╛рд░реНрди .рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдФрд░ _no_ рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди (рд╕реНрдкрд╖реНрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рд╣реИред

IMO рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЙрдХ рдлрд╛рдЗрд▓реЗрдВ рд░рдЦрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ BOTH рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд▓реЙрдХрдлрд╛рдЗрд▓ рдФрд░ ERROR (рд╕рдВрднрд╡рддрдГ рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рднреА - рдореИрдВ рдЖрдкрд╕реЗ рд╡рд┐рдирдореНрд░ рдЕрдиреБрд░реЛрдз рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдо рд╡рд┐рд╖рдп рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╕реАрдзреЗ-рд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рд▓реЗ рдЬрд╛рдПрдВ (рдЬреИрд╕реЗред рд╣рдорд╛рд░рд╛ рдбрд┐рд╕реЙрд░реНрдбрд░ рдЪреИрдирд▓)ред рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдмрд╣реБрдд рд▓реЛрдЧ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npm <> рдпрд╛рд░реНрди рдХреА рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдкреВрд░реЗ рдЯреНрд░реЗрдб рдХреЛ рдкрдврд╝рд╛, рд▓реЗрдХрд┐рди IHMO рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реИ:

рдЕрдЧрд░ npm рдПрдХ рдпрд╛рд░реНрди .lock рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрддрд╛ рд╣реИ рддреЛ npm рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
"рдЪреЗрддрд╛рд╡рдиреА: рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЖрдкрдХреЛ 'рдПрдирдкреАрдПрдо рдЗрдВрд╕реНрдЯреЙрд▓' рдХреЗ рдмрдЬрд╛рдп 'рдпрд╛рд░реНрди' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП"

рдЕрдЧрд░ рдпрд╛рд░реНрди рдкреИрдХреЗрдЬ-рд▓реЙрдХ.рдЬрд╕рди рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрддрд╛ рд╣реИ рддреЛ рдпрд╛рд░реНрди рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
"рдЪреЗрддрд╛рд╡рдиреА: рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЖрдкрдХреЛ 'рдпрд╛рд░реНрди' рдХреЗ рдмрдЬрд╛рдп 'npm рдЗрдВрд╕реНрдЯреЙрд▓' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП"

рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ (рдкреИрдХреЗрдЬ.рдЬрд╕рди рдореЗрдВ) рдХреЛ "рдкрд╕рдВрдж" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред

рдореИрдВ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдпрд╛рд░реНрди / рдПрдирдкреАрдПрдо рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддрд┐-рд░реЗрдкреЛ рд╡рд┐рдХрд▓реНрдк рдерд╛, рдЬреИрд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ / рд╣рдкреА, рдореЛрдмреЗрдХреНрд╕ / рд░реЗрдбрдХреНрд╕, рдЖрджрд┐ рдХреА рдкрд╕рдВрджред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ред рдЕрдм рддрдХ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдбреЗрд╡рд▓рдкрд░-рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд▓реНрдк рдерд╛, рдФрд░ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рд╣реА рд░реЗрдкреЛ рдкрд░ рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рд░рдЦ рд╕рдХрддреЗ рдереЗ рдЬреЛ рднреА рдЙрдиреНрд╣реЗрдВ рдкрд╕рдВрдж рдерд╛, рдЬрдмрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _a рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ_ рдерд╛ред рдПрдХреНрд╕рдкреНрд░реЗрд╕ / hapi рдЖрджрд┐ рдЙрджрд╛рд╣рд░рдг рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдЪреНрдЫреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ рджреГрд╢реНрдпрддрд╛ рдЕрдзрд┐рдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВред рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдХрд┐рд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

"package-manager": "yarn"

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╕рднреА рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рддрдм 100% рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдЧрд▓рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдЙрдореНрдореАрдж рд╣реЛрдЧреА рдпрджрд┐ рдЖрдкрдХреЛ рд░рд┐рдбрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрд╕ рдкрд░ mobx рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рд╣реА рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВред рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдХрд┐рд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
"package-manager": "yarn"

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╕рднреА рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдирдкреАрдПрдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд░ рдЪрд░реНрдЪрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рджрд┐рд╢рд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рдореИрдВ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрднрд┐рд╕рд░рдг рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдбрд╛рдпрд╡рд░реНрдЬреЗрдВрд╕ рдирд╣реАрдВред

рдореИрдВ рдХреБрдЫ рдирдП "рдкреИрдХреЗрдЬ-рдореИрдиреЗрдЬрд░" рдлрд╝реАрд▓реНрдб рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛, рдмрдЬрд╛рдп рдореМрдЬреВрджрд╛ engines рд╢реНрд▓реЛрдХ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реНрд╡ рдХрд▓рд╛ рд╣реИред

рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдбреЙрдХреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП engines.npm рдФрд░ engines.yarn рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ (рдЧреБрдЬрд░рдиреЗ рдореЗрдВ) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╛рд░реНрди рд╕рдВрд╕реНрдХрд░рдг engines.yarn рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╛рд░реНрди рднреА рддреНрд░реБрдЯрд┐ рдХрд░реЗрдЧрд╛ред

https://yarnpkg.com/en/docs/package-json#engines -
https://docs.npmjs.com/files/package.json#engines

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ "рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА" рдкреНрд░рдмрдВрдзрдХ (рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛) рдХреЗ рд▓рд┐рдП рди рддреЛ npm рдпрд╛ рдпрд╛рд░реНрди engines рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрднреА рднреА рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЙрдореНрдореАрдж рд╣реИред (рдпрджрд┐ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдХреА рдореМрдЬреВрджрдЧреАред json рдпрд╛ рдпрд╛рд░реНрдиред рдХреНрд▓реЙрдХ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ)

рдореИрдВ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрднрд┐рд╕рд░рдг рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдбрд╛рдпрд╡рд░реНрдЬреЗрдВрд╕ рдирд╣реАрдВред

рдорд╛рдирд╛ред рдпрд╛ рддреЛ рдЕрднрд┐рд╕рд░рдг, рдпрд╛ рдЗрдирдХрд╛рд░ред

рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдЕрд╕реНрдкрд╖реНрдЯ, рдЧрд▓рдд рдордзреНрдп рдЬрдореАрди рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╣реИред

рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд░реНрдл рджреВрд╕рд░реЛрдВ рдХреА рддрд╛рд▓рд╛рд╢ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдШрд░реНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд░ рдЪрд░реНрдЪрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ

рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рдЕрднреА рд╕рд╛рдЗрди рдЕрдк рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд╣рд╛рд▓ рдХрд╛ рдПрдХ рд╕реВрддреНрд░ рд╣реИ: https://npm.community/t/npm-install-should-warn-about-the-presence-of-yarn-lock-files/1822

рдореЗрд░рд╛ рд╡реЛрдЯ рд╕рд┐рд░реНрдл рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрдЬрд╛рдп рдкреВрд░реНрдг рд╡рд┐рд░рд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдзрд╛рдЧреЗ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрднрд┐рд╕рд░рдг рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдбрд╛рдпрд╡рд░реНрдЬреЗрдВрд╕ рдирд╣реАрдВред

рдореБрдЭреЗ рднреАред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЕрднреА рдЕрд╕рдВрдЧрдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдЪрд▓рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реБрдЖ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдШрд░реНрд╖рдг рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЯреАрдореЛрдВ рдХреЗ рдмреАрдЪ рдЖрдЧреЗ рдХреА рдмрд╛рддрдЪреАрдд рд╕реЗ рдЬреЛ рднреА рдЕрднрд┐рд╕рд░рдг рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдЬрдм рдпрд╣ рдЖрддрд╛ рд╣реИ, рддреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрдард╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдХреБрд▓ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдФрд░ рдорд┐рд╢реНрд░рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрдЧреЗ рднреНрд░рдо рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрднрд┐рд╕рд░рдг рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд░реЛрдХ рдирд╣реАрдВ рдкрд╛рддрд╛ рд╣реИред

рдореИрдВ рдХреБрдЫ рдирдП "рдкреИрдХреЗрдЬ-рдореИрдиреЗрдЬрд░" рдлрд╝реАрд▓реНрдб рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛, рдмрдЬрд╛рдп рдореМрдЬреВрджрд╛ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд╢реНрд▓реЛрдХ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдЬрд┐рдирдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд▓рд╛ рд╣реИред

рдЬреЛ рдЙрдЪрд┐рдд рд▓рдЧреЗред рдореИрдВ рдЕрд╕рдВрдЧрдд рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реВрдВред


рдЪрд┐рддреНрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ gatsbyjs рд╣реИред рд╕реНрдерд┐рддрд┐ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╣реИ, рдЬреИрд╕реА @gaearon рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рдмрддрд╛рдИ рдЧрдИ рд╣реИ :

рд░рд┐рдПрдХреНрдЯ рдРрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмреЗрд╣рдж рднреНрд░рд╛рдордХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╛рд░реНрди (рдпрджрд┐ рдпрд╛рд░реНрди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореМрдЬреВрдж рд╣реИ) рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡реЗ рдХреБрдЫ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдбреЙрдХреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдПрдирдкреАрдПрдо рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рдФрд░ рдЬреЛ рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЛ рдЙрдбрд╝рд╛ рджреЗрддрд╛ рд╣реИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рднрд▓реЗ рд╣реА рдЧреИрдЯреНрд╕рдмреА рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП package-lock.json рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рддрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЛрдиреЛрдВ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХреЛ рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред

рд╕рд╣рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

@jmorrell - https://github.com/yarnpkg/yarn/pull/5920 1.9.2 25 рдореЗрдВ

@imsnif рдИрдореЗрд▓ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдБ рдЕрдкрдбреЗрдЯ рдЧреБрдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

рдпрд╣рд╛рдВ рдЙрди рдРрдкреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ рдЬреЛ 2018 рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдкреНрддрд╛рд╣ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВред

(рдореИрдВрдиреЗ y рдкреИрдорд╛рдиреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ 100 рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╡реГрддреНрддрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ)

two-lockfile failures

  1. рдЬреБрд▓рд╛рдИ рдореЗрдВ рдбреБрдмрдХреА рдПрд╕ 3 рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рд╕реЗ рдЖрддреА рд╣реИ

  2. 25 рдЬреБрд▓рд╛рдИ рдХреЗ рдмрд╛рдж рдХреЗ рд░реБрдЭрд╛рди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛ рд╣реИред рдореИрдВ рдкрд╛рд░реА рдХреА рднрдпрд╛рд╡рд╣рддрд╛ рд╕реЗ рдХреБрдЫ рд╣реИрд░рд╛рди рд╣реВрдВред

@jmorrell - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!
рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ рдореИрдВ рднреА рдЗрд╕ рдкрд░ рдХрд╛рдлреА рд╣реИрд░рд╛рди рд╣реВрдБред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ (рдпрд╛рд░реНрди рдХреА рддрд░рдл) рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ?

рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП package-lock.json рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рднреНрд░рд╛рдордХ рд╣реИ - рдЗрд╕рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рдгрд╛рдо рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ (рдлрд┐рд░, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ) рдЕрд╕рдВрдЧрддрддрд╛ рдФрд░ рдЯреВрдЯ-рдлреВрдЯ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рд▓рд╛рд╣ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреЛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрдХ рдХрд┐рд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рд╕рд▓рд╛рд╣ рдХреЗ рдмрд╛рдж рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

IMO рдпрджрд┐ package-lock.json рдореМрдЬреВрдж рд╣реИ рдФрд░ yarn рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ npm рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдВрдЧреЗ, рддреЛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЗ рдЗрдирдкреБрдЯ @Spongman рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдКрдкрд░ (рдмрд╣реБрдд рд▓рдВрдмреЗ) рдзрд╛рдЧреЗ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рдм рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЬрдм рддрдХ @jmorrell рдореБрдЭреЗ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдпрд╛ рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ рдмрддрд╛рддрд╛, рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░

@imsnif рдПрдХ рдЕрд▓рдЧ рдЯреНрд░реИрдХ рд▓реЗ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕рд┐рддрдВрдмрд░ рд╕реЗ рдЕрдм рддрдХ рдХреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ (рд╕рд┐рддрдореНрдмрд░ 1 - 20 рд╕рд┐рддрдВрдмрд░), рдпрд╣ рдЕрднреА рднреА рдирдВрдмрд░ 1 рдХрд╛рд░рдг рд╣реИ рдЬреЛ рдиреЛрдб рд╣рд░рдХреЛрдХреВ рдкрд░ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдЧрд▓реЗ рд╕рдмрд╕реЗ рдЖрдо рдЬреНрдЮрд╛рдд рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджреЛрдЧреБрдирд╛ рд╣реЛрддрд╛ рд╣реИ: рдкреИрдХреЗрдЬ.рдЬреЙрди рдЕрдорд╛рдиреНрдп рдЬреЗрдиреНрд╕рдиред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ, рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдкрд░ рдвреЗрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред

node build failures september 1 - 20 2018

рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ npm рд╕реЗ рдХрд┐рд╕реА рднреА рдЖрдВрджреЛрд▓рди рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣рд╛рдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рдкреАрдЖрд░ рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ (рдпрд╛рд░реНрди рдХреА рддрд░рдл) рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдЕрднреА рднреА рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдмрд╛рд░ рдПрдирдкреАрдПрдо рдмрджрд▓ рдЬрд╛рдиреЗ рд╕реЗ рдирдВрдмрд░ рднреА рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ рдКрдкрд░ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЖрдЧреЗ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреА рдЦреБрд╢реА рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

@jmorrell - рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдпрд╣ рдмрд╣реБрдд рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмрд╛рддрдЪреАрдд рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдм рдЬреЛ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЙрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рдЕрдЧрд░, npm рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдЪрд░реНрдЪрд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ (рдпрд╛ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛)ред рдХреГрдкрдпрд╛, рдореБрдЭреЗ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкрд┐рдВрдЧ рдХрд░реЗрдВред

рдЗрд╕реЗ рд▓рд╛рдиреЗ, рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдФрд░ рдЗрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рдж рдпрд╛рд░реНрди рдмреЗрд╣рддрд░ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jviotti picture jviotti  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

danez picture danez  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

catkins picture catkins  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Ambroos picture Ambroos  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MunifTanjim picture MunifTanjim  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ