@sentry/browser
@sentry/node
raven-js
raven-node
_(рдиреЛрдб рдХреЗ рд▓рд┐рдП рд░реЗрд╡реЗрди)_4.0.2
@ рд╕рдВрддрд░реА/рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рджреЛрдЧреБрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдмрдбрд╝рд╛ рд╣реИ: 86 рдХреЗрдмреА рдмрдирд╛рдо 39 рдХреЗрдмреА (рдЫреЛрдЯрд╛)ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рд╣реИ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рди рд╣реЛрдиреЗ рдХрд╛ рдЧрдВрднреАрд░ рдХрд╛рд░рдг рд╣реИред
рдЕрд░реЗ, рдЗрд╕реЗ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЬрдмрдХрд┐ рд╣рдо рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рд╕рд╣рдордд рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЫреЛрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ gzip рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ:
@sentry/browser
рд╣реИ 21.3799 KB
raven-js
13.44 рдХреЗрдмреА
рд╕рд╛рде рд╣реА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рднреА рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рдорд╛рд░реЗ рд╕реАрдбреАрдПрди рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред
рджреЗрдЦреЗрдВ: https://docs.sentry.io/quickstart/?platform=browser
рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрдкрдХреЗ рдкрдЧреЗрд▓реЛрдб рд╕рдордп рдкрд░ рдкрджрдЪрд┐рд╣реНрди рдФрд░ рдкреНрд░рднрд╛рд╡ <1KB gzipped рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд░рдЦрддреЗ рд╣реБрдПред
рддреЛ рдЯреАрдПрд▓; рдбреЙ:
рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ рд▓реЗрдХрд┐рди рдЕрднреА рдпрд╣ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЫреЛрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ gzip рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ:
рдореИрдВ рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рднреА рдЙрдЪрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдореБрджреНрджреЗ рди рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред ~92kb рдХрд╛рдлреА рднрд╛рд░реА рд╣реИ рдФрд░ рдХрдо-рдЕрдВрдд рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ 1s рддрдХ рдкрд╛рд░реНрд╕ рд╕рдордп рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ (рд╕рд┐рд░реНрдл рдЗрд╕ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП!)ред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк CDN'ed рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП < 1KB
рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╣рд╛рдБ рд╕реЗ рд▓реЗрдВрдЧреЗред рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЬрдм рдореИрдВ https://browser.sentry-cdn.com/4.0.4/bundle.min.js
рдЦреЛрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ 22KB рдХрд╛ gzipped рдЖрдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдВрддрд░реА рдХрд╛ рдПрд╕рдбреАрдХреЗ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдкреБрдирд╢реНрдЪ: рдореБрдЭреЗ рд╕рдВрддрд░реА рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд░рд╣рд╛ рд╣реИред рд╡реЗрдм рдкреНрд░рджрд░реНрд╢рди рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рднрд╛рд╡реБрдХ рд╣реВрдВред ;)
@klaemo
рд╣реЗ, рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ
рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╣рдо рдЬрд╛рдЧрд░реВрдХ рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рд╣реЛред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирдП рдПрд╕рдбреАрдХреЗ рдХреЛ рд╢рд┐рдк рдХрд░рдирд╛ рдерд╛, рд╣рдо рд╕рдордп рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рд╣рдо рдФрд░ рднреА рдХрдИ рдХрджрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: tslib
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдорд┐рд▓рд╛рдПрдВ ...
рдЗрд╕рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЧрд╣ рд╣реИред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЬреЛ рд▓рд┐рдВрдХ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдирд╛ рд╣реИ
рдореИрдВ _Loader_ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛: https://docs.sentry.io/platforms/javascript/loader/
рдЬрдмрдХрд┐ _Loader_ рдХреА рднреА рдЗрд╕рдХреА рдПрд╕рд┐рдВрдХ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХреА рд╕реАрдорд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдЕрднреА рднреА рдПрд╕рдбреАрдХреЗ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдпрд╣ рдПрд╕рд┐рдВрдХ рд╣реЛ) рдпрд╣ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдерд╛ред
@HazAT рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рджреЛрд╕реНрддреЛрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреА рддрд╛рд░реАрдЦ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, #рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╡рд╣ рдирд┐рд░реНрдгрдп рд▓реЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ 4x рд╕рдВрд╕реНрдХрд░рдг рд╣рд╛рд▓рд╛рдВрдХрд┐ Angular5+ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
@rayzru рдиреЗ рдЕрднреА-рдЕрднреА 4.0.5
рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рд╡рд┐рд╖рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреЛрд╕реНрдЯ рд░рдЦреЗрдВред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рд╣реИ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рди рд╣реЛрдиреЗ рдХрд╛ рдЧрдВрднреАрд░ рдХрд╛рд░рдг рд╣реИред
ЁЯТп рдореИрдВ рддрдм рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╣реА рд╡рд╛рд▓рд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛:
рдХрдо рд╕реЗ рдХрдо рдкреИрдХреЗрдЬ рдХрд╛ рдЖрдХрд╛рд░ рдЫреЛрдЯрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрдВрдбрд▓ рдореЗрдВ я╕П +10 KB gzipped JavaScript рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рдо рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗ :)
@HazAT рдХреНрдпрд╛ esm рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡реЗрдмрдкреИрдХ рдХреЛ рд╕рдВрдпреЛрдЬрди рдФрд░ рдкреЗрдбрд╝ рдХреЗ рдЭрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХреЗ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ CI рдЯреВрд▓ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 100 рдХреЗрдмреА рддрдХ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ, рджреЗрдЦреЗрдВ https://bundlephobia.com/result?p=@sentry/browser @4.3.0
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ https://github.com/siddharthkp/bundlesize
рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рджрд░реНрд╢рди рдмрдЬрдЯ 250 kb рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдорд┐рд▓реЗред 100 kb рд╕рдВрддрд░реА рдЙрд╕ рдмрдЬрдЯ рдХрд╛ рдХрд╛рдлреА рд╣рд┐рд╕реНрд╕рд╛ рд▓реЗрддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЕрдкрдбреЗрдЯ рд░рдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд░реЛрдбрдореИрдк рдкрд░ рд╣реИ, рдпрд╛ рдпрджрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрд┐рдирд╛ рдЖрдХрд╛рд░ рдХреЗ рдмрдЬрдЯ рдХреЗ рдмрдврд╝рддрд╛ рд░рд╣реЗрдЧрд╛ред
рд╣рдо рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рднреБрдЧрддрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдмреИрдХрдПрдВрдб, рдиреЗрдЯрд┐рд╡ рдФрд░ рд╡реЗрдм рджреЛрдиреЛрдВ рдкрд░ рд╕рдВрддрд░реА рдореЗрдВ рднрд╛рд░реА рдирд┐рд╡реЗрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЗ 3x рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЕрдкрдЧреНрд░реЗрдб (рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕@3.23.1 31 рдХреЗрдмреА рд╣реИ) рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЙрдЪрд┐рдд рдард╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред
@jacobrask рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо https://www.onepixel.com/ рдкрд░ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
@jacobrask рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рд╕реВрдЪреА рдореЗрдВ рд╣реИ рдФрд░ рд╣рдо рдпрд╣ рднреА рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдХрдо рд▓рдЯрдХрдиреЗ рд╡рд╛рд▓реЗ рдлрд▓ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рд╣рдо рд╢рд╛рдпрдж рдЙрдореНрдореАрдж рд╕реЗ рдЬрд▓реНрдж рд╣реА рдЗрд╕рд╕реЗ рдирд┐рдкрдЯ рд▓реЗрдВрдЧреЗред
@рд╣рдЬрд╝рдд
рд╕рдВрддрд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрд╕рдбреАрдХреЗ рд░реЛрд▓рдЕрдк рдмрдВрдбрд▓ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрдВрдбрд▓ рдорд┐рдирдЯ рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдХрдИ tslib рдХреЛрдб рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ __рдЬрдирд░реЗрдЯрд░, __рдЕрд╕рд╛рдЗрдиред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдирд╡реА рдореЗрдВ, рдПрдХ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рдирдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ gzip рдХрд╛ рдЖрдХрд╛рд░ 23K рд╕реЗ рдШрдЯрд╛рдХрд░ 16K рдХрд░ рджреЗрдВред
рдмрдВрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░ 4.3.2 . рдореЗрдВ рд╕рдорд╛рди рд╣реИ
https://bundlephobia.com/result?p=@sentry/browser @4.3.2 рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛
https://github.com/getsentry/sentry-javascript/pull/1738 :(
@vkrol рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо npm рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП @gaterking рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рджреВрд╕рд░реА рдУрд░ рд╕реАрдбреАрдПрди рдкрд░ рдмрдВрдбрд▓ рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП tslib
рдкрд░ рдПрдХ рдбрд┐рдкреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдереА, рдЯреВрдЯ рдЧрдИ рдереАред
@ рд╣рдЬрд╝рдд рдареАрдХ рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред
@vkrol рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо npm рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП @gaterking рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рджреВрд╕рд░реА рдУрд░ рд╕реАрдбреАрдПрди рдкрд░ рдмрдВрдбрд▓ рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПредрд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
tslib
рдкрд░ рдПрдХ рдбрд┐рдкреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдереА, рдЯреВрдЯ рдЧрдИ рдереАред
рдЖрд╢рд╛ рд╣реИ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрджред
@gaterking @kamilogorek рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА https://github.com/getsentry/sentry-javascript/pull/1751 рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ
рд╣рдореЗрдВ рдмрд╕ рдПрдХ "рддрддреНрдХрд╛рд▓" рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдиреА рдереА рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред
рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░, рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдкреАрдЖрдИ рдореЗрдВ рдЬрдорд╛ рдХрд░реЗред
рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ?
рдпрд╣ рд╕рдордЭрдирд╛ рд╡рд╛рдХрдИ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рддреНрд░реБрдЯрд┐-рд░рд┐рдкреЛрд░реНрдЯрд░ рдХреЛ рдЗрддрдиреЗ рдмрдбрд╝реЗ рдкрджрдЪрд┐рд╣реНрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ
@ рдорд╛рдЗрдВрдбрдкреНрд▓реЗ-рдбреАрдХреЗ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИрдВ ^^
рд╣рдореЗрдВ рдЯреВрдЯреЗ/рдЧрд▓рдд рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред
"рдмрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ" рдХрд╛ рд╕рд░рд▓ рдХрд╛рд░реНрдп рднреА рдЬрд┐рддрдирд╛ рд▓рдЧрддрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
рдпрд╣ рд╕рдордЭрдирд╛ рд╡рд╛рдХрдИ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рддреНрд░реБрдЯрд┐-рд░рд┐рдкреЛрд░реНрдЯрд░ рдХреЛ рдЗрддрдиреЗ рдмрдбрд╝реЗ рдкрджрдЪрд┐рд╣реНрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ
@ рдорд╛рдЗрдВрдбрдкреНрд▓реЗ-рдбреАрдХреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред
рдпрд╣рд╛рдВ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/getsentry/sentry-javascript/blob/master/packages/browser/src/tracekit.ts
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛, рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреАред рдореИрдВ
рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдУрдкреЗрд░рд╛ 10 рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд┐рдЦрд╛рддреА рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдЯреНрд░реЗрд╕рдХрд┐рдЯ рднреА рд░реЗрд╡реЗрди рд╕реЗ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ) 2x рдЖрдХрд╛рд░ рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдбрд╝рд╛ рдерд╛ред
рдХреБрдЫ рд╕реБрдЭрд╛рд╡:
рдХреНрдпрд╛ рдкреИрдХреЗрдЬ/рдХреЛрд░ рдЬреИрд╕реЗ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдХреБрдЫ рд╕рд╛рдЭрд╛ рдХреЛрдб ( app:///${base}
rewriteframes.ts рдореЗрдВ) рд╣реИ? рд╡реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдиреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред
@kamilogorek yikes, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИрдВ ... рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдерд╛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣рд▓реЗ рдХрднреА рдирд╣реАрдВ рдЦреЛрд▓рд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдореЗрдВ рд╕реНрдЯреИрдХ-рдирд┐рд╢рд╛рди рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЕрднреА - рдЕрднреАред рдУрд╣ред рдореИрдВ
рдХреЗрд╡рд▓ рд╕рд╣рд╛рдпрдХреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдИрдПрд╕рдПрдо рдлрд╛рдЗрд▓реЗрдВ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдЖрдЬ рднреА рдПрдХ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИред
async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рдХрд░реЗрдВ, рдпрд╣ ES5 рдХреЛ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред https://github.com/getsentry/sentry-javascript/blob/master/packages/core/src/baseclient.ts#L307 -L378 рдХреА рддреБрд▓рдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛрдб рд╕реЗ рдХрд░реЗрдВ (рдкреНрд░реЛрдбрдХреНрд╢рди рдмрдВрдбрд▓ рдореЗрдВ "рдкреНрд░реЛрд╕реЗрд╕рдЗрд╡реЗрдВрдЯ" рдЦреЛрдЬреЗрдВ)ред рд╡рд╣ рдкреВрд░реА рдлрд╛рдЗрд▓ рдкреНрд░реЛрдбрдХреНрд╢рди рдмрдВрдбрд▓ рдореЗрдВ рдмрдбрд╝реА рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдпрд╣ рдЧрд▓рдд рддрд░реАрдХрд╛ рд╣реИ, ES5 рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп 80.07%
рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рд╕рдорд░реНрдерди рдЪрд╛рд╣рд┐рдП:
Async рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдЬреЛ <script type="module">
(caniuse: esm , async ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд╡реИрд╕реЗ рднреА рдЙрдирдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ)
рд╕рдмреВрдд:
160KB (es5, рдмрдВрдбрд▓) > 119KB (esm, рдкреНрд▓реЗрди рдлрд╝рд╛рдЗрд▓реЗрдВ)
рддреЛ рдХреГрдкрдпрд╛ esm рдлрд╝рд╛рдЗрд▓ (рднреА) рдХреЛ рдмрдВрдбрд▓ рдХрд░реЗрдВ, рдпрд╣ module
рдФрд░ target
рдХреЛ /tsconfig.esm.json
(рдЬреЛ tsconfig.build.json
) рд╕реЗ esnext
рдореЗрдВ рдмрджрд▓рдирд╛ рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЙрддрдирд╛ рд╣реА рдЖрд╕рд╛рди рд╣реИред tsconfig.esm.json
рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреИрдХреЗрдЬ рдореЗрдВ tsconfig.build.json
рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдорд╛рди рдЬреЛрдбрд╝рдХрд░, рдЗрд╕реЗ рдмрд┐рд▓реНрдб рдФрд░ рдкреИрдХреЗрдЬ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ package.json
рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
рдЕрдЧрд░ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред
рдЕрдЧрд░ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд╡рд╣ @cromefire рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ :)
рдпрджрд┐ рдХреНрд▓рд╛рд╕рд┐рдХ рдФрд░ рдЖрдзреБрдирд┐рдХ рдореЛрдб рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛, рдЬреИрд╕реЗ рдХрд┐ рд╡реВ рдХреНрд▓реАред рдЬрд╣рд╛рдВ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрдо рдлреВрд▓рд╛ рд╣реБрдЖ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ рдЕрдЧрд░ рдпрд╣ рд╡реЗрдмрдкреИрдХ рдПрдирд╡реА рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрд╡рд╢реНрдпрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХреЗред рдУрдПрдлрд╕реА, рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдкреЗрд╕реА рдлреАрдЪрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ :)
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдЙрддреНрдкрд╛рдж!
рдЙрд╕ рдирдП рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рдЖрдк рдмреЗрдмреЗрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
@ рд╕рдВрддрд░реА/рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рджреЛрдЧреБрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдмрдбрд╝рд╛ рд╣реИ: 86 рдХреЗрдмреА рдмрдирд╛рдо 39 рдХреЗрдмреА (рдЫреЛрдЯрд╛)ред
FYI рдХрд░реЗрдВ: @sentry/browser
рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рд╛рдХрд░ 91.8 kB рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реНрд░реЛрдд: https://bundlephobia.com/result?p=@sentry/browser @4.5.0ред
@cromefire рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рдЕрднреА v4.5.0 рд╕реЗ рдирдП esm рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВред рдЙрди рд╕рднреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ @sentry/utils/esm
рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдирдП yarn install
рдХреЗ рдмрд╛рдж node_modules рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗред (рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)
рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА
./node_modules/@sentry/core/esm/baseclient.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/async' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/backend.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/tracekit.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/helpers.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/pluggable/vue.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/browser/esm/integrations/pluggable' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/baseclient.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/dsn.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/inboundfilters.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/extraerrordata.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/is' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/globalhandlers.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/baseclient.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/basebackend.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/sdk.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integration.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/dedupe.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/sdkinformation.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/inboundfilters.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/hub/esm/hub.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/logger' рдХреЛ './node_modules/@sentry/hub/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/client.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/tracekit.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/useragent.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/trycatch.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/helpers.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/pluggable/reportingobserver.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations/pluggable' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/pluggable/vue.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations/pluggable' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/pluggable/ember.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/integrations/pluggable' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/transports/beacon.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/transports' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/transports/fetch.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/browser/esm/transports' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/baseclient.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/dedupe.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/inboundfilters.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/hub/esm/scope.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/hub/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/hub/esm/hub.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/misc' рдХреЛ './node_modules/@sentry/hub/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/parsers.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/trycatch.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/helpers.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/api.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/basebackend.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/dsn.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/hub/esm/scope.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/object' рдХреЛ './node_modules/@sentry/hub/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/pluggable/rewriteframes.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/path' рдХреЛ './node_modules/@sentry/core/esm/integrations/pluggable' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/parsers.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/string' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/string' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/baseclient.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/string' рдХреЛ './node_modules/@sentry/core/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/core/esm/integrations/inboundfilters.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/string' рдХреЛ './node_modules/@sentry/core/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/backend.js . рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/supports' рдХреЛ './node_modules/@sentry/browser/esm' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/supports' рдХреЛ './node_modules/@sentry/browser/esm/integrations' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/integrations/pluggable/reportingobserver.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/supports' рдХреЛ './node_modules/@sentry/browser/esm/integrations/pluggable' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
./node_modules/@sentry/browser/esm/transports/fetch.js рдореЗрдВ рддреНрд░реБрдЯрд┐
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: '@sentry/utils/esm/supports' рдХреЛ './node_modules/@sentry/browser/esm/transports' рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
@pascaliske esm
рдмрд┐рд▓реНрдб рдЕрднреА рднреА рдкреНрд░рдпреЛрдЧ рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реИ рдФрд░ рд╣рдордиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рдВрдЪреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕реЗ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗред
@kamilogorek рд╣рд╛рдБ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИред рдмрд╕ рдЖрдкрдХреЛ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ
рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВ @pascaliske! рд╣рдо рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж ESM рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ :)
@pascaliske рдкрд╣рд▓реЗ yarn build
рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
@cromefire рдирд╣реАрдВ, рдпрд╣ рдореБрдЭреЗ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореИрдВрдиреЗ рдЕрднреА рдкреИрдХреЗрдЬ рдХреЛ npm рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдмрд┐рд▓реНрдб рд╡рд╛рддрд╛рд╡рд░рдг рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдореИрдВ
рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝реА рдЦреЛрдЬ рдХреА рдФрд░ @sentry/browser
@sentry/utils
рд╕реЗ рдХреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ: package/utils/tsconfig.build.json#L5 рдмрдирд╛рдо package/browser/tsconfig.build.json#L5 ред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ esm рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗ? рдореИрдВ
рдореЗрд░реЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ browser
рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдИрдПрд╕рдПрдо рджреЛрдиреЛрдВ рд╕реЗ рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди utils
рдкреИрдХреЗрдЬ рдореЗрдВ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рд░реА рд╣реЛ рдЪреБрдХрд╛ рд╣реИ?
рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝реА рдЦреЛрдЬ рдХреА рдФрд░ @sentry/рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддреБрд▓рдирд╛ @sentry/utils рд╕реЗ рдХреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ: package/utils/tsconfig.build.json#L5 рдмрдирд╛рдо package/browser/tsconfig.build.json#L5ред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ esm рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗ? рдореИрдВ
рдирд╣реАрдВ, рдЖрдкрдХреЛ esm tsconfig . рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛
рдХрд▓ рджреЗрдЦ рд▓реЗрдВрдЧреЗ
рд╕рднреА рдХреЛ рдкреНрд░рдгрд╛рдо! рд╣рдо рд╕рдВрддрд░реА рдореЗрдВ рдХреБрдЫ рдмрдВрдбрд▓ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛: https://github.com/getsentry/sentry-javascript/blob/master/packages/minimal/package.json#L20
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдХрдо рдХрд╛рд░реНрдпреЛрдВ (рдлреИрд▓рдиреЗ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ?
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ @sentry/types
рдХреЛ _runtime_ рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ devDependencies
рдореЗрдВ рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ ...
рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП @evocateur рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
(рд▓реЗрдХрд┐рди .d.ts
рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ)
@IanMitchell рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ esm рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
4.5.0 рдХреЗ рдмрдВрдбрд▓ рдЬреЗрдПрд╕ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЧрдВрднреАрд░рддрд╛, htmlElementAsString, htmlElementAsString, uuid4, parseUrl рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ!
рдРрд╕рд╛ рд╣реА рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдореИрдВ WebPack + Babel 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ import * as Sentry from '@sentry/browser';
(рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмрдВрдбрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдмрдВрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░ 326kb рд╣реЛрддрд╛ рд╣реИред рджреЗрдЦреЗрдВ: рд╕рдВрддрд░реА.рдмрдВрдбрд▓. js.txt
рд╣рдо рдЕрдкрдиреЗ рдЕрдиреНрдп рдмрдВрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрддрд░реА рд╣реА рдПрдХрдорд╛рддреНрд░ рдмрдВрдбрд▓ рд╣реИред
рдмрдВрдбрд▓.рдорд┐рди.рдЬреЗрдПрд╕ рдХреЗ рдЕрдВрджрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рдирд╣реАрдВ рд╣реИ , рдЬреЛ рд░реЛрд▓рдЕрдк рдХреЗ рд╕рд╛рде рдкреЗрдбрд╝ рдХреЗ рд╣рд┐рд▓рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ, рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди import '@sentry/browser/build/bundle.min.js';
. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ
4.5.0 рдХреЗ рдмрдВрдбрд▓ рдЬреЗрдПрд╕ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЧрдВрднреАрд░рддрд╛, htmlElementAsString, htmlElementAsString, uuid4, parseUrl рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ!
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ (рдпрд╛ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХрд╛рд░рдг рд╣реИ) esm
рдмрд┐рд▓реНрдб рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрдВрдбрд▓рд░ рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░реАрдмрд┐рд▓реНрдб рдмрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред (рдпрд╣ рдЕрднреА рдмреАрдЯрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ)
рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдмрд╣реБрдд рдЫреЛрдЯрд╛ред
рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдХ-рдирд┐рд╢рд╛рди рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдм рддрдХ рдХреА рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдЪреАрдЬ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрджрдЪрд┐рд╣реНрди рдореВрд▓ рдврд╛рдВрдЪреЗ рд╕реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╡рд╣ рдиреЛрдб.рдЬреЗрдПрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдкрджрдЪрд┐рд╣реНрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдЧрд▓рдд рдордд рд╕рдордЭреЛ, рдпрд╣ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдПрдХ рд╕реБрдВрджрд░ рдЯреБрдХрдбрд╝рд╛ рд╣реИ - рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдоред
рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░, рдЗрд╕рдХрд╛ рдЬреНрдпрд╛рджрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рдореНрди-рд╕реНрддрд░ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╕реНрд░реЛрдд-рдХреЛрдб рд╕реБрдВрджрд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рд╡рд╣ рд╕рдм рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИ рдЬреЛ рд▓рд╛рдЗрди рдХреЗ рдиреАрдЪреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрд╛рдЗрдЯреНрд╕ рдЦрд░реНрдЪ рдХрд░ рд░рд╣реА рд╣реИред
рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП:
рдореИрдВ TrackJS рдореЗрдВ рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ ~ 10KB рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдорд╛рди рдХреНрд╖рдорддрд╛рдПрдВ (рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдЯреИрдХ-рдЯреНрд░реЗрд╕) рд╣реИрдВред
рдореВрд▓ TraceKit ~3KB рдорд┐рдирдЯ+gz рд╣реИред
рдореБрдЭреЗ рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдорд┐рд▓рд╛ рдЬреЛ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рдмрд┐рдЯ (рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░) ~ 8 рдХреЗрдмреА рдорд┐рдирдЯ + рдЬреАрдЬреЗ рдпрд╛ ~ 10 рдХреЗрдмреА рдореЗрдВ рдПрдХреНрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдПрдХрддреНрд░ рдХрд░рдиреЗ, рдЕрдкреЗрдХреНрд╖рд┐рдд JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдФрд░ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ - рдЬреЛ рдХреБрдЫ KB рдорд┐рдирдЯ + gz рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЛ рдЬреЛ рдЪрд╛рд╣рд┐рдП, рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдкреНрд▓рдЧрдЗрди рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдореБрдЭреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╣реБрдХ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдореБрдЭреЗ JSON рдкреЛрд╕реНрдЯ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд▓рдЧ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрди рджрд┐рдиреЛрдВ рдЬреЗрдПрд╕ рдХреЗ рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЖрдо рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╛рдо рдкрд░ рд╕рдЦреНрдд рд╕рд╛рдордЧреНрд░реА рдиреАрддрд┐рдпрд╛рдВ рд╣реИрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдореЛрдмрд╛рдЗрд▓ рдкрд░ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╢рд┐рдк рдХрд░реЗрдВ, рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рдЬреЗрдПрд╕ рдмрдЬрдЯ рдХреЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреЛ рддреНрд░реБрдЯрд┐ рдкрд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХрд╛ рдФрдЪрд┐рддреНрдп рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛- рд▓реЙрдЧрд┐рдВрдЧ - рд╢рд╛рдпрдж 10% рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП ~ 15-20 KB рдЬреИрд╕рд╛ рдХреБрдЫ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИред
рдореБрдЭреЗ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдЯреИрдХрдЯреНрд░реИрдХ рдФрд░ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рд╕реМрдВрдкрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдХрд╛рд░ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ
рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдЯреИрдХрдЯреНрд░реИрдХ рдФрд░ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рд╕реМрдВрдкрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдХрд╛рд░ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ
@cromefire рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣реА рд╣реИ рдЬреИрд╕реЗ рдЯреНрд░реИрдХрдЬреЗрдПрд╕ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ? (рдЙрдирдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╣реИ - рдХреЗрд╡рд▓ рдЫреЛрдЯрд╛ рд╕реНрд░реЛрдд рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рддрд╛рд░ рдкрд░ рдХреНрдпрд╛ рдпрд╛рддреНрд░рд╛ рд╣реЛрддреА рд╣реИ ...)
рдпрд╣рд╛рдБ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкреИрдХреЗрдЬ рд╣реИ: рд╕реНрд░реЛрдд-рдорд╛рдирдЪрд┐рддреНрд░-рд╕рдорд╛рдзрд╛рди ~2KB min+gz рдкрд░ ... рд╡рд╣ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЗ рдмрд┐рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди (рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ ~ 10KB рд╣рд┐рдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд┐рдиреНрд╣реЗрдВ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╡рд╣ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рдмрд┐рдирд╛ рд╣реИ
рдкреЙрд▓реАрдлрд╝рд┐рд▓ esm
рдмрд┐рд▓реНрдб рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдпрд╣ рднреА рдХрд╛рдо рдХрд░ рд╕рдХреЗ, рд▓реЗрдХрд┐рди рдмреИрдЪреЗрдВрдб рдореЗрдВ рдпрд╣ рдФрд░ рднреА рдХрдо рд╣реЛрдЧрд╛
@cromefire ESM рдмрд┐рд▓реНрдб рдЕрдм 4.5.1
рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрднреА рднреА рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдпреБрджреНрдз-рдкрд░реАрдХреНрд╖рдг рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдореИрдВрдиреЗ рдмреЗрдмреЗрд▓ рд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рдирд┐рдпрдорд┐рдд рд╡реЗрдмрдкреИрдХ рдмрд┐рд▓реНрдб рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдпрд╣ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдПрдХрддреНрд░ рдХрд░рдиреЗ, рдЕрдкреЗрдХреНрд╖рд┐рдд JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдФрд░ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ - рдЬреЛ рдХреБрдЫ KB рдорд┐рдирдЯ + gz рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
@ рдорд╛рдЗрдВрдбрдкреНрд▓реЗ-рдбреАрдХреЗ рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░ рдХреЛрдИ рд╕реНрдЯреИрдХ-рдЯреНрд░реЗрд╕ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ:
рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХрд╛ рдирд╛рдо рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ "рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐, рдХреБрдЫ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рднреЗрдЬреЗрдВ" рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐, рджрд╕рд┐рдпреЛрдВ рдЗрдирдкреБрдЯ рд╣реИрдВ, рджрд╕рд┐рдпреЛрдВ рд╕реНрд░реЛрдд рддреНрд░реБрдЯрд┐ (рдЬреЛ рд╕рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рджрд╕рд┐рдпреЛрдВ рд╡рд╛рддрд╛рд╡рд░рдг рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕реЗ ~10-15kB рддрдХ рдХреИрд╕реЗ рд▓рд╛рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдЗрддрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ (рд▓реЛрдЧреЛрдВ/рд╕рдордп рдкрдврд╝реЗрдВ) рд╣рдо рдЕрднреА рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрди рджрд┐рдиреЛрдВ рдЬреЗрдПрд╕ рдХреЗ рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЖрдо рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╛рдо рдкрд░ рд╕рдЦреНрдд рд╕рд╛рдордЧреНрд░реА рдиреАрддрд┐рдпрд╛рдВ рд╣реИрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдореЛрдмрд╛рдЗрд▓ рдкрд░ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╢рд┐рдк рдХрд░реЗрдВ, рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рдЬреЗрдПрд╕ рдмрдЬрдЯ рдХреЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреЛ рддреНрд░реБрдЯрд┐ рдкрд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХрд╛ рдФрдЪрд┐рддреНрдп рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛- рд▓реЙрдЧрд┐рдВрдЧ - рд╢рд╛рдпрдж 10% рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП ~ 15-20 KB рдЬреИрд╕рд╛ рдХреБрдЫ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИред
рдЖрдк рддрдм рд╣рдорд╛рд░реЗ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - https://docs.sentry.io/platforms/javascript/loader/ :)
рдЖрдк рддрдм рд╣рдорд╛рд░реЗ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - https://docs.sentry.io/platforms/javascript/loader/ :)
рд▓реЗрдХрд┐рди рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ
рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХрд╛ рдирд╛рдо рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ "рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐, рдХреБрдЫ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рднреЗрдЬреЗрдВ" рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЛ tc39 рдкрд░ рдХреБрдЫ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕реНрдЯреИрдХрдЯреНрд░реИрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХреАрдХреГрдд рдПрдкреАрдЖрдИ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗ рд╕рдХреЗ
рд▓реЗрдХрд┐рди рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдпрд╛рдд рдФрд░ рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рддреНрд░реБрдЯрд┐ рдпрд╛ рдХреИрдкреНрдЪрд░ рдЕрдкрд╡рд╛рдж рдХреЙрд▓ рд╣реЛрдиреЗ рдкрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВ?
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдпрд╛рдд рдФрд░ рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рддреНрд░реБрдЯрд┐ рдпрд╛ рдХреИрдкреНрдЪрд░ рдЕрдкрд╡рд╛рдж рдХреЙрд▓ рд╣реЛрдиреЗ рдкрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВ?
рд╣рд╛рдВ, рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреБрдирд░реНрдХрдерди рдХрд░реВрдВ, рддреЛ рд▓реЛрдбрд░ рдХреЗрд╡рд▓ рд╕реАрдбреАрдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ
@cromefire рд╣рд╛рдБ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ "рд╕реНрдирд┐рдкреЗрдЯ" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдХреЛрдб рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ https://github.com/getsentry/sentry-javascript/blob/master/packages/browser/src/loader.js
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдкреАрдЖрд░ рдЦреЛрд▓рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ esm
рдХреЗ рд╕рд╛рде рдпрд╣ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдХреЛрдб рд╕реЗ рднреА рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЖ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ loader
рдХреЗ рд╕рд╛рде minimal
$0$#$ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдЧрд╛ рдФрд░ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдЕрдВрддрд┐рдо рдмрдВрдбрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ kB рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдПрдХ рд▓реЛрдбрд░ рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ 1kb рд╕реЗ рдХрдо рдореЗрдВ рд▓реЛрдб рд╣реЛ, рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ, рдореИрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛
рдПрдХ рдЪреАрдЬ рдЬреЛ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдХреБрдЫ рдХрд╛рд░реНрдп рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдиреНрдпреВрдирддрдо рдиреНрдпреВрдирддрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
рдХреЛрдИ рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗрд╡рд▓ рдПрдХ рдРрдб рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рднреА рд╡рд┐рдЪрд┐рддреНрд░ рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдордиреЗ рд╡реЗрдмрдкреИрдХ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдФрд░ рд╕рдВрддрд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐ рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ред
sentry.js
import * as Sentry from '@sentry/browser';
Sentry.init({
...
integrations: integrations => {
return integrations.filter(integration => integration.name !== 'GlobalHandlers');
},
});
export const logError = error => Sentry.captureException(error);
errors.js
const captureError = async error => {
const { logError } await import(/* webpackChunkName: "sentry" */ './sentry');
logError(error);
}
window.onerror = (message, url, line, column, error) => captureError(error);
window.onunhandledrejection = event => captureError(event.reason);
рд╣рдо рд╡рд╣рд╛рдВ рдХреБрдЫ рдФрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдирд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рдирд╛, рдЯреИрдЧ рдЬреЛрдбрд╝рдирд╛ рдЖрджрд┐ред рд▓реЗрдХрд┐рди рд╕рдВрддрд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдмрдВрдбрд▓ рдХреЛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред
рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ #1846 . рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛
рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
рдореИрдВрдиреЗ рд╡реЗрдмрдкреИрдХ ( 4.29.5
) рдХреЗ рд╕рд╛рде ESM рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:
package.json
$#$ рдореЗрдВ рдХреЛрдИ module
рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рд╣реИresolve: {
alias: {
// use sentry ESM build which is not declared in the @sentry/browser package.json
'@sentry/browser': path.resolve(
__dirname,
'node_modules/@sentry/browser/esm',
),
}
babel-loader
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ sentry/.+/esm
рдореЗрдВ рдПрдХ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЬреЛрдбрд╝реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ESM рдмрд┐рд▓реНрдб рдореЗрдВ ES2015 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред{
test: /\.m?jsx?$/,
loader: 'babel-loader',
// compile sentry as the ESM build is new and ships modern features which break our supported browsers
exclude: /(node_modules\/(?!(@sentry\/[^/]+\/esm))|bower_components)\//,
}
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:
lodash-es
рдХреЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВ)@рдиреАрдмреВ
рдЖрдк рдмрд╕ @sentry/browser/esm
рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
resolve: {
alias: {
// use sentry ESM build which is not declared in the @sentry/browser package.json
'@sentry/browser': '@sentry/browser/esm'
}
рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрдкрдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ @sentry/browser/esm
. рдЖрдпрд╛рдд рдХрд░реЗрдВ
рд▓реЛрдбрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ:
{
test: /other_things/,
include: [/@sentry\/.+\/esm/],
exclude: /node_modules/,
// config
}
{
test: /@sentry\/.+\/esm/,
exclude: /node_modules/,
// config
}
рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдмреЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рднреА рдпрд╛рдж рд░рдЦреЗрдВ: рдмреЗрдмреЗрд▓ рдбреЙрдХреНрд╕ , рдЕрдиреНрдпрдерд╛ рдпрд╣ esm рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ
рдЕрдкрдбреЗрдЯ: рд╣рдо рдЬрд▓реНрдж рд╣реА рдПрд╕рдбреАрдХреЗ рдХрд╛ рдирдпрд╛ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред
26.1 kB
- https://bundlephobia.com/result?p=@sentry/browser @4.6.4
рдмрдирд╛рдо
17.2 kB
- https://bundlephobia.com/result?p=@sentry/browser @5.0.0-rc.1
рд╣рдорд╛рд░реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рд╕реАрдбреАрдПрди рд╕рдВрд╕реНрдХрд░рдг рднреА рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрдВрдбрд▓рдлреЛрдмрд┐рдпрд╛ рд╕рд╛рдорд╛рди рдХреЛ рдХреИрд╕реЗ рдорд╛рдкрддрд╛ рд╣реИ)
ES6: 14.3535 kB
ES5: 15.6846 kB
рд╡реИрд╕реЗ рднреА, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрднреА рднреА рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдФрд░ рдХрдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрдиреНрдирдпрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рдПрдХ рдмрдбрд╝реА рдЯрдХреНрдХрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдХрдИ рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВред рдЖрдкрдХреА рдУрд░ рд╕реЗ рдХреЛрдИ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдпрдВ рд╕рдВрддрд░реА.io рдкрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рд░реЗрдлрд░реА: https://github.com/getsentry/sentry/pull/12492
рдЕрд╕реНрд╡реАрдХрд░рдг: рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЕрднреА рддрдХ 5.0.0-rc.x
рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ
@HazAT рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рд╣реИ - рдореИрдВ рдЗрд╕реЗ рдЕрдм рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ :-)
@kamilogorek рдмрд╕ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░, рдХреНрдпрд╛ рдЖрдк 3.x
рд╢рд╛рдЦрд╛ рд╕реЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЕрднреА рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ, рд╣рдордиреЗ v4 рд╕реЗ v5 рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реБрдП рдЬреЛ рдХрдореА рдкреЗрд╢ рдХреА рд╣реИ рд╡рд╣ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИред рд╣рдо рдЕрднреА рднреА рдЗрд╕реЗ рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдЪреЗрдд рд░рд╣реЗрдВрдЧреЗред
рдПрдХ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ "рдмрдВрдбрд▓" рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдорд╛рдЗрд▓реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрдВрдбрд▓рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕реАрдбреАрдПрди рдмрдВрдбрд▓ рдирдВрдмрд░ рд╣рдо рд╢рд┐рдк рдХрд░рддреЗ рд╣реИрдВ (рдкреЗрдб):
| рдкреИрдХреЗрдЬ | рд╕рдВрд╕реНрдХрд░рдг | рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЖрдХрд╛рд░ | рдХреЗрдмреА рдореЗрдВ рдЖрдХрд╛рд░ | рд▓рд┐рдВрдХ |
|-----------------|------------|---------------|----- -------|------------------------------------------ ----------|
| рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ | 3.27.0 | 13741 рдмрд╛рдЗрдЯреНрд╕ | ~13.4kB | https://cdn.ravenjs.com/3.27.0/raven.min.js |
| @ рд╕рдВрддрд░реА/рдмреНрд░рд╛рдЙрдЬрд╝рд░ | 4.6.6 | 22607 рдмрд╛рдЗрдЯреНрд╕ | ~22.1 рдХреЗрдмреА | https://browser.sentry-cdn.com/4.6.6/bundle.min.js |
| @ рд╕рдВрддрд░реА/рдмреНрд░рд╛рдЙрдЬрд╝рд░ | 5.0.3 | 16059 рдмрд╛рдЗрдЯреНрд╕ | ~15.7kB | https://browser.sentry-cdn.com/5.0.3/bundle.min.js |
V5 рдХреЗ рд╕рд╛рде рд╣рдо рд╢рд┐рдк рднреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ esm
рдмрд┐рд▓реНрдб рднреА рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдмрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЛрдб рдкрдереЛрдВ рдХреЛ рдЯреНрд░реАрд╢реЗрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж
@HazAT @kamilogorek awesome!
@Limess рдХреНрдпрд╛ рдЖрдЬ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ: @sentry/browser/esm
рдХреЗ рдмрдЬрд╛рдп @sentry/browser
?
рдЗрд╕реЗ import * as Sentry from "@sentry/browser/esm";
рдХреА рддрд░рд╣ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ webpack -p
рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдирдВрдЧреЗ webpack.config.js
рднреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рд▓реЛрдбрд░ рдирд╣реАрдВ рд╣реИред
@ 0xbkt рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдХрдо рд╕реЗ рдХрдо рдЕрдм рд░реЛрд▓рдЕрдк рдЯреВ рдмрдВрдбрд▓ рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордпред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рднреА рдЙрдЪрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдореБрджреНрджреЗ рди рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред ~92kb рдХрд╛рдлреА рднрд╛рд░реА рд╣реИ рдФрд░ рдХрдо-рдЕрдВрдд рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ 1s рддрдХ рдкрд╛рд░реНрд╕ рд╕рдордп рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ (рд╕рд┐рд░реНрдл рдЗрд╕ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП!)ред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк CDN'ed рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП
< 1KB
рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╣рд╛рдБ рд╕реЗ рд▓реЗрдВрдЧреЗред рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЬрдм рдореИрдВhttps://browser.sentry-cdn.com/4.0.4/bundle.min.js
рдЦреЛрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ 22KB рдХрд╛ gzipped рдЖрдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИредрдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдВрддрд░реА рдХрд╛ рдПрд╕рдбреАрдХреЗ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдкреБрдирд╢реНрдЪ: рдореБрдЭреЗ рд╕рдВрддрд░реА рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд░рд╣рд╛ рд╣реИред рд╡реЗрдм рдкреНрд░рджрд░реНрд╢рди рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рднрд╛рд╡реБрдХ рд╣реВрдВред ;)