Auto: рдорд╛рд╡реЗрди-рд░рд┐рд▓реАрдЬрд╝-рдкреНрд▓рдЧрдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдордИ 2020  ┬╖  44рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: intuit/auto

рдореИрдВрдиреЗ auto maven рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рдХреА auto рд╕рд╛рде рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдРрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдХреБрдЫ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВред

auto рдХреЗ рд▓рд┐рдП maven рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ maven-release-plugin ред рдЗрд╕рдХреЗ рдХрдИ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ auto рд▓рд┐рдП рдЦрд░рд╛рдм рдлрд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВред

рдХреА рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ maven-release-plugin рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрди рдЪрд░рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ release:prepare :

  1. рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдХреЛрдИ рдЕрдирдХрдорд┐рдЯреЗрдб рдкрд░рд┐рд╡рд░реНрддрди рддреЛ рдирд╣реАрдВ рд╣реИ
  2. рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреЛрдИ рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ
  3. рдкреАрдУрдПрдо рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрдХреНрд╕-рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕реЗ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓реЗрдВ
  4. рдЯреИрдЧ рдХреЗ рдЕрдВрддрд┐рдо рдЧрдВрддрд╡реНрдп рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SCM рдЬрд╛рдирдХрд╛рд░реА рдХреЛ POM рдореЗрдВ рдмрджрд▓реЗрдВ
  5. рд╕рдм рдХреБрдЫ рдХрд╛рд░реНрдп рдХреНрд░рдо рдореЗрдВ рд╣реИ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдкреАрдУрдПрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ
  6. рд╕рдВрд╢реЛрдзрд┐рдд рдкреАрдУрдПрдо рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВ
  7. рд╕рдВрд╕реНрдХрд░рдг рдирд╛рдо рдХреЗ рд╕рд╛рде SCM рдореЗрдВ рдХреЛрдб рдХреЛ рдЯреИрдЧ рдХрд░реЗрдВ
  8. рдкреАрдУрдПрдо рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрдХ рдирдП рдорд╛рди y-SNAPSHOT . рдкрд░ рдЯрдХреНрдХрд░ рджреЗрдВ
  9. рд╕рдВрд╢реЛрдзрд┐рдд рдкреАрдУрдПрдо рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВ

рдФрд░ рдлрд┐рд░ release:perform рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд░рд┐рд▓реАрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  1. рд╡реИрдХрд▓реНрдкрд┐рдХ рдЯреИрдЧ рд╡рд╛рд▓реЗ SCM URL рд╕реЗ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░реЗрдВ
  2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рд╡реЗрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдПрдБ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, deploy site-deploy )

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд▓рдЧрдЗрди auto рдЕрдиреБрд░реВрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди release:prepare рд▓рдХреНрд╖реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЛ рдирд┐рдкрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрд┐рдЯ рд╣реИрдХрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, maven-release-plugin рд╡рд╣ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП auto рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрдо-рд╕реЗ-рд╕реБрдВрджрд░ рддрд░реАрдХреЗ рд╕реЗ "рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо" рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рд▓реЗрдЦрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рд╕рдорд╛рди рдорд╣рддреНрд╡ рдХреА рд╣реИ - рд╡рд░реНрддрдорд╛рди рдореЗрдВ maven рдкреНрд▓рдЧрдЗрди <scm/> рдФрд░ <developers/> рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pom.xml рдЕрдиреБрднрд╛рдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реАред рдпрд╣ рдмрд╛рдХреА auto рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ git рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. author <developers/> рдЕрдиреБрднрд╛рдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ pom.xml , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдЪрдпрдирд┐рдд author рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред <developers/> рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде git рдкреНрд░рддрд┐рдмрджреНрдз рд▓реЗрдЦрдХ рдХреЛ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред
  2. owner рдФрд░ repo рдЬрд╛рдирдХрд╛рд░реА <scm/> рдЕрдиреБрднрд╛рдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрдВрдбрд╛рд░ рдФрд░ рд╡рд░реНрддрдорд╛рди рдХреНрд▓реЛрди рдХреЗ рдорд╛рд▓рд┐рдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред

рдкреНрд▓рдЧрдЗрди рдХрд╛ рдПрдХ рдЧрд╣рд░рд╛ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдкрд░, рдФрд░ рдЗрд╕реЗ gradle рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдкрд░, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ maven-release-plugin рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд▓рдХреНрд╖реНрдп рдЬреЛ рд▓рд╛рдн рдХрд╛ рд╣реЛрдЧрд╛ рд╡рд╣ рд╣реИ release:update-versions рд▓рдХреНрд╖реНрдпред рдЙрд╕ рд▓рдХреНрд╖реНрдп рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреБрдЫ рд╕рд░рд▓ XML рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

maven-release-plugin рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдФрд░ рдиреНрдпреВрдирддрдо рд▓рд╛рдн рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ auto maven рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдзрд┐рдХ auto рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

enhancement released

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

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реБрдБ!

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

рдореИрдВ рдХрд┐рд╕реА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдирд╛ рд╣реИред рд╣рдо рд╕рдВрднрд╡рдд: #резрезрелрем рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдХреБрдЫ рдЫреЛрдЯреЗ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд░реЛрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ <scm/> рдФрд░ <developers/> рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рджреЛ рдмрд┐рдВрджреБ рдЧрд▓рдд рд╣реИрдВред npm рдкреНрд▓рдЧрдЗрди рдЙрдиреНрд╣реЗрдВ package.json рд╕реЗ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ _ рдЪрд╛рд╣рд┐рдП_ pom.xml ?

рдпрджрд┐ рд╡реЗ pom рдПрдирдкреАрдПрдо repository рдФрд░ author рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рдордХрдХреНрд╖ рд╣реИрдВ рддреЛ рд╣рд╛рдБред

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

рдпрд╣ npm рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИред рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдСрдЯреЛ рдЖрдкрдХреЗ git рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕реАрдЖрдИ рдПрдирд╡реА рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП author рд╕реЗрдЯ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

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

рдХреНрдпрд╛ рдпрд╣ рдЕрд▓рдЧ рд╣реЛрдЧрд╛? рдПрдирдкреАрдПрдо рджреБрдирд┐рдпрд╛ рдореЗрдВ repository рдлрд╝реАрд▓реНрдб рдЖрдорддреМрд░ рдкрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ auto fork рдкрд░ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рд╡реЗ рд╣реЛрддреЗ рддреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реЛрддреА рдХрд┐ рд╡реЗ repository рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рджреЗрдВрдЧреЗ

рдареАрдХ рд╣реИ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдЙрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрди рдЪреАрдЬреЛрдВ (рд╡рд░реНрддрдорд╛рди) рдХреА рддрд▓рд╛рд╢ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡реЗ pom.xml рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рдкрд╕ рдЖрдПрдВ рдФрд░ рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ .autorc рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдкреНрд▓рдЧ рдЗрди рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛ рдпрджрд┐ рдЙрд╕реЗ <scm/> рдФрд░ <developers/> рдЕрдиреБрднрд╛рдЧ pom.xml рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред

рдЖрд╣ рд╣рд╛рдБ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдЧ рд╣реИред рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП https://github.com/intuit/auto/blob/master/plugins/npm/src/index.ts#L504

рдХреНрдпрд╛ рдорд╢реАрди-рдкрдардиреАрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг NUMBER рдХреЛ auto рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ auto version рдХрдорд╛рдВрдб рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд╕реНрдХрд░рдг рдЯрдХреНрдХрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

рдЖрдк --quiet рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ред рдпрд╛ рдЗрд╕реЗ --dry-run рд╕рд╛рде рдкреЗрдпрд░ рдХрд░реЗрдВ рдФрд░ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЧреЗ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдереВрдХрдиреЗ рдХреЗ рд▓рд┐рдП version рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣ рдмрд╣реБ рдкреИрдХреЗрдЬ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЕрдЬреАрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

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

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

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

@hipsstersmoothie рдореЗрд░реЗ рдкрд╛рд╕ getAuthor , getRepo , рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИред рд╣реБрдХ рд╡реНрдпрд╡рд╣рд╛рд░ - рдЖрд░рдИ: https://github.com/intuit/auto/issues/1260#issuecomment рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА - ремрейрекреиреорежремрелрел, рдореИрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рд╡реЗ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг:
https://github.com/intuit/auto/blob/47d3b54ef1a7af990fe0ca898e747dd833fde3b1/plugins/maven/__tests__/maven.test.ts#L95

рдЗрд╕рд▓рд┐рдП, рдЬрдм рдореИрдВ undefined AuthorInformation рд▓реМрдЯрд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡, рдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╣реБрдХ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ throw рдлрд┐рд░ рд╕реЗ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ?

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓реМрдЯрдирд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ core рд╕реНрдерд╛рдиреАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП git рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ

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

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

рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдиреЙрдЯ рдЫреЛрдбрд╝ рджреЗрдВред рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ hooks.beforeRun рджреМрд░рд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдХреЛрдб рд╣реИ, рдХрд┐ рдЬрдм рдбрд┐рдмрдЧ рдХреЗ рддрд╣рдд hooks.beforeRun рдЯреИрдк рдХреЗ рджреМрд░рд╛рди рд▓реЗрдЦрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

    test("should get author from pom.xml", async () => {
      mockRead(`
        <project
          xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
          <developers>
            <developer>
              <name>Andrew Lisowski</name>
              <email>[email protected]</email>
            </developer>
          </developers>
        </project>
      `);

      await hooks.beforeRun.promise({} as any);

      expect(await hooks.getAuthor.promise()).toStrictEqual(
        expect.objectContaining({
          email: "[email protected]",
          name: "Andrew Lisowski",
        })
      );
    });

рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг getAuthor рд╣реБрдХ рдХреЗ рд▓рд┐рдП рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ beforeRun рд╣реБрдХ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдиреНрдп рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ (рдЧреНрд░реЗрдбрд▓, рдПрд╕ 3), рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред

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

рдПрдХ рд╢рд╛рдЦрд╛ рдзрдХреНрдХрд╛ рдФрд░ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ

@hipstersmoothie рдпрд╣рд╛рдБ рд╢рд╛рдЦрд╛ рд╣реИ: https://github.com/terradatum/auto/tree/remove-maven-release-plugin-requirement

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

рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк рдореБрдЭреЗ рдЬреЛ рднреА рдорджрдж рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ - рдореИрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ "рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдб рдЪрд▓рд╛рдПрдВ" рдХреА рдкреБрд░рд╛рдиреА-рд╡рд┐рджреНрдпрд╛рд▓рдп рдкрджреНрдзрддрд┐ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╛рдЗрд▓реЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП git reset --hard HEAD~1 рдЪрд▓рд╛рдПрдВ, рдХреБрд▓реНрд▓рд╛ рдФрд░ рджреЛрд╣рд░рд╛рдПрдВред"

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

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рдореЗрд╡реЗрди рдкреНрд▓рдЧрдЗрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдФрд░ npm test рдЪрд▓ рд░рд╣рд╛ рд╣реЛ - рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ "test": "jest --maxWorkers=2 --config ../../package.json" ред

рдФрд░ рдЕрдЧрд░ рдореИрдВ рд╕рдВрдкрд╛рджрдХ рд╕реЗ IntelliJ рдЯреЗрд╕реНрдЯ рд░рдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:

  тЧП Test suite failed to run

    SyntaxError: /home/rbellamy/Development/Terradatum/auto/plugins/maven/__tests__/maven.test.ts: Unexpected token, expected "," (15:24)

      13 | }));
      14 | 
    > 15 | const mockRead = (result: string) =>
         |                         ^
      16 |   jest
      17 |     .spyOn(fs, "readFile")
      18 |     // @ts-ignore

      at Parser._raise (../../node_modules/@babel/parser/src/parser/location.js:241:45)
      at Parser._raise [as raiseWithData] (../../node_modules/@babel/parser/src/parser/location.js:236:17)
      at Parser.raiseWithData [as raise] (../../node_modules/@babel/parser/src/parser/location.js:220:17)
      at Parser.raise [as unexpected] (../../node_modules/@babel/parser/src/parser/util.js:149:16)
      at Parser.unexpected [as expect] (../../node_modules/@babel/parser/src/parser/util.js:129:28)
      at Parser.expect [as parseParenAndDistinguishExpression] (../../node_modules/@babel/parser/src/parser/expression.js:1293:14)
      at Parser.parseParenAndDistinguishExpression [as parseExprAtom] (../../node_modules/@babel/parser/src/parser/expression.js:1029:21)
      at Parser.parseExprAtom [as parseExprSubscripts] (../../node_modules/@babel/parser/src/parser/expression.js:539:23)
      at Parser.parseExprSubscripts [as parseMaybeUnary] (../../node_modules/@babel/parser/src/parser/expression.js:519:21)
      at Parser.parseMaybeUnary [as parseExprOps] (../../node_modules/@babel/parser/src/parser/expression.js:311:23)

рдореИрдВ jest.config.ts рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдХрд░ IntelliJ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

module.exports = {
  clearMocks: true,
  moduleFileExtensions: ['js', 'ts'],
  testEnvironment: 'node',
  testMatch: ['**/*.test.ts'],
  testRunner: 'jest-circus/runner',
  transform: {
    '^.+\\.ts$': 'ts-jest'
  },
  verbose: true
}

рдФрд░ рдлрд┐рд░ рд░реВрдЯ рдпрд╛ рдорд╛рд╡реЗрди package.json рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ jest-circus рдЬреЛрдбрд╝рдирд╛ред

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

рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд░реВрдЯ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВред

yarn test plugins/maven

рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЙрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдмрд┐рдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

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

рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕рд░ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛: рд░реВрдмреА) auto рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрд░ рд░реЗрдЧреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ beforeRun рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛? рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ ...

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рд╕рд╛рде рд░реЗрдЧреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ - рдпрд╣ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рдФрд░ рднрдВрдЧреБрд░ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DOMParser рдпрд╛ XMLSerializer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ xml2js рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдЕрдм рдЗрд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ!

https://github.com/terradatum/auto/blob/remove-maven-release-plugin-requirement/plugins/maven/src/index.ts#L127

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" рдЯреИрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрд╕рд┐рдВрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдЗрд╕реЗ рдмрджрд▓реЗрдВ

auto.hooks.beforeRun.tap(this.name, async () => {

рдЗрд╕рдХреЗ рд▓рд┐рдП

auto.hooks.beforeRun.tapPromise(this.name, async () => {

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

рдХреГрдкрдпрд╛ рдХрд░реЗрдВ... рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВред

рдЖрдЧреЗ рдмрдврд╝реЛ!

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

@hipstersmoothie рдореБрдЭреЗ рдЯреЗрд░рд╛рдбрд╛рдЯрдо/рдСрдЯреЛ рд░реЗрдкреЛ рдХреЗ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИ?

рдЕрдм рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рд╣реИ

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

рдирд╣реАрдВред рд╕рд┐рдВрдХ рдЯреИрдк рд╕рдорд╛рди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд╛рджреЗ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рдо рдХреЛ рднрдВрдЧреБрд░/рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд░реЗрдЧреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реА рдЪрд┐рдВрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ <version/> рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд░реЗрдЧреЗрдХреНрд╕ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕реЗ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХреНрд╕рдПрдордПрд▓ рдбреЛрдо (xmldom, xmldom-ts, xml2js, xml2json, рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдорд╣рд╛рдХрд╛рд╡реНрдп рдЕрдиреБрдкрд╛рдд рдХреЗ рджрд▓рджрд▓ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рдкрд╛рдпрд╛ рд╣реИред рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЦреБрдж рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рдорд╛рдирддрд╛, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╣реАрдВ рдЧрд┐рд░ рд░рд╣рд╛ рд╣реВрдВред

рджреЛ рдЪреАрдЬреЗрдВ рдореЗрд░реЗ рдЧрдзреЗ рдХреЛ рдорд╛рд░ рд░рд╣реА рд╣реИрдВ:

  1. рдореИрдВ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдореЗрд╡реЗрди рдкрд░реАрдХреНрд╖рдг (рдФрд░ рдХреЗрд╡рд▓ рдореЗрд╡реЗрди рдкрд░реАрдХреНрд╖рдг) рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓рд┐рдЬреЗ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ред рдХрднреА-рдХрднреА рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдпрд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  2. pom.xml рдХреЛ Document рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ "/project/version" рдФрд░ "/project/parent/version" рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП xpath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

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

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

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

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реВрдБред рдореИрдВ рд╡реАрдПрд╕рд╕реАрдУрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдк рд░реВрдЯ рд╕реЗ yarn test plugins/maven рд╕рд╛рде рджреМрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

pom.xml рдХреЛ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ "/ рдкреНрд░реЛрдЬреЗрдХреНрдЯ/рд╕рдВрд╕реНрдХрд░рдг" рдФрд░ "/ рдкреНрд░реЛрдЬреЗрдХреНрдЯ/рдкреИрд░реЗрдВрдЯ/рд╕рдВрд╕реНрдХрд░рдг" рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП xpath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИред рдЕрдЧрд░ рд╡рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред

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

рдХреНрдпрд╛ рдХреЗрд╡рд▓ рдкреНрд▓рдЧрдЗрди рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬреИрд╕реЗ https://stackoverflow.com/questions/5726291/updating-version-numbers-of-modules-in-a-multi-module-maven-project рдорд╛рд╡реЗрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ? рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдПрдорд╡реАрдПрди рдЖрдзрд╛рд░рд┐рдд рдЪреАрдЬ рд╕рд╣реА рд╣реЛрдЧреАред


рдЗрд╕ рдкрд░ рдЗрддрдирд╛ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП BTW рдзрдиреНрдпрд╡рд╛рдж!

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╢реЗрдЦрд╝реА (рдИрд╢) рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ-рдореЗрд╡реЗрди-рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рд╛рди рдмрд┐рдВрджреБ - рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ ... рдпрд╣ рдореЗрд╡реЗрди-рд░рд┐рд▓реАрдЬ-рдкреНрд▓рдЧрдЗрди рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд╣реА рд╕рдордЭреМрддрд╛ рд╣реИ рдФрд░ рдСрдЯреЛ рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП yarn test plugins/maven рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ console.log рдмрдЬрд╛рдп рдЪреАрдЬреЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рднреА рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдирд╛рд░рд╛рдЬрд╝рдЧреА рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ...

рдПрдХ рд▓рдВрдмреА рдФрд░ рдХрдард┐рди рдпрд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рдж, рдореИрдВ рд▓рдЧрднрдЧ рдореИрдВ рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рдХрд┐ рдпрд╛ рддреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ pom.xml рд╕реАрдзреЗ рдлрд╛рдЗрд▓ рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ versions-maven-plugin рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВред

рдХреБрдЫ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВред pom.xml рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдПрдХ DOM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

  1. tsconfig.json рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ "dom" lib "es2017" рдореЗрдВ "compilerOptions" :

рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

"compilerOptions": [ "dom", "es2017" ]

рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛:

"compilerOptions": [ "es2017", "dom" ]

"рдлрд┐рдХреНрд╕" рдХреЗ рдмрд┐рдирд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ:

$ tsc -b tsconfig.dev.json
node_modules/@types/jsdom/index.d.ts:28:40 - error TS2304: Cannot find name 'DocumentFragment'.

28         static fragment(html: string): DocumentFragment;
                                          ~~~~~~~~~~~~~~~~

node_modules/@types/jsdom/index.d.ts:45:28 - error TS2304: Cannot find name 'Node'.

45         nodeLocation(node: Node): ElementLocation | null;
                              ~~~~

node_modules/@types/jsdom/index.d.ts:188:19 - error TS2304: Cannot find name 'HTMLScriptElement'.

188         element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement;
                      ~~~~~~~~~~~~~~~~~

node_modules/@types/jsdom/index.d.ts:188:39 - error TS2304: Cannot find name 'HTMLLinkElement'.

188         element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement;
                                          ~~~~~~~~~~~~~~~
<snip - numerous other errors>
  1. jest рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП testEnvironment: 'jsdom' рдХреЗ рд╡рд┐рдкрд░реАрдд 'node' ред

"рдлрд┐рдХреНрд╕" рдХреЗ рдмрд┐рдирд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ:

$ jest --runInBand plugins/maven
 FAIL  plugins/maven/__tests__/maven.test.ts
  maven
    updatePomVersion
      тЬХ should replace the previousVersion with the newVersion (39ms)

  тЧП maven тА║ updatePomVersion тА║ should replace the previousVersion with the newVersion

    ReferenceError: XPathEvaluator is not defined

      51 | ) => {
      52 |   const pomDom = new jsdom.JSDOM(content, {contentType: "text/xml"}).window.document;
    > 53 |   const evaluator = new XPathEvaluator();
         |                     ^
      54 |   const resolver = evaluator.createNSResolver(pomDom.documentElement);
      55 |   const expression = evaluator.createExpression("/project/version", resolver);
      56 |   const versionNode = expression.evaluate(pomDom.documentElement, XPathResult.FIRST_ORDERED_NODE_TYPE);

      at Object.exports.updatePomVersion (plugins/maven/src/index.ts:53:21)
      at Object.test (plugins/maven/__tests__/maven.test.ts:53:26)

рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА "рдлрд┐рдХреНрд╕" рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рди рддреЛ plugins/maven/tsconfig.json рдФрд░ рди рд╣реА jest рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди plugins/maven/package.json ред рд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рдкрд░ рд╣реИ? рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ

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

рдореИрдВрдиреЗ рдмрд╕ рдорд╛рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдореЗрдВ рд░рд┐рдмреЗрд╕ рдХрд┐рдпрд╛, рдФрд░ рдЕрдм рдореБрдЭреЗ рдХрдИ рдмрд┐рд▓реНрдб рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред

рдкрд╣рд▓реЗ yarn.lock рдлрд╝рд╛рдЗрд▓ рдорд░реНрдЬ рд╡рд┐рд░реЛрдз рдХреЗ рдХрд╛рд░рдг рдмреЛрд░ рд╣реЛ рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдкрдбрд╝рд╛:

error Incorrect integrity when fetching from the cache for "babel-plugin-jest-hoist". Cache has "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== sha1-EpyAulx/x1uvOkW5Pi43LVfKJnc=" and remote has "sha512-+AuoehOrjt9irZL7DOt2+4ZaTM6dlu1s5TTS46JBa0/qem4dy7VNW3tMb96qeEqcIh20LD73TVNtmVEeymTG7w==". Run `yarn cache clean` to fix the problem

рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛, рдЕрдм рдореБрдЭреЗ @octokit/graphql рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ:

$ tsc -b tsconfig.dev.json
packages/core/src/auto.ts:2018:13 - error TS2571: Object is of type 'unknown'.

2018         if (result?.[`hash_${commit}`]) {
                 ~~~~~~

packages/core/src/auto.ts:2019:27 - error TS2571: Object is of type 'unknown'.

2019           const number = (result[`hash_${commit}`] as ISearchResult).edges[0]
                               ~~~~~~

packages/core/src/release.ts:286:52 - error TS2769: No overload matches this call.
  Overload 1 of 2, '(o: ArrayLike<unknown> | { [s: string]: unknown; }): [string, unknown][]', gave the following error.
    Argument of type 'unknown' is not assignable to parameter of type 'ArrayLike<unknown> | { [s: string]: unknown; }'.
      Type 'unknown' is not assignable to type '{ [s: string]: unknown; }'.
  Overload 2 of 2, '(o: {}): [string, any][]', gave the following error.
    Argument of type 'unknown' is not assignable to parameter of type '{}'.

286       (acc, result) => [...acc, ...(Object.entries(result) as QueryEntry[])],
                                                       ~~~~~~


packages/core/src/__tests__/git.test.ts:209:12 - error TS2571: Object is of type 'unknown'.

209     expect(result!.data).not.toBeUndefined();
               ~~~~~~~


Found 4 errors.

error Command failed with exit code 2.

рдореБрдЭреЗ рдмрд╣реБрдд рдЙрдореНрдореАрдж рдереА рдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛ рдкрд╛рдКрдВрдЧрд╛ - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬреЛ рдореБрдЭреЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА - рдореИрдВрдиреЗ рдЕрднреА yarn.lock рдлрд╝рд╛рдЗрд▓ рдХреЛ master рд╕реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ yarn clean && yarn install && yarn build && yarn test plugins/maven рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдЪреНрдЫрд╛ рд╣реВрдВ -рдЬрд╛рдУред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдореИрдВ рдЖрдЬ рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реВрдВрдЧрд╛ред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛!


:рд░реЙрдХреЗрдЯ: рдореБрджреНрджрд╛ v9.40.0 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд░реЙрдХреЗрдЯ:

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

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

jdalrymple picture jdalrymple  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hipstersmoothie picture hipstersmoothie  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zephraph picture zephraph  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aleclarson picture aleclarson  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thuringia picture thuringia  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ