рдХреНрдпрд╛ рдЖрдк рдПрдХ _feature_ рдпрд╛ рдПрдХ _bug_ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдлрд╝реАрдЪрд░
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдПрди / рдП
рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
CLI рдХрдорд╛рдВрдб yarn install --peer
рдЬреЛ package.json
рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдерд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / ng2 / рдЧреНрд░рдВрдЯ рдЬреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@ 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
рд░рди рдХрд░рддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрджрд┐ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ рд╕рд░рд▓ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:
peerDependencies
ред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' рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ
@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
рд░рдЦрддрд╛ рд╣реИ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://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 рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЖрд░рдХреНрд╖рдг рд╣реИ:
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
+1 рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ