Yarn: рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЕрдХреНрддреВре░ 2016  ┬╖  72рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yarnpkg/yarn

рдХреНрдпрд╛ рдЖрдк рдПрдХ _feature_ рдпрд╛ рдПрдХ _bug_ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдлрд╝реАрдЪрд░

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдПрди / рдП

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
CLI рдХрдорд╛рдВрдб yarn install --peer рдЬреЛ package.json рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдерд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / ng2 / рдЧреНрд░рдВрдЯ рдЬреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

cat-feature help wanted triaged

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

+1 рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

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

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

npm install
рдкреИрдХреЗрдЬ.рдЬреЙрди рдирд┐рд░реНрднрд░рддрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕рднреА рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред

yarn add --peer
рдореИрдВрдиреЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреА рдереАред

рдХреНрдпрд╛ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдШреЛрд╖рд┐рдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг рд╣реИред

рдпрд╣рд╛рдБ NPM рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрдВрдж рдХрд┐рдпрд╛: https://github.com/npm/npm/issues/11213

рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдирдкреАрдПрдо рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

+1 рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдирдкреАрдПрдо рдореБрджреНрджреЗ рдкрд░ рдпрд╣ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╛рд░реНрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП:

рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдПрдХ cli рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ:

# If you're using npm
npm install -g install-peerdeps

# If you're using yarn
yarn global add install-peerdeps

cd my-project-directory

install-peerdeps <package>[@<version>]

# for example
install-peerdeps @angular/core
# will install all of angular's peerdeps

рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд░реЗрдкреЛ рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ!

@nathanhleung , рд╡рд╣ рдкреИрдХреЗрдЬ рдЖрдкрдХреЗ рд╕рднреА рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреА рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЯрд┐рдХрдЯ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ https://www.npmjs.com/package/@team-griffin/install-self-peers

@nathanhleung рдЖрдк рдЪрдЯреНрдЯрд╛рдиреЛрдВред

рд╣рдореНрдо ... рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ devDependencies рддрд╣рдд рдирд╣реАрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдмрдо рдпрд╛ рдХрд┐рд╕реА рдЪреАрдЬ рдХреЛ рдЧрд┐рд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ ...

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

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

рдХреЗрд╕ рдПрд╕реНрд▓рд┐рдВрдЯ-рдлрд╛рдЗрдВрдб-рд░реВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

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

рдЕрдм рдпрджрд┐ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ ESLint рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдбрдореА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреБрдЫ npm-рд▓рд┐рдВрдХ рдХрд┐рдП рдмрд┐рдирд╛ рдЬреЛ ESLint рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

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

рддреЛ ... рдПрдХ рдзреНрд╡рдЬ рдЬреЛ рдпрд╛рд░реНрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдкреАрдпрд░ рдбрд┐рдкреНрд╕ рдпрджрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдВрдЧреЗред

рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ

  • yarn add <package> --peer рдЗрд╕реЗ node_modules рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ package.json рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
  • yarn add <other_package> рдЙрд╕рдХреЗ рдмрд╛рдж рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ @nikolakanacki рдореЙрдбрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореИрдВ yarn install --peer dependencies , devDependencies рдФрд░ peerDependencies рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред

рдЕрдЧрд░ рдореБрдЭреЗ рдпрд╣ рдЕрдзрд┐рдХрд╛рд░ @kyleholzinger / @gaastonsr рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк peerDependencies рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЛрдб ( cd -p рдХреЛ рд░реЗрдкреЛ / рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ peerDependencies , рддрд╛рдЬрд╛ рдХреНрд▓реЛрди, рдЙрди рд╕рд╣рдХрд░реНрдореА deps рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЖрдк рдЬреЛ рдкреИрдХреЗрдЬ peer deps рд╣реИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ рд▓рдХреНрд╖реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ?

рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдЖрдк eslint-find-rules рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ eslint (рдпрд╣ peerDependency eslint-find-rules ) рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдЖрдк рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ peer рдореЗрдВ рдЙрди рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдЖрдк (рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЛ eslint-find-rules рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ) рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреБрдЫ рдЗрд╕ рддрд░рд╣ "рд╕рдВрдХрд▓реНрдк рдФрд░ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ ( package.json рдФрд░ yarn.lock рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ) рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд┐рд▓рд╛рди рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдореЗрд░реЗ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"?

рдпрджрд┐ рдпрд╣ рдЖрдкрдХреА рдмрд╛рдд рд╣реИ рддреЛ рдпрд╣ рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЖрдк рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдСрдЯреЛ-рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗред

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

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрджрд┐ рдпрд╣ рдЖрдкрдХреА рдмрд╛рдд рд╣реИ рддреЛ рдпрд╣ рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЖрдк рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдСрдЯреЛ-рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗред

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рддрд▓рд╛рд╢ рд╣реИред рдЬрдм рдореИрдВ рдкреИрдХреЗрдЬ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

рд╣рд╛рдБ рдмрд┐рд▓реНрдХреБрд▓ @nikolakanacki! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рд╣рдХрд░реНрдореА рдбрд┐рдкреЛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЕрд╡рд╕рд░ рд╣реИред

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

рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ рд╕рд░рд▓ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:

  1. рдореЗрд░рд╛ рдкреИрдХреЗрдЬ рдЗрд╕ рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд▓рдХреНрд╖реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдкреИрдХреЗрдЬ рдЙрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ: рдЗрд╕реЗ peerDependencies ред
  2. рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ dependencies рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реИ (рдФрд░ рд╡рд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдЬреЛ рднреА рдХрд╛рд░рдг рд╣реЛ: рдЗрд╕реЗ devDependencies ред

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

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

рдЬрдм рддрдХ рд╣рдордиреЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ * рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рддрдм рдпрд╛рд░реНрди рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд┐рдпрддрд╛рддреНрдордХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рдорд╛рд░реЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ:

@alexilyaev рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @nikolakanacki рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рд╣рдХрд░реНрдореА рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

@alexilyaev рдЬрдм рдЖрдк peerDependency рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рддрдХ рд▓рдХреНрд╖реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрд╕ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рднреА рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ - yarn / npm рдПрдХ рддреНрд░реБрдЯрд┐ (рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛, рдХреБрдЫ рдРрд╕рд╛ рд╣реА) рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ред

рдЧреИрд░ devDependency рдХрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реНрд░реЛрдд рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ yarn рдпрд╛ npm install рдЪрд▓рдиреЗ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдЬреЛ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ) : рдПрдХ рдкреНрд▓рдЧрдЗрди), рдФрд░ рдпрд╣ рддрдм рднреА рдкрд░рд╛рдорд░реНрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреИрдХреЗрдЬ / рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдПрдХ рд╕рд╣рдХрд░реНрдореА) рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ: рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ?

рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕рд┐рдВрдХ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рджрд░реНрдж рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ bash / javascript / <whatever> рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ-рдЗрдВрд╕реНрдЯрд╛рд▓ рд╕реНрдЯреЗрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЪреЗрдХ рдХрд░реЗрдЧрд╛ package.json ред

рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдХреЛ рдореИрдВ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдо devDependencies рднрд╛рд╡рдирд╛ рдХреЛ рди рддреЛрдбрд╝реЗрдВ, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░ " yarn npm install рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ," рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░реЗрдВ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ "рдЕрд╡рдзрд╛рд░рдгрд╛ред

рджреВрд╕рд░реА рдУрд░ yarn рдиреЗ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЦреНрдд рдиреАрддрд┐ рдкреЗрд╢ рдХреА рдЬрдм рдпрд╣ рдЖрддрд╛ рд╣реИ, рдпрд╣ рд╕рдВрдХреБрд▓ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ рдЕрдиреНрдпрдерд╛ dependencies рдпрд╛ devDependencies рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рди рднрд╛рдЧреЗрдВ рдмрд╛рдж рдореЗрдВ рдореБрджреНрджреЛрдВ рдкрд░ред

@nikolakanacki рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореЗрд░рд╛ рдкреНрд▓рдЧрдЗрди ^7.0.0 рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╣рдХрд░реНрдореА рдХрд╛ рдирд╡реАрдирддрдо 7.9.0 рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдирдХреЗ package.json 7.4.0 рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ ^7.0.0 devDependencies рднреА рд╣реЛрдВрдЧреЗ, рддреЛ рдХреНрдпрд╛ рдпрд╛рд░реНрди рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП) рджреЛрдиреЛрдВ 7.9.0 рдФрд░ 7.4.0 ?

рдЕрдЧрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореЗрд░рд╛ рдкреНрд▓рдЧрдЗрди рдЧрд▓рддреА рд╕реЗ 7.9.0 рдмрдЬрд╛рдп 7.4.0 ред

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

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

~ рдпрд╣ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ peerDependency рдЕрд╕рдВрдЧрддрддрд╛ рд╣реИ, рдЖрдкрдХрд╛ рдкреНрд▓рдЧрдЗрди ^7.0.0 рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ 7.4.0 рд╕рдВрд╕реНрдХрд░рдг рд╣реИред ~ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛: ^7.0.0 7.4.0 рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдпрд╛рд░реНрди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП) рджреЛрдиреЛрдВ 7.9.0 рдФрд░ 7.4.0?

рдпрд╛рд░реНрди рдЖрдкрдХреЗ рд▓рд┐рдП peerDependencies рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╕рд┐рд░реНрдл dependencies рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ devDependencies рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@gaastonsr рдЖрдк рдмрд┐рд▓рдХреБрд▓ рд╕рд╣реА рд╣реИрдВ рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ ^7.0.0 7.4.0 рд╕рдВрддреБрд╖реНрдЯ рд╣реЛрдВред

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

Npm рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╕реЗрдорд░ рд╢реНрд░реЗрдгреА: https://docs.npmjs.com/misc/semver
рдЬрдм рд╣рдореЗрд╢рд╛ рд╕рдВрджреЗрд╣ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ: http://jubianchi.github.io/semver-check/

@nikolakanacki рдЖрд╕рд╛рдиреА рд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдХрд░реНрдореА рдорд╣рд╛рди рд╣реЛрдВрдЧреЗ!

@nikolakanacki рдареАрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрдм рдПрдВрдб-рдпреВрдЬрд╝рд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, devDependencies рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рд▓реЗрдЦрдХ рдХреЛ peerDependencies рд╕реЗ devDependencies рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

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

рддреЛ ... рдореИрдВ рдЕрднреА рднреА рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХрдо рд╕реЗ рдХрдо рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ install-peerdeps рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

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

рд╕рд┐рдВрдХ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд░рдЦрдиреЗ рдХреЗ рдЫреЛрдЯреЗ рд╕рд┐рд░рджрд░реНрдж рд╣реИред рд▓реЗрдХрд┐рди @nikolakanacki рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреБрдЫ post-install рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╕рдорд╛рдзрд╛рди?

рдореИрдВ рдХрд╛рдлреА рддреЗрдЬреА рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ:

рдЕрдЧрд░ рдпрд╣ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣рдХрд░реНрдореА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреИрдХреЗрдЬ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрд░реНрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкреНрд▓реЙрдХред рдЕрддрд┐рд░рд┐рдХреНрдд "рд╡рд┐рдХрд╛рд╕" рдпрд╛ рдЬреЛ рднреА рдореЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рджрд░рдЕрд╕рд▓, рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдпрд╛рд░реНрди рдмрдЧ рдХреЗ рдХрд╛рд░рдг, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

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

рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХреА рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╣реЛ рддреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИред

рдПрдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдпрд╛ рдПрдХ рдирдпрд╛ рдмрдЧ рджрд╛рдЦрд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

@ NYK рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╡рд╛рдХрдИ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк 55 рдЕрдВрдЧреВрдареЗ рдФрд░ 34 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореБрджреНрджреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ?

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

рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЖрдЧреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ, рдкреНрд░рд╡рд╛рд╣-рдкреНрд░рдХрд╛рд░ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛: https://github.com/flowtype/flow-typed/issues/379

@andvgal рдореИрдВ рд╕рд┐рд░реНрдл рдореБрджреНрджреЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдорд╣реАрдиреЛрдВ рдкрд╣рд▓реЗ рд╕реЗ рдпрд╣рд╛рдВ рдХреА рд╕рд╛рд░реА рдЪрд░реНрдЪрд╛ рднрд╛рд░реА рдФрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрдард┐рди рдереАред

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

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

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

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

@jimsugg , рдореИрдВ yarn add <package...> -p рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред Json, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рддреЛ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдХрдо рд╕реЗ рдХрдо рдкрд░реАрдХреНрд╖рдг рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП)ред

рдореИрдВ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдерд╛ рдФрд░ рдЗрд╕ рдмреИрд╢ рд╡рди-рд▓рд╛рдЗрдирд░ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕реВрдЪреАрдмрджреНрдз рдкреАрдпрд░ рдбрд┐рдкреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА (рдЖрдкрдХреЛ jq рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ): yarn add $(jq -r '.peerDependencies|keys|join(" ")' package.json) ред

рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдХрд┐рд╕реА рдХреА рдорджрдж рд╣реЛрдЧреАред

@EdwardDrapkin рдЙрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдорд╣рд╛рди рд╡рд┐рдЪрд╛рд░! рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ npm рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛:

"install:peers": "yarn add -P $(jq -r '.peerDependencies | to_entries | map(\"\\(.key)@\\(.value | tostring)\") | join(\" \")' package.json)",

рдмрд╕ peerDependencies рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдпреБрдХреНрддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ;) рдХреЗрд╡рд▓ рдЕрдбрд╝рдЪрди рдпрд╣рд╛рдБ рд╣реИ рдЕрдЧрд░ рдЖрдк latest рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдФрд░ рдЖрдк next рддрд░рд╣ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ

@ рд╢реЙрд╕реНрдкрд░ рдпрд╣рд╛рдВ jq рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ:

node -e "const peers = Object.entries(require('./package.json').peerDependencies || {}).map(d => d.join('@')).join(' '); if (peers.length) process.stdout.write('yarn add -P --no-lockfile ' + String(peers));" | sh

рд╡рд╣рд╛рдБ рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЬрд╣рд╛рдБ рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдкреИрдХреЗрдЬ рдХреЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ Foo рдЬрдм рдЖрдк рдкрд░ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ Foo ? рдореИрдВ рдПрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рднреА рдирд╣реАрдВ рд╕рдХрддрд╛ред рдпрджрд┐ Bar Foo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ Foo рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рдкрд░ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХрд░рддреЗ рд╣реИрдВред

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

рд╡рд╣рд╛рдБ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА? рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ 2.0 рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд╕рд╣рдХрд░реНрдореА: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ @^16.0.0
рдирд┐рд░реНрднрд░рддрд╛: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ @~16.1.0

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

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ @bdwain , рдореИрдВ рд╢рдмреНрджрд╛рд░реНрде рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдФрд░ рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╡реЗ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ; рдпрджрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджреЗрд╡ рдФрд░ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рджреЛрдиреЛрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рд╕реВрдЪреАрдмрджреНрдз рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ install рдХрдорд╛рдВрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╡рдЬрд╣ рдирд╣реАрдВ рджрд┐рдЦрддреА рд╣реИред

@bdwain @kyleholzinger рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ peerDependencies рд╕рдЦреНрддреА рд╕реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреЗ рд╣реИрдВ, рди рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрд╖рдгрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдореБрджреНрджрд╛ рдЬреЛ рд░реВрдЯ / рдЯреЙрдк-рд▓реЗрд╡рд▓ рдкреИрдХреЗрдЬ рдореЗрдВ рднреА рдореМрдЬреВрдж рд╣реИ, рдЪреБрдкрдЪрд╛рдк (рдФрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ babel-core рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

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

рдХрд╣рд╛ рдХрд┐, рдкреАрдпрд░ рдбрд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдлреЙрд▓реНрдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рдпреБрдХреНрддрд┐ рдХреЗ рдЕрдиреБрд░реВрдк рд░рдЦрдиреЗ рдФрд░ рдмреЗрд╣рддрд░ рджреЗрд╡ рдЕрдиреБрднрд╡ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .... рд╢рд╛рдпрдж рдпрд╛рд░реНрди рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП --include-peers рд╡рд┐рдХрд▓реНрдк рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

@hulkish рдЬрдм рдореИрдВ рднрд╛рд╡рдирд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рддреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди _not_ рдПрдХ рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ?

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

рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдЬреЛ рдореИрдВ рд╕рд╛рдордиреЗ рд▓рд╛рддрд╛ рд╣реВрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдХрдорд╛рдВрдб / рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЬреЛ рдПрдХ рджреЗрд╡ рдФрд░ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдпрд╛рд░реНрди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛, рдФрд░ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХрд╣реАрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рд╕рд░рд▓ ЁЯШД

@kyleholzinger

@hulkish рдЬрдм рдореИрдВ рднрд╛рд╡рдирд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рддреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдПрдХ рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ?

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

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

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

@hulkish

рдЬрдм рдЖрдкрдХреЛ рдЕрдкрдиреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реЛ рдЬрд╛рдУ! рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: рдЕрдЧрд░ рдХреЛрдИ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


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

рдпрд╣ рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗ рдЕрднреА рдЕрджреНрднреБрдд рд╣реИрдВ рдЬреЛ рдХрд┐ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореЗрд░рд╛ рдореБрдЦреНрдп рдкрдХрдбрд╝ / рджрд░реНрдж рдмрд┐рдВрджреБ рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╡рд┐рдХрд╛рд╕ рд╣реИ рдЬреЛ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдХреЛрдИ рднреНрд░рдо рдерд╛!

рдореЗрд░рд╛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди / рд╕реБрдЭрд╛рд╡ / рдЖрд╢рд╛-рд╕реЗ-рдкреНрд░рд╛рдкреНрдд-рд╕реНрд╡реАрдХреГрдд-рдЯреВ-рд╡рд░реНрдХ-рдСрди-рд╡рд░реНрдХ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ yarn install (рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдирд╣реАрдВ) рд╣реЛрдВ рдЬреЛ рдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ package.json рдореЗрдВ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд░рдЦрддрд╛ рд╣реЛ


@bdwain @hulkish

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @hulkish рдПрдХ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреЗ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА

рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрдм рдЖрдк рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп yarn install рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ

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

рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рдЖрдкрдХрд╛ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкреИрдХреЗрдЬ рд╣реИ:

  "dependencies": {
    "foo": "^4.0.0",
    "react": "^15.0.0"
  }

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХрд╛ рдлреВ / рдкреИрдХреЗрдЬ.рдЬрд╕рди:

  "dependencies": {
    "react": "^16.0.0"
  }

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

node_modules/
  react/ <-- @^15.0.0
  foo/node_modules/react/ <-- @^16.0.0

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

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

рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

  "dependencies": {
    "foo": "^4.0.0",
    "react": "^15.0.0"
  }

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХрд╛ рдлреВ / рдкреИрдХреЗрдЬ.рдЬрд╕рди:

  "peetDependencies": {
    "react": "^16.0.0"
  }

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдВ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ

рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдВрддрд░ рд╣реИ; рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрдЬрд╛рдп рдЪреБрдкрдЪрд╛рдк рдореМрдЬреВрджрд╛ред рдЬрдм рдЖрдк npm / рдпрд╛рд░реНрди рдЗрдВрд╕реНрдЯреЙрд▓ рдЪрд▓рд╛рддреЗ рд╣реИрдВ - рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдХрд░реНрддрд╡реНрдп рд╣реИ рдХрд┐ рд╡рд╣ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕рдВрдЧрддрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рд╕рдордЭрд╛рддрд╛ рд╣реИред

@kyleholzinger

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

рдореИ рд╕рдордЭрддрд╛ рд╣реБрдБред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреАрдпрд░ рдбрд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдлреЙрд▓реНрдЯ рдмрд┐рд╣реЗрд╡рд┐рдпрд░ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрд╕рд╛рди рдЙрдкрд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ cli рдФрд░ / рдпрд╛ env vars рдФрд░ / рдпрд╛ .yarnrc рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред --install-peers-as-dev рдЬреИрд╕рд╛ рдХреБрдЫ

@hulkish

рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрд╕рд╛рди рдЙрдкрд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ cli рдФрд░ / рдпрд╛ env vars рдФрд░ / oryarnrc рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕реЗ рдХреБрдЫ - рд╕реНрдерд╛рдкрдирд╛-рд╕рд╛рдерд┐рдпреЛрдВ-рдЬреИрд╕рд╛-рджреЗрд╡

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

@kyleholzinger рдпрд╣ https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/install.js#L58 рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИ

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

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

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

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

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

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ / рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪрдирд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИ? рдореИрдВ npm рд╕рдВрдХреБрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ npm рд╕рдВрдХреБрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдореБрдЦреНрдп рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдореИрдВ рдХрдИ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХреЛрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореИрдВ рдПрдХ рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ react рдФрд░ react-dom peerDependencies (рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рд╡реЗ рдЕрдВрддрддрдГ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдБрдзреЗ рд░рд╣реЗрдВ, рдЬреЛ рдХрд┐ рдирдХрд▓ рдХрд░реЗрдЧрд╛ рдЙрди рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ)ред

рдореИрдВ рдЕрдкрдиреЗ рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЙрди peerDependencies рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ CI рдкрд░ рдФрд░ рдореЗрд░реА рдорд╢реАрди рдкрд░ yarn --include-peerDeps (рдпрд╛ рдРрд╕рд╛ рд╣реА рдХреБрдЫ) рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдХреЛрдИ yarn рдЪрд▓рд╛рддрд╛ рд╣реИ react рдФрд░ react-dom рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ)ред

рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╕реЗ рд╣рдордиреЗ рд╡рд╣рд╛рдВ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдП рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдореВрд▓ рдмрдирд╛рддрд╛ рд╣реИред ("рдХреБрдЫ рд▓реЛрдЧ рдЪрд╛рд╣рддреЗ рд╣реИрдВ" рдХрд╛ рдкреБрд░рд╛рдирд╛ рдЖрджрд░реНрд╢ рд╡рд╛рдХреНрдп рдпрд╣рд╛рдБ IMO рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ)

рдореИрдВ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ --include-peerDeps рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рднрд┐рдЦрд╛рд░реА рд╣реЛрдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдореИрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реВрдВред

@lucasfcosta рдЕрдзрд┐рдХ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛! рдореЗрд░реЗ рдкрд╛рд╕ рдЗрди рджрд┐рдиреЛрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрди рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддрдм рдЪрд╛рд░реЛрдВ рдУрд░ рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рд╕реЗ рд╡рд┐рдХрд▓реНрдк рд╕рддреНрдп рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдорджрдж рд╣рд╛рде рдкреНрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ :)

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

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

рдореБрдЭреЗ рд╡рд╣ рднреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмреАрдЪ рдореИрдВ рдПрдХ рдЫреЛрдЯреЗ рдиреЛрдб рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ

const pkg = require('./package.json');
const entries = Object.entries(pkg.peerDependencies);
const shell = require('shelljs');

let deps = ['yarn add'];
for ([dep, version] of entries) {
    deps[deps.length] = `${dep}@${version}`;
}

deps.push('--peer');
const cmd = deps.join(' ');
console.log('Installing peer deps!\n -----', cmd);
const result = shell.exec(cmd);

if (result.code !== 0) {
    shell.echo('Error: installing peer dependencies');
    shell.exit(1);
}

рдардВрдбрд╛! рдЕрдм рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдпрд╛рд░реНрди рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЭрдВрдбрд╛ рдпрд╛ рдЬреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

Thu рдкрд░, 4 рдЕрдХреНрдЯреВрдмрд░, 2018, 17:29 рдкрд╛рд╕рдХреНрд╡реЗрд▓реЗ рдордВрдЧрд┐рдпрд╛рд▓рд╡рд╛рд░реНрдЗ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореБрдЭреЗ рд╡рд╣ рднреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмреАрдЪ рдореИрдВ рдПрдХ рдЫреЛрдЯреЗ рдиреЛрдб рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ

`const pkg = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('./ package.json');
const рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ = Object.entries (pkg.peerD dependencies);
const рдЦреЛрд▓ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('shelljs');

рдЪрд▓реЛ рдбрд┐рдкреНрд╕ = ['рдпрд╛рд░реНрди рдРрдб'];
([рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХрд╛ [рд╕рдВрд╕реНрдХрд░рдг, рд╕рдВрд╕реНрдХрд░рдг]) {
deps [depllength] = $ {dep} @ $ {version};
}

deps.push ( '- рд╕рд╣рдХрд░реНрдореА');
const cmd = deps.join ('');
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдкреАрдпрд░ рдбрд┐рдкреНрд╕! n -----', cmd);
const рдкрд░рд┐рдгрд╛рдо = shell.exec (cmd);

рдЕрдЧрд░ (result.code! == 0) {
shell.echo ('рддреНрд░реБрдЯрд┐: рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛');
shell.exit (1);
} `

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

рдореИрдВ рднреА рджреЛрд╣рд░рд╛рд╡ рд▓реЗ рд░рд╣рд╛ рд╣реВрдБ рдЬреИрд╕рд╛ рдХрд┐ @RWOverdijk рдиреЗ рдХрд╣рд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ред

Btw, рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рддрд╛рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рджреЛ рдмрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ (рджреЗрд╡-рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рд╕рд╣-рдирд┐рд░реНрднрд░рддрд╛)?

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

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред react рдХреЛ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдХреЗ devDependencies рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЕрдкрдиреЗ рдХреЛрдб рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

рд╕реНрдерд╛рдиреАрдп peerDependencies рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЭрдВрдбрд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ _any_ рдХреЛ peerDependencies _

рдЭрдВрдбреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдореЗрд░реА рд░рд╛рдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
yarn add --peer рдХрдорд╛рдВрдбред

yarn --peer
# and
yarn install --peer

рдмрд╣реБрдд рдХрдо рд╕реЗ

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЕрд▓рдЧ test рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ? рддрдм рдЖрдк рдЕрдкрдиреЗ рд╕рднреА peerDependencies рдХреЛ dependencies test рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рдереЗред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ:

  • рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ peerDependencies devDependencies рд░рдЦрддрд╛ рд╣реИ
  • рдЖрдк рдПрдХ рддрд░рд╣ рд╕реЗ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗ e2e ... рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдЖрдкрдХрд╛ рдбрд┐рд╕реНрдЯ рдареАрдХ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЕрдкрдиреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬ
  • рдЬрдм рдЖрдк рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП node_modules рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рд╕реЗ рдЦрд╛рд▓реА рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ Invalid hook call рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ "my-package": "file:/path/to/my-package"

рдпрджрд┐ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА, рддреЛ рдореИрдВрдиреЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдПрдХ рдбреЗрдореЛ рд░реЗрдкреЛ рдмрдирд╛рдпрд╛:
https://github.com/jamstooks/package-peer-dependencies

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ npx install-peerdeps <package> рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ CLI рддрдм рдЖрдкрд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдпрд╛рд░реНрди рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдпрд╛рд░реНрди рд▓реЙрдХ рдЖрджрд┐ рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП рдЕрднреА рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред

рдЗрд╕ рдПрдирдкреАрдПрдо рдЖрд░рдПрдлрд╕реА рдореЗрдВ рдЖрд░реНрдХрд╛рдирд┐рд╕ рд╕реЗ рдЕрдзрд┐рдХ рдЪрд░реНрдЪрд╛ ("рд▓рд╛рдкрддрд╛ рдкреАрд░ рдбрд┐рдкреНрд╕ рдкрд░ рдЕрд╕рдлрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ") рдФрд░ рдЖрдЗрдЬреИрдХ ("рдкреАрдпрд░ рдбреАрдИрдПрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд")ред

https://github.com/npm/rfcs/pull/43

рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдореЗрд░реА рдорджрдж рдХреА: https://dev.to/yvonnickfrin/how-to-handle-peer-d dependencies-when-developing-modules-18fa

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

  "dependencies": {
    "prismic-reactjs": "^1.2.0"
  },
  "peerDependencies": {
    "react": "^16.12.0"
  },
  "devDependencies": {
    "react": "^16.12.0",
    "redux": "^4.0.5"
  }

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдореЗрд░рд╛ рдкреИрдХреЗрдЬ рд░рдирдЯрд╛рдЗрдо рдкрд░ react рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред redux рдбреЗрдореЛ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╣реИ, рдиреАрдЪреЗ рджреЗрдЦреЗрдВред

рдЕрдм, prismic-reactjs рднреА рдЕрдкрдиреЗ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ react рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
yarn --production рдмрд╛рдж рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЛрдиреЛрдВ _installed_ рдФрд░ _hoisted_ рд╣реИ
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдХреЗ _none_ рд╣реЛрдиреЗ рдХреАред

рдбреЗрдореЛ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП redux рдпрд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ _not_ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрд╖рдгрд┐рдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИред

рд░реЗрдкреНрд░реЛ рд░реЗрдкреЛ: https://github.com/emirotin/yarn-react-repro ред рддреНрд╡рд░рд┐рдд рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП test.sh рдЪрд▓рд╛рдПрдБред

npm рдореЗрдВ рдЕрдм v7 рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ ... рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕реЗ рдпрд╛рд░реНрди рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?

@sajadghawami рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, @arcanis рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЖрд░рдХреНрд╖рдг рд╣реИ:

https://github.com/npm/rfcs/pull/43#issuecomment -520584797

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

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

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

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

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

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

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