рдмреИрдХрдмреЛрди-рдкреВрд░реНрд╡рд╡рдд рдХрд░реЗрдВ/рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╕рд▓рд╛рд╣рдХрд╛рд░
рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдмреИрдХрдмреЛрди-рдкреВрд░реНрд╡рд╡рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдХреЛ 6 рд╕рд╛рд▓ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУрдкреНрд░рд╢реНрди
рд╡рд┐рд╡рд░рдг: v0.17.3 рдХреНрдпрд╛ рдЖрдк рдбреЗрдореЛ рд╕реЗ рдмрдЧ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ? [x] рд╣рд╛рдБ[ ] рдирд╣реАрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдиреАрдЪреЗ рджреЗрдЦреЗрдВ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрднрд░рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ underscore рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдЬреНрдЮрд╛рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд░рдХреНрд╖рд╛рдЫрд┐рджреНрд░ рд╣реИред grapejs рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг backbone-undo ^0.2.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ https://github.com/artf/grapesjs/рдмреНрд▓реЙрдм/рдбреА7рдПрдл773202рд╕реА72710рдбреА787рдИ2рд╕реАрдИ418рд╕реА114рд╕реА9рдПрдл81986/package.json#рдПрд▓20 рдЬрд┐рд╕рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг npm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 0.2.5 рдЧрдпрд╛ рд╣реИ backbone-undo рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 0.2.5 рдореЗрдВ [рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг] (https://github.com/osartun/Backbone.Undo.js/blob/d04ee132f4fd00...
рдЬрд╡рд╛рдм (4)
рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдмреИрдХрдмреЛрди-рдкреВрд░реНрд╡рд╡рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдХреЛ 6 рд╕рд╛рд▓ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдкреИрдХреЗрдЬ рдХреЛ 6 рд╕рд╛рд▓ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЦреИрд░, рдЗрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдЬреИрд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдг рд╕реЗ) рдпрд╣ рдПрдХ рдлреАрдЪрд░-рдкреВрд░реНрдг рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рдХреБрдЫ рдФрд░ рдЬреЛрдбрд╝рдиреЗ/рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡реИрд╕реЗ рднреА, рдпрд╣ PR .lock рд╕реНрддрд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХ...
рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджрд╡реИрд╕реЗ рднреА, рдпрд╣ PR .lock рд╕реНрддрд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдирдП рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЦреНрдп grapejs рд░реЗрдкреЛ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ backbone-undo рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг...
рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @chilled-рдХреИрдкреАрдмрд╛рд░рд╛ред рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдореБрджреНрджреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред GrapesJS рдЯреАрдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрд┐рдд рд░рдЦрдиреЗ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЕрднреА рдЖрдкрдХреЗ рд▓рд┐рдП: рдЙрдкрд▓рдмреНрдз рдкреИрдЪ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП npm audit fix рдЪрд▓рд╛рдПрдБ рдПрдХ рдирдП GrapesJS рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рдЪреБрдХрд╛ рд╣реЛ рд╕рдХрддрд╛...
рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░
рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред
рдЕрдВрдХ #6723
рдирд┐рд░реНрднрд░рддрд╛: grapesjs >=0.21.13 рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рдХрдордЬреЛрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [x] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдПрдЬ, рдореЛрдЬрд╝рд┐рд▓рд╛ рдкреНрд░рддрд┐...
рдЕрдВрдХ #5743
Iframe рд╡рд┐рд╢реЗрд╖рддрд╛ src рдореЗрдВ XSS рд╕реБрд░рдХреНрд╖рд╛рдЫрд┐рджреНрд░
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдПрдЬ v122 рдкреНрд░рддрд┐рд▓рд┐рдкрд┐...
рдЕрдВрдХ #6687
рдирд┐рд░реНрднрд░рддрд╛: рдмреИрдХрдмреЛрди-рдкреВрд░реНрд╡рд╡рдд рдмрд╣рд┐рд╖реНрдХреГрдд (рдПрдирдкреАрдПрдо) рд╣реИ - рдмрджрд▓рдиреЗ/рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛?
GrapesJS рд╕рдВрд╕реНрдХрд░рдг 0.22.14 (2025-11-20 рддрдХ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝) рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдЯреНрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ GrapesJS рдореЗрдВ рдХреЛрдИ рдмрд╣рд┐рд╖реНрдХреГрдд рдирд┐рд░реНрднрд░рддрд╛ рдирд╣...
рдЕрдВрдХ #4411
XSS рдЬрдм рдЪрдпрдирдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝реЗрдВ
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдо v102 рдкреНрд░рддрд┐рд▓...
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ
рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред
рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред
рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
рдкреЗрдЬрдХрд┐рдЯ: GrapesJS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдХреЛрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рд╕реНрд░реЛрдд-рдЙрдкрд▓рдмреНрдз Next.js рдРрдк - рдкреНрд░рдХрд╛рд╢рди, рдХрд╕реНрдЯрдо рдбреЛрдореЗрди, рд▓реАрдб, рдЪреЗрдХрдЖрдЙрдЯ рдФрд░ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓реЛрдбрд░ред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
GrapesJS рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдЯрд╣рд╛рдЙрд╕: рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЫреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдЕрднрд┐рдЧрдореНрдпрддрд╛ рдФрд░ рдПрд╕рдИрдУ рдХрд╛ рдСрдбрд┐рдЯ рдХрд░реЗрдВ
рд▓рд╛рдЗрд╡ WCAG 2.1/2.2 GrapesJS рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдСрдбрд┐рдЯрд░ + SEO рдореИрдиреЗрдЬрд░ред рдкреНрд░рддреНрдпреЗрдХ рдЦреЛрдЬ рд╕рдЯреАрдХ рдШрдЯрдХ рд╕реЗ рдмрдВрдзреА рд╣реЛрддреА рд╣реИ - рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ рдПрдХ-рдХреНрд▓рд┐рдХ рдлрд┐рдХреНрд╕ред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
GrapesJS DevTools: рдЖрдкрдХреЗ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдкреИрдирд▓
рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА console.log(editor.getSelected()) рдФрд░ рдПрдХ рджрд░реНрдЬрди рдлреЗрдВрдХрдиреЗ рд╡рд╛рд▓реЗ рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде GrapesJS рдбреАрдмрдЧ рдХрд┐рдпрд╛ рд╣реИ - рддреЛ рдпрд╣ рдкреЛрд╕реНрдЯ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ
рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред