рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?
рдЕрднреА рдЖрдк рдкреНрд░рддрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ 1 рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд░реЗрдкреЛ рдореЗрдВ chrome-web-store
рдкреНрд▓рдЧрдЗрди npm
рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдЖрдк рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдпрд╣ рд╕реАрдорд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ auto
git рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкреИрдХреЗрдЬ рдХреА рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред
npm
рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдореИрдВрдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдХрд┐ рдЖрдк sub-packages
рд▓рд┐рдП рдЪреЗрдВрдЬрд▓реЙрдЧ рдкреНрд░рдмрдВрдзрди рдФрд░ рдЕрд▓рдЧ рд░рд┐рд▓реАрдЬ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд▓рдЧрднрдЧ lerna
рдФрд░ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ core
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкреНрд▓рдЧрдЗрди рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╛рдЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рд╕рднреА git-tag
рдХреЛ рдЫреЛрдбрд╝рдХрд░) рд╣рдо рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЙрджрд╛рд╣рд░рдг: npm рдкреНрд▓рдЧрдЗрди
package.json
(рдПрдХрд▓ рдпрд╛ рд▓рд░реНрди) рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИauto
рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЛ package
рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирддрд╛ рд╣реИauto
рдкреНрд░рддреНрдпреЗрдХ package
рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЪреИрдВрдЬ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИрдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЦрд░рд╛рдм рдЕрдиреБрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ git-tg
рдкреНрд▓рдЧрдЗрди рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред
package
рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдорд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ редpackage
рд▓рд┐рдП рдПрдХ рдЪреЗрдВрдЬрд▓реЙрдЧ рднреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдЬрд┐рди рдкрд░ рдЖрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ
рдХреБрдЫ рднреА рд╕рдЪ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реЛрдЪрдХрд░ рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖ рд╕реНрддрд░реАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реВрдВред
{
// Still have some global config at root
"name": "Andrew Lisowski",
"email": "[email protected]",
// Plugins used for every package
"plugins": ["conventional-commits"],
"packages": [
// Target specific directories and apply a set of plugins to them
{
"target": "www",
"plugins": ["git-tag"]
},
{
"target": "api",
"plugins": ["npm"]
},
// Specify a pattern or even and array of patterns or directories
{
"target": ["packages/**", "utils"],
"plugins": ["npm"]
},
{
"target": "web-store",
"plugins": [
"chrome-web-store",
// Whole lifecycle is run for each package so you can have package plugins
["upload-assets", { "assets": ["./path/to/file"] }]
]
}
]
}
рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрдИ рдЪреАрдЬреЛрдВ рдкрд░ shipit
рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЯрд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрдорд┐рдЯреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкреВрд░реНрд╡ рдирд╡реАрдирддрдо рдХреЗ рд▓рд┐рдП:
рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд░реНрди рдХреЛ рдПрдХ рд╕рд╛рде рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
{
"name": "Andrew Lisowski",
"email": "[email protected]",
"packages": [
{
"target": "packages/**",
"plugins": ["npm"]
}
]
}
рдпрджрд┐ package
рдХреЛрдИ рдХрдорд┐рдЯ рдорд┐рд▓рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреЛрдИ рд░рд┐рд▓реАрдЬрд╝ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рдореЛрдиреЛрд░реЗрдкреЛ рдкреНрд░рдмрдВрдзрди рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдФрд░ рдмрд┐рдирд╛ lerna
ред рдпрджрд┐ рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореЛрдиреЛрд░реЗрдкреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдорд╛рд░реНрдЧ рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЗрд╕рдХреА рдПрдХ рдФрд░ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд░реЗрдкреЛ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЬрдирд┐рдВрдЧ рд╕реНрдХреАрдореЛрдВ ( fixed
рдФрд░ independent
) рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ leran
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
{
"name": "Andrew Lisowski",
"email": "[email protected]",
"packages": [
{
"target": "fixed-monorepo",
"plugins": ["npm"]
},
{
"target": "independent-monorepo",
"plugins": ["npm"]
}
]
}
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд░реЗрдкреЛ рдореЗрдВ рдХреНрд░реЛрдо-рд╡реЗрдм-рд╕реНрдЯреЛрд░ рдкреНрд▓рдЧрдЗрди рдПрдирдкреАрдПрдо рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдорд┐рдЯ, рдЯреИрдЧ рдФрд░ рдкреБрд╢ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╢реЛрд░ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред рд╢рд╛рдпрдж рдЙрди рдЧрд┐рдЯ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЛрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ? рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдорд┐рдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рд╛рдЗрдмреНрд░рд┐рдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдзрдХреНрдХрд╛ рджреЗрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЯреИрдЧ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реЛрд▓реНрдбрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдкреИрдХреЗрдЬреНрдб рд░рд┐рд▓реАрдЬ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрдирд╛рддреЗ рд╣реИрдВ?
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реЛрдЪрдХрд░ рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖ рд╕реНрддрд░реАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рдкреНрд░рддрд┐ рдкреИрдХреЗрдЬ рд░рд┐рд▓реАрдЬ рдЕрдиреБрднрд╡ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред docs
рдкреИрдХреЗрдЬ рдмрдирд╛рдо рдЖрдкрдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд s3/gh-рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХреБрдЫ рд▓рд╛рдн рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд░рд┐рд▓реАрдЬ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдПрдХ рдмрд╛рдд рд╣реИред рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
{
"name": "Andrew Lisowski",
"email": "[email protected]",
"packages": [
{
"target": "packages/**",
"plugins": ["npm"]
},
{
"target": "packages/chrome-ext",
"plugins": ["chrome-web-store"]
},
]
}
рдХреНрдпрд╛ chrome-ext
рдкреИрдХреЗрдЬ npm
_рдФрд░_ webstore
рджреЛрдиреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ? рдпрд╛ npm
рд░рд┐рд▓реАрдЬ рдЬреАрдд рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЯреИрдЧ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реЛрд▓реНрдбрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдкреИрдХреЗрдЬреНрдб рд░рд┐рд▓реАрдЬ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрдирд╛рддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд▓рд░реНрди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдХрдорд┐рдЯ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреИрдЧред рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдЧ рддрдм рд╕реНрд╡рдпрдВ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдмрди рдЬрд╛рддрд╛ рд╣реИ
рдХреНрдпрд╛ chrome-ext рдкреИрдХреЗрдЬ npm рдФрд░ рд╡реЗрдмрд╕реНрдЯреЛрд░ рджреЛрдиреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ? рдпрд╛ рдПрдирдкреАрдПрдо рд░рд┐рд▓реАрдЬ рдЬреАрддрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рд╛рдБ рдпрд╣ рджреЛрдиреЛрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдЦрд░рд╛рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ (рдЙрджрд╛: npm рдФрд░ github рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА)
{
"name": "Andrew Lisowski",
"email": "[email protected]",
"packages": [
{
"target": "packages/**",
"plugins": [["npm", { registry: "https://npm" }]]
},
{
"target": "packages/**",
"plugins": [["npm", { registry: "https://github-package-registry" }]]
},
]
}
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ... рдФрд░ рдЬрдЯрд┐рд▓ ЁЯШЕ
рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЕрддреНрдпрдзрд┐рдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╣реВрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл npm
рдкреНрд▓рдЧрдЗрди рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рд╡рд╛рд▓ред
рдЧрд┐рдЯ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд┐рдЯ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдЖрдо рддреМрд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХрд┐рд╕реА рдкреНрд▓рдЧрдЗрди рдХреЛ рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХреЗрд╡рд▓ рдХрдорд┐рдЯ-рд╕рдХреНрд╖рдо рд╣реБрдХ рдореЗрдВ рдЯреИрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреБрд╢рд┐рдВрдЧ рдХреЛ рдХреЗрд╡рд▓ рдХреЛрд░ рдореЗрдВ рд╣реА рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реАрдЖрдИ рдХреИрд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рдПрдХ npm рдкреНрд▓рдЧрдЗрди рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛ рдЖрдЬ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ packages
рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдиреЛрдб рдПрдкреАрдЖрдИ рдкрдХреНрд╖ рд╣реЛрдВрдЧреЗ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рдпрджрд┐ рдХрд┐рд╕реА рдкреНрд▓рдЧрдЗрди рдХреЛ рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХреЗрд╡рд▓ рдХрдорд┐рдЯ-рд╕рдХреНрд╖рдо рд╣реБрдХ рдореЗрдВ рдЯреИрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рдСрдЯреЛ рдХреЗ рднреАрддрд░ рдЗрд╕ рдЧрд┐рдЯ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рдмрдирд╛рдирд╛ рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧреА рд╣реИред рдФрд░ рдЕрдЧрд░ рд╡реЗ рдЗрд╕ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдереЛрдбрд╝рд╛ рдФрд░ рд╢реЛрд░ (рдЙрджрд╛: рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдзрдХреНрдХрд╛)
рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореЛрдиреЛрд░реЗрдкреЛ рдХреЗ рд╕рд╛рде рдСрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрдХрд░ рдЖрдпрд╛ рдЬреЛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореВрд▓ рд░реВрдк рд╕реЗ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореЛрдиреЛрд░реЗрдкреЛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА .autorc
рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреА рд╣реИред
рдлрд┐рд░ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрд╝рд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдк-рдкреНрд░реЛрдЬреЗрдХреНрдЯ sub-project/v1.4.5
рд░рд┐рд▓реАрдЬрд╝ рдХреЛ sub-project2/v9.9.9
рдЯреИрдЧ рдорд┐рд▓реЗрдЧрд╛
рдСрдЯреЛ рддрдм рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git describe --tags --matches "sub-project1/*"
рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рдЪрд╛рд░ред
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрд╛рдлреА рдХрд░реАрдм рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд▓реЗ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ
рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореБрдЭреЗ рдЙрд╕ рдзреНрд╡рдЬ рдХреЛ рдЕрдм рддрдХ рдХреЗ рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ рд╣реИ (-рдореИрдЪ) рдФрд░
рдпрд╣ рдХрд╛рдлреА рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдореИрдВ "рдкреИрдХреЗрдЬ" рдлрд╝реАрд▓реНрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рд░реНрдл рдФрд░
"autorc" s . рдХреА рд╕рд░рдгреА
рдЙрдкрд╕рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдирд╛рдо рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реБрдХ рдЬреЛрдбрд╝рд╛ рд╣реИред рдЗрд╕
рдЕрдЧрд░ рдкреНрд▓рдЧрдЗрди рдмрд╣реБ рдкреИрдХреЗрдЬ рд╕рдВрдЧрдд рд╣реИ рддреЛ рдСрдЯреЛ рдХреЛ рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛
рдмреБрдзрд╡рд╛рд░, 29 рдЬрдирд╡рд░реА, 2020 рдХреЛ рд░рд╛рдд 9:11 рдмрдЬреЗ рдПрд▓реЗрдЬрд╛рдВрджреНрд░реЛ рдмреИрд░рд┐рдПрдВрдЯреЛрд╕ <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:
рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореЛрдиреЛрд░реЗрдкреЛ рдХреЗ рд╕рд╛рде рдСрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдпрд╛
рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреЛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдореВрд▓ рд░реВрдк рд╕реЗ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореЛрдиреЛрд░реЗрдкреЛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ
рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА .autorc рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░ рд╕рдХрддреА рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рдЙрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАредрдлрд┐рд░ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЙрдкрд╕рд░реНрдЧ рд░рдЦрдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП a
рдЙрдк-рдкрд░рд┐рдпреЛрдЬрдирд╛1 рдХреЗ рд╡рд┐рдореЛрдЪрди рдХреЛ рдЙрдк-рдкрд░рд┐рдпреЛрдЬрдирд╛/v1.4.5 рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░
рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЙрдк-рдкреНрд░реЛрдЬреЗрдХреНрдЯ2/v9.9.9 рдЯреИрдЧ рдорд┐рд▓реЗрдЧрд╛рдСрдЯреЛ рддрдм git рд╡рд░реНрдгрди --tags --matches . рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
"рдЙрдк-рдкреНрд░реЛрдЬреЗрдХреНрдЯ1/*" рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рддрджрдиреБрд╕рд╛рд░ рдЯреИрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПредрд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рдЪрд╛рд░ред
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рд╕реВрддреНрд░ рдХреЛ рд▓рд┐рдЦрд╛ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/intuit/auto/issues/917?email_source=notifications&email_token=AAJDEBGUZR5HF6P3OKRILTDRAJOOXA5CNFSM4KMLWYF2YY3PNVWWK3TUL52HS4DFVREXGEK43VMVBW63LNMVW800GOZLOOR9 рдореБрджреНрджрд╛
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAJDEBDX72NB5Z7ZJPTDHVLRAJOOXANCNFSM4KMLWYFQ
.
рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВ! рдХрдИ рдЯреИрдЧ рдЙрдкрд╕рд░реНрдЧ w/рдкреИрдХреЗрдЬ рдирд╛рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ packages
рдлрд╝реАрд▓реНрдб рдкрд╕рдВрдж рд╣реИред
@hipsstersmoothie рдЖрдЬ рд╢рд┐рдкрд┐рдЯ рдХреЗ рд╕рд╛рде 2 npm рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ? рдпрд╛ рдСрдЯреЛ рдореЗрдВ рдХреБрдЫ рдлреАрдЪрд░ рдЯреЙрдЧрд▓ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд▓реЛрдХрди рдирд╣реАрдВ рд╣реИред
@vincentbriglia рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реЛрдЧрд╛ рдЬреЛ GitHub рдкреИрдХреЗрдЬ рдХреЗ рдХрд╛рдо рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ? рдпрд╣ npm рдкреНрд▓рдЧрдЗрди рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧреБрд▓реНрд▓рдХ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред next
рдФрд░ latest
рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдХреИрдирд░реА рдЙрддрдирд╛ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░?
@hipsstersmoothie рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЙрд╕реА рдкреИрдХреЗрдЬ рдХреЛ NPM рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдФрд░ GHPR рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ GHPR, рднрд▓реЗ рд╣реА рдЗрд╕ рд░реВрдк рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рд╣реЛ, рдкреНрд░реЙрдХреНрд╕реА рдкреИрдХреЗрдЬ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ npm рдФрд░ github рдкрд░ рд╕рдорд╛рди рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИред
рд╣рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрдВрдж рджрд░рд╡рд╛рдЬреЛрдВ рдХреЗ рдкреАрдЫреЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо feature branches > next
рд╕реЗ рд╣рдорд╛рд░реА рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреАрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд/рдЕрдиреБрдореЛрджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдирд░реА рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреИрдирд░реА рдмрд┐рд▓реНрдб рдЕрднреА рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред npm рдкреНрд▓рдЧрдЗрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЦреЛрдирд╛ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реЛрдЧреАред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреАрдПрдЪрдкреАрдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдВрджрд░реНрдн рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рдЬреА "рд╕рдВрдЧрдарди" рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрдерд╛рди рд╣реИ рдФрд░ рдпрджрд┐ рдХреЛрдИ рдШрдЯрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рддреЛ npmjs.org рдорд╛рдзреНрдпрдорд┐рдХ рд╣реИред (рдореИрдВрдиреЗ рдХрд┐рд╕реА рдХреЛ рдЬреАрдердм рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ)ред рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ npmjs рд╣реИ, рдХреЛрдИ GHPR рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдирд┐рдЬреА рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдирд╣реАрдВ рд╣реИред
рдПрдХ рддрд░рдл рдзреНрдпрд╛рди рджреЗрдВ, рдЪреВрдВрдХрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ GHPR рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ: рд╣рдордиреЗ рдПрдХ рдСрдЯреЛ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдЕрд▓рдЧ рд░рдЦрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ (orgs рдкреИрдХреЗрдЬ рдХреЗ 50Gb рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ docker рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЗрдореЗрдЬрд┐рд╕)
v10 рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рддрдХ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ ghpr рдкреНрд░рдХрд╛рд╢рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢реА рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрдВрдЧрд╛, рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд░реЛрдорд╛рдВрдЪрдХ рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж рдЕрдзрд┐рдХ "рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░рдорд╛рдг" рд╣реИрдВред
рд╣рдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдФрд░ рдирд┐рдЬреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд░рд╣ рд╕рдХрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред
рдореИрдВ "рдорд╛рдзреНрдпрдорд┐рдХ рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА" рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рддреЛ рдПрдирдкреАрдПрдо рдкреНрд▓рдЧрдЗрди рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рднреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ред рдлрд┐рд░ рдпрд╣ рдирдпрд╛ рдкреНрд▓рдЧрдЗрди рдПрдХ рджреВрд╕рд░реА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдЧрд╛ (рдЪрд╛рд╣реЗ рд╡рд╣ npm рдпрд╛ ghpr рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛) рдЬреЛ рднреА рд╕рдВрд╕реНрдХрд░рдг HEAD рдХрдорд┐рдЯ рдкрд░ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд░реА рдХрд░рдирд╛ред
рдПрдХ рддрд░рдл рдзреНрдпрд╛рди рджреЗрдВ, рдЪреВрдВрдХрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ GHPR рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ: рд╣рдордиреЗ рдПрдХ рдСрдЯреЛ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдЕрд▓рдЧ рд░рдЦрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ (orgs рдкреИрдХреЗрдЬ рдХреЗ 50Gb рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ docker рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЗрдореЗрдЬрд┐рд╕)
рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╡реЗ рд╕реАрдорд╛рдПрдВ рдореМрдЬреВрдж рд╣реИрдВ!
рдпрд╣ рдирдпрд╛ рдкреНрд▓рдЧрдЗрди рджреВрд╕рд░реА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдЧрд╛ (рдЪрд╛рд╣реЗ рд╡рд╣ npm рд╣реЛ рдпрд╛ ghpr рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛) рдЬреЛ рднреА рд╕рдВрд╕реНрдХрд░рдг HEAD рдХрдорд┐рдЯ рдкрд░ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд░реА рдХрд░рдирд╛
рдЕрдЪреНрдЫрд╛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛! рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╣рдорд╛рд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рднреА
рдирдорд╕реНрддреЗ! рдЗрд╕ рдереНрд░реЗрдб рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдСрдЯреЛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдПрдХ рд╣реА рд░рд┐рд▓реАрдЬ рд╕реЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЪреАрдЬреЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкреНрд▓рдЧрдЗрди рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╛рдЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рд╕рднреА
git-tag
рдХреЛ рдЫреЛрдбрд╝рдХрд░)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИред рдХреНрдпрд╛ docker
рдкреНрд▓рдЧрдЗрди рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рд╣реИ: рдореБрдЭреЗ рдПрд╕рдмреАрдЯреА (
рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рдореЛрдиреЛрд░реЗрдкреЛ рдкреНрд░рдмрдВрдзрди рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рдЗрд╕ рдзрд╛рдЧреЗ рд╕реЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рдХреНрд╖реНрдп рдХрдИ рдЙрдк-рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореЛрдиреЛрд░реЗрдкреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬрд┐рдирдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд╢рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред рдПрдХ рдПрдХрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдФрд░ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдЧреНрд░рд╣ (рдХрд╣реАрдВ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ)ред рдпрд╛ рдПрдХ рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛ рдЬрд┐рд╕реЗ рдПрдирдкреАрдПрдо рдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЧрд┐рдЯрд╣рдм рд╡рд┐рдЬреНрдЮрдкреНрддрд┐ рдкрд░ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдорд┐рдЯ, рдЯреИрдЧ рдФрд░ рдкреБрд╢ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╢реЛрд░ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред рд╢рд╛рдпрдж рдЙрди рдЧрд┐рдЯ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЛрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ? рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ
package
рд▓рд┐рдП _want_ рдЕрд▓рдЧ рдХрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдпрд╣ рдореБрдЦреНрдп рдореБрджреНрджрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рджрд╛рд╡реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рднреНрд░рдо рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЖрджреЗрд╢ "рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реИ"ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ publish
рд╣реБрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП _only publish_ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдХрдорд┐рдЯ рдмрдирд╛рдирд╛ рдпрд╛ рдЧрд┐рдЯ рдЯреИрдЧ рдХреЛ рдкреБрд╢ рдХрд░рдирд╛ред рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд╢рди рдкреНрд▓рдЧрдЗрди рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рдЧреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдФрд░/рдпрд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдСрдЯреЛ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рдПрдирдкреАрдПрдо рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкреНрд░рддрд┐ рдмрд╣реБрдд рдкрдХреНрд╖рдкрд╛рддреА рд╣реИ?