https://github.com/intuit/auto-release/issues/176 . рд╕реЗ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛
@aleclarson рдиреЗ рдХрд╣рд╛:
рдпрд╣рд╛рдБ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рддреБрд░рдВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдпрд╣
semantic-release
рд╢реИрд▓реА рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдХреЗ рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг:fix:
,feat:
,BREAKING
) рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрддpatch
рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдкреАрдЖрд░ рдХреЛminor
/major
рд▓реЗрдмрд▓ред
рдЗрд╕ рдЯреНрд╡рд┐рдЯрд░ рдереНрд░реЗрдб рд╕реЗ рдкреНрд░реЗрд░рд┐рддредрдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓рдЧрдЗрди рдорд╛рдиреЗрдВрдЧреЗ?
@hipsstersmoothie рдиреЗ рдХрд╣рд╛:
рд╣рд╛рдБ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд▓рдЧрдЗрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ! рдореИрдВ рдЗрд╕рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реБрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
parseCommit
рдирд╛рдо рдХрд╛ рдПрдХ рд╣реБрдХ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ
@aleclarson рдиреЗ рдХрд╣рд╛:
рд╣рдо рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдХрдорд┐рдЯ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕-рдкреНрд░рддрд┐рдмрджреНрдз-рд╕рдВрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐ esm рдкрд░ рдЗрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рднрд╛рд░реА рдмрдирд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди NodeJS рдореВрд▓ рд░реВрдк рд╕реЗ ES рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред рдЗрд╕ рдмреАрдЪ, рд╣рдо рдЗрд╕реЗ рдлреЛрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
esm
рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдХрд╛рдВрдЯрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рднреА рдпрд╣semantic-release
рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ ~6x рдЫреЛрдЯрд╛ рд╣реИред
рдпрд╣ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рдИрдПрд╕рдПрдо рдкрд░ рдХреИрд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рд╢рд╛рдпрдж рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдИрдПрд╕рдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рди рдХрд┐ рдЙрддреНрдкрд╛рджрди рдореЗрдВ
рдЗрд╕рдХреА рддрд░рд╣ рдмрд╕ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдФрд░ рдбрд┐рд╕реНрдЯрд░реНрдм рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмреЗрдмреЗрд▓-рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИ
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдРрд╕рд╛ рд╣реА рд╕реЛрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдЕрдиреНрдпрдерд╛ рдХрд╣рддреА рд╣реИред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдУрд╣ рдПрдирд╡реАрдПрдо, рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ esm
рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдкреАрдЖрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдЕрдиреНрдпрдерд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдореЙрдбреНрдпреВрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ рдФрд░ рджреБрдмрд▓рд╛
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ esm
рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/standard-things/esm/issues/13#issuecomment -321710199
рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдВрдЯрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ import
рдФрд░ export
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ CommonJS рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд╣рдореНрдо рд╣рд╛рдБ рдореИрдВ рд╕рд┐рд░реНрдл рд░реАрдбрдореА рдкрдврд╝ рд░рд╣рд╛ рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЧрд▓рдд рд╕рдордЭрд╛
esm 65kb рдЬреЛрдбрд╝рдиреЗ рд▓рдЧрддрд╛ рд╣реИ
https://packagephobia.now.sh/result?p=parse-commit-message
https://bundlephobia.com/[email protected]
рдореИрдВ https://github.com/developit/microbundle рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдирд╕рдВрдкрд░реНрдХ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж рд╡рд╣ рдЗрд╕реЗ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп https://github.com/egoist/bili рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдЖрдзрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдЖрдХрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рдЯреНрд░реЗрдбрдСрдлрд╝ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдкрдХреНрдХрд╛ рдирд╣реАрдВред
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдкрд╛рд░реНрдЯреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред git-commits-since
рдФрд░ detect-next-version
рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ рдЧрд╛рд░рдВрдЯреА рдХреЗ рдХрд╛рд░рдг esm
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдиреЛрдб рдХреЗ esm рдлреАрдЪрд░ рдлреНрд▓реИрдЧ рдХреЗ рдкреАрдЫреЗ рд╣реИред рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ ascjs рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди-рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди esm
рдХреЗрд╡рд▓ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ _any_ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдзрд╛рд╡рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реБрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдЬреЛ рд╣рдореЗрдВ рдЙрд╕ рддрдХ рд▓рд╛рддрд╛ рд╣реИ, рд╣рдо ascjs
рдпрд╛ asbundle
рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@aleclarson рдЖрдХрд╛рд░ рдореЗрдВ рдореБрдЭреЗ рдЗрддрдиреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЛрдб рд▓реИрдВрдб рдореЗрдВ рднреА, рд╣рдорд╛рд░реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рд╕рдордЭрджрд╛рд░ рд╣реИрдВ рдХрд┐ рдзреЛрдЦрд╛ рдЦрд╛ рд╕рдХреЗрдВред
@aleclarson рдЖрдХрд╛рд░ рдореЗрдВ рдореБрдЭреЗ рдЗрддрдиреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЛрдб рд▓реИрдВрдб рдореЗрдВ рднреА, рд╣рдорд╛рд░реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рд╕рдордЭрджрд╛рд░ рд╣реИрдВ рдХрд┐ рдзреЛрдЦрд╛ рдЦрд╛ рд╕рдХреЗрдВред
рдореИрдВрдиреЗ рдХрднреА рднреА рдЪрд┐рдВрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдлреВрд▓рд╛ рд╣реБрдЖ рдФрдЬрд╛рд░реЛрдВ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд╣реВрдВред "рд▓рд╛рдЗрдЯрд░ рдж рдмреЗрдЯрд░" рдореЗрд░реЗ рдЕрдВрдЧреВрдареЗ рдХрд╛ рдирд┐рдпрдо рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХрд╛ рдЕрдкрдирд╛ред рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдмрд╣рд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред :)
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдкрд╛рд░реНрдЯреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред
git-commits-since
рдФрд░detect-next-version
рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ parse-commit-message
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреИрдХреЗрдЬ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд▓реЙрдЬрд┐рдХ рд▓рдЧрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА auto-release
рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж @hipsstersmoothie рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рддрд░реНрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ред
:рд░реЙрдХреЗрдЯ: рдЗрд╢реНрдпреВ 10.0.0 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:рд░реЙрдХреЗрдЯ:
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдХрднреА рднреА рдЪрд┐рдВрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдлреВрд▓рд╛ рд╣реБрдЖ рдФрдЬрд╛рд░реЛрдВ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд╣реВрдВред "рд▓рд╛рдЗрдЯрд░ рдж рдмреЗрдЯрд░" рдореЗрд░реЗ рдЕрдВрдЧреВрдареЗ рдХрд╛ рдирд┐рдпрдо рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХрд╛ рдЕрдкрдирд╛ред рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдмрд╣рд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред :)
рдореИрдВ
parse-commit-message
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреИрдХреЗрдЬ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд▓реЙрдЬрд┐рдХ рд▓рдЧрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реАauto-release
рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж @hipsstersmoothie рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рддрд░реНрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ред