@sentry/browser-utils 11.0.0-alpha.0 → 11.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/build/cjs/component-name.js +28 -0
  2. package/build/cjs/component-name.js.map +1 -0
  3. package/build/cjs/getLocationHref.js +14 -0
  4. package/build/cjs/getLocationHref.js.map +1 -0
  5. package/build/cjs/index.js +36 -28
  6. package/build/cjs/index.js.map +1 -1
  7. package/build/cjs/instrumentation/dom.js.map +1 -0
  8. package/build/cjs/{instrument → instrumentation}/history.js +5 -1
  9. package/build/cjs/instrumentation/history.js.map +1 -0
  10. package/build/cjs/instrumentation/location.js.map +1 -0
  11. package/build/cjs/{metrics/instrument.js → instrumentation/performanceObserver.js} +44 -32
  12. package/build/cjs/instrumentation/performanceObserver.js.map +1 -0
  13. package/build/cjs/instrumentation/xhr.js.map +1 -0
  14. package/build/cjs/isBotUserAgent.js +15 -0
  15. package/build/cjs/isBotUserAgent.js.map +1 -0
  16. package/build/cjs/{metrics → performance}/elementTiming.js +2 -2
  17. package/build/cjs/performance/elementTiming.js.map +1 -0
  18. package/build/cjs/{metrics/browserMetrics.js → performance/entries.js} +45 -220
  19. package/build/cjs/performance/entries.js.map +1 -0
  20. package/build/cjs/performance/interactions.js +123 -0
  21. package/build/cjs/performance/interactions.js.map +1 -0
  22. package/build/cjs/performance/resourceTiming.js.map +1 -0
  23. package/build/cjs/{metrics → performance}/userTiming.js +4 -3
  24. package/build/cjs/performance/userTiming.js.map +1 -0
  25. package/build/cjs/{metrics → performance}/utils.js +4 -30
  26. package/build/cjs/performance/utils.js.map +1 -0
  27. package/build/cjs/types.js.map +1 -1
  28. package/build/cjs/{metrics → web-vitals}/inp.js +4 -4
  29. package/build/cjs/web-vitals/inp.js.map +1 -0
  30. package/build/cjs/web-vitals/lcp.js.map +1 -0
  31. package/build/cjs/web-vitals/reportEvents.js +31 -0
  32. package/build/cjs/web-vitals/reportEvents.js.map +1 -0
  33. package/build/cjs/{metrics/webVitalSpans.js → web-vitals/spans.js} +30 -21
  34. package/build/cjs/web-vitals/spans.js.map +1 -0
  35. package/build/cjs/web-vitals/tracking.js +164 -0
  36. package/build/cjs/web-vitals/tracking.js.map +1 -0
  37. package/build/cjs/web-vitals/utils.js +99 -0
  38. package/build/cjs/web-vitals/utils.js.map +1 -0
  39. package/build/esm/component-name.js +26 -0
  40. package/build/esm/component-name.js.map +1 -0
  41. package/build/esm/getLocationHref.js +12 -0
  42. package/build/esm/getLocationHref.js.map +1 -0
  43. package/build/esm/index.js +18 -13
  44. package/build/esm/index.js.map +1 -1
  45. package/build/esm/instrumentation/dom.js.map +1 -0
  46. package/build/esm/{instrument → instrumentation}/history.js +5 -2
  47. package/build/esm/instrumentation/history.js.map +1 -0
  48. package/build/esm/instrumentation/location.js.map +1 -0
  49. package/build/esm/{metrics/instrument.js → instrumentation/performanceObserver.js} +42 -30
  50. package/build/esm/instrumentation/performanceObserver.js.map +1 -0
  51. package/build/esm/instrumentation/xhr.js.map +1 -0
  52. package/build/esm/isBotUserAgent.js +13 -0
  53. package/build/esm/isBotUserAgent.js.map +1 -0
  54. package/build/esm/package.json +1 -1
  55. package/build/esm/{metrics → performance}/elementTiming.js +1 -1
  56. package/build/esm/performance/elementTiming.js.map +1 -0
  57. package/build/esm/{metrics/browserMetrics.js → performance/entries.js} +41 -213
  58. package/build/esm/performance/entries.js.map +1 -0
  59. package/build/esm/performance/interactions.js +121 -0
  60. package/build/esm/performance/interactions.js.map +1 -0
  61. package/build/esm/performance/resourceTiming.js.map +1 -0
  62. package/build/esm/{metrics → performance}/userTiming.js +4 -3
  63. package/build/esm/performance/userTiming.js.map +1 -0
  64. package/build/esm/{metrics → performance}/utils.js +3 -28
  65. package/build/esm/performance/utils.js.map +1 -0
  66. package/build/esm/types.js.map +1 -1
  67. package/build/esm/{metrics → web-vitals}/inp.js +1 -1
  68. package/build/esm/web-vitals/inp.js.map +1 -0
  69. package/build/esm/web-vitals/lcp.js.map +1 -0
  70. package/build/esm/web-vitals/reportEvents.js +29 -0
  71. package/build/esm/web-vitals/reportEvents.js.map +1 -0
  72. package/build/esm/{metrics/webVitalSpans.js → web-vitals/spans.js} +25 -16
  73. package/build/esm/web-vitals/spans.js.map +1 -0
  74. package/build/esm/web-vitals/tracking.js +161 -0
  75. package/build/esm/web-vitals/tracking.js.map +1 -0
  76. package/build/esm/web-vitals/utils.js +91 -0
  77. package/build/esm/web-vitals/utils.js.map +1 -0
  78. package/build/types/component-name.d.ts +9 -0
  79. package/build/types/component-name.d.ts.map +1 -0
  80. package/build/types/getLocationHref.d.ts +5 -0
  81. package/build/types/getLocationHref.d.ts.map +1 -0
  82. package/build/types/index.d.ts +18 -13
  83. package/build/types/index.d.ts.map +1 -1
  84. package/build/types/{instrument → instrumentation}/dom.d.ts +1 -1
  85. package/build/types/instrumentation/dom.d.ts.map +1 -0
  86. package/build/types/{instrument → instrumentation}/history.d.ts +8 -1
  87. package/build/types/instrumentation/history.d.ts.map +1 -0
  88. package/build/types/instrumentation/location.d.ts.map +1 -0
  89. package/build/types/{metrics/instrument.d.ts → instrumentation/performanceObserver.d.ts} +3 -3
  90. package/build/types/instrumentation/performanceObserver.d.ts.map +1 -0
  91. package/build/types/{instrument → instrumentation}/xhr.d.ts +1 -1
  92. package/build/types/instrumentation/xhr.d.ts.map +1 -0
  93. package/build/types/isBotUserAgent.d.ts +5 -0
  94. package/build/types/isBotUserAgent.d.ts.map +1 -0
  95. package/build/types/performance/elementTiming.d.ts.map +1 -0
  96. package/build/types/{metrics/browserMetrics.d.ts → performance/entries.d.ts} +4 -51
  97. package/build/types/performance/entries.d.ts.map +1 -0
  98. package/build/types/performance/interactions.d.ts +48 -0
  99. package/build/types/performance/interactions.d.ts.map +1 -0
  100. package/build/types/performance/resourceTiming.d.ts.map +1 -0
  101. package/build/types/performance/userTiming.d.ts.map +1 -0
  102. package/build/types/{metrics → performance}/utils.d.ts +1 -17
  103. package/build/types/performance/utils.d.ts.map +1 -0
  104. package/build/types/types.d.ts +38 -1
  105. package/build/types/types.d.ts.map +1 -1
  106. package/build/types/{metrics → web-vitals}/inp.d.ts +2 -1
  107. package/build/types/web-vitals/inp.d.ts.map +1 -0
  108. package/build/types/web-vitals/lcp.d.ts.map +1 -0
  109. package/build/types/web-vitals/reportEvents.d.ts +18 -0
  110. package/build/types/web-vitals/reportEvents.d.ts.map +1 -0
  111. package/build/types/{metrics/webVitalSpans.d.ts → web-vitals/spans.d.ts} +3 -3
  112. package/build/types/web-vitals/spans.d.ts.map +1 -0
  113. package/build/types/web-vitals/tracking.d.ts +46 -0
  114. package/build/types/web-vitals/tracking.d.ts.map +1 -0
  115. package/build/types/{metrics/web-vitals/lib/globalListeners.d.ts → web-vitals/utils.d.ts} +16 -1
  116. package/build/types/web-vitals/utils.d.ts.map +1 -0
  117. package/package.json +5 -3
  118. package/build/cjs/instrument/dom.js.map +0 -1
  119. package/build/cjs/instrument/history.js.map +0 -1
  120. package/build/cjs/instrument/location.js.map +0 -1
  121. package/build/cjs/instrument/xhr.js.map +0 -1
  122. package/build/cjs/metrics/browserMetrics.js.map +0 -1
  123. package/build/cjs/metrics/elementTiming.js.map +0 -1
  124. package/build/cjs/metrics/inp.js.map +0 -1
  125. package/build/cjs/metrics/instrument.js.map +0 -1
  126. package/build/cjs/metrics/lcp.js.map +0 -1
  127. package/build/cjs/metrics/resourceTiming.js.map +0 -1
  128. package/build/cjs/metrics/userTiming.js.map +0 -1
  129. package/build/cjs/metrics/utils.js.map +0 -1
  130. package/build/cjs/metrics/web-vitals/getCLS.js +0 -46
  131. package/build/cjs/metrics/web-vitals/getCLS.js.map +0 -1
  132. package/build/cjs/metrics/web-vitals/getINP.js +0 -60
  133. package/build/cjs/metrics/web-vitals/getINP.js.map +0 -1
  134. package/build/cjs/metrics/web-vitals/getLCP.js +0 -62
  135. package/build/cjs/metrics/web-vitals/getLCP.js.map +0 -1
  136. package/build/cjs/metrics/web-vitals/lib/InteractionManager.js +0 -87
  137. package/build/cjs/metrics/web-vitals/lib/InteractionManager.js.map +0 -1
  138. package/build/cjs/metrics/web-vitals/lib/LCPEntryManager.js +0 -11
  139. package/build/cjs/metrics/web-vitals/lib/LCPEntryManager.js.map +0 -1
  140. package/build/cjs/metrics/web-vitals/lib/LayoutShiftManager.js +0 -27
  141. package/build/cjs/metrics/web-vitals/lib/LayoutShiftManager.js.map +0 -1
  142. package/build/cjs/metrics/web-vitals/lib/bindReporter.js +0 -31
  143. package/build/cjs/metrics/web-vitals/lib/bindReporter.js.map +0 -1
  144. package/build/cjs/metrics/web-vitals/lib/generateUniqueID.js +0 -8
  145. package/build/cjs/metrics/web-vitals/lib/generateUniqueID.js.map +0 -1
  146. package/build/cjs/metrics/web-vitals/lib/getActivationStart.js +0 -11
  147. package/build/cjs/metrics/web-vitals/lib/getActivationStart.js.map +0 -1
  148. package/build/cjs/metrics/web-vitals/lib/getNavigationEntry.js +0 -17
  149. package/build/cjs/metrics/web-vitals/lib/getNavigationEntry.js.map +0 -1
  150. package/build/cjs/metrics/web-vitals/lib/getVisibilityWatcher.js +0 -44
  151. package/build/cjs/metrics/web-vitals/lib/getVisibilityWatcher.js.map +0 -1
  152. package/build/cjs/metrics/web-vitals/lib/globalListeners.js +0 -18
  153. package/build/cjs/metrics/web-vitals/lib/globalListeners.js.map +0 -1
  154. package/build/cjs/metrics/web-vitals/lib/initMetric.js +0 -34
  155. package/build/cjs/metrics/web-vitals/lib/initMetric.js.map +0 -1
  156. package/build/cjs/metrics/web-vitals/lib/initUnique.js +0 -16
  157. package/build/cjs/metrics/web-vitals/lib/initUnique.js.map +0 -1
  158. package/build/cjs/metrics/web-vitals/lib/observe.js +0 -20
  159. package/build/cjs/metrics/web-vitals/lib/observe.js.map +0 -1
  160. package/build/cjs/metrics/web-vitals/lib/onHidden.js +0 -16
  161. package/build/cjs/metrics/web-vitals/lib/onHidden.js.map +0 -1
  162. package/build/cjs/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js +0 -32
  163. package/build/cjs/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js.map +0 -1
  164. package/build/cjs/metrics/web-vitals/lib/runOnce.js +0 -14
  165. package/build/cjs/metrics/web-vitals/lib/runOnce.js.map +0 -1
  166. package/build/cjs/metrics/web-vitals/lib/whenActivated.js +0 -14
  167. package/build/cjs/metrics/web-vitals/lib/whenActivated.js.map +0 -1
  168. package/build/cjs/metrics/web-vitals/lib/whenIdleOrHidden.js +0 -22
  169. package/build/cjs/metrics/web-vitals/lib/whenIdleOrHidden.js.map +0 -1
  170. package/build/cjs/metrics/web-vitals/onFCP.js +0 -37
  171. package/build/cjs/metrics/web-vitals/onFCP.js.map +0 -1
  172. package/build/cjs/metrics/web-vitals/onTTFB.js +0 -35
  173. package/build/cjs/metrics/web-vitals/onTTFB.js.map +0 -1
  174. package/build/cjs/metrics/webVitalSpans.js.map +0 -1
  175. package/build/esm/instrument/dom.js.map +0 -1
  176. package/build/esm/instrument/history.js.map +0 -1
  177. package/build/esm/instrument/location.js.map +0 -1
  178. package/build/esm/instrument/xhr.js.map +0 -1
  179. package/build/esm/metrics/browserMetrics.js.map +0 -1
  180. package/build/esm/metrics/elementTiming.js.map +0 -1
  181. package/build/esm/metrics/inp.js.map +0 -1
  182. package/build/esm/metrics/instrument.js.map +0 -1
  183. package/build/esm/metrics/lcp.js.map +0 -1
  184. package/build/esm/metrics/resourceTiming.js.map +0 -1
  185. package/build/esm/metrics/userTiming.js.map +0 -1
  186. package/build/esm/metrics/utils.js.map +0 -1
  187. package/build/esm/metrics/web-vitals/getCLS.js +0 -43
  188. package/build/esm/metrics/web-vitals/getCLS.js.map +0 -1
  189. package/build/esm/metrics/web-vitals/getINP.js +0 -57
  190. package/build/esm/metrics/web-vitals/getINP.js.map +0 -1
  191. package/build/esm/metrics/web-vitals/getLCP.js +0 -59
  192. package/build/esm/metrics/web-vitals/getLCP.js.map +0 -1
  193. package/build/esm/metrics/web-vitals/lib/InteractionManager.js +0 -85
  194. package/build/esm/metrics/web-vitals/lib/InteractionManager.js.map +0 -1
  195. package/build/esm/metrics/web-vitals/lib/LCPEntryManager.js +0 -9
  196. package/build/esm/metrics/web-vitals/lib/LCPEntryManager.js.map +0 -1
  197. package/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js +0 -25
  198. package/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js.map +0 -1
  199. package/build/esm/metrics/web-vitals/lib/bindReporter.js +0 -29
  200. package/build/esm/metrics/web-vitals/lib/bindReporter.js.map +0 -1
  201. package/build/esm/metrics/web-vitals/lib/generateUniqueID.js +0 -6
  202. package/build/esm/metrics/web-vitals/lib/generateUniqueID.js.map +0 -1
  203. package/build/esm/metrics/web-vitals/lib/getActivationStart.js +0 -9
  204. package/build/esm/metrics/web-vitals/lib/getActivationStart.js.map +0 -1
  205. package/build/esm/metrics/web-vitals/lib/getNavigationEntry.js +0 -15
  206. package/build/esm/metrics/web-vitals/lib/getNavigationEntry.js.map +0 -1
  207. package/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js +0 -42
  208. package/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js.map +0 -1
  209. package/build/esm/metrics/web-vitals/lib/globalListeners.js +0 -15
  210. package/build/esm/metrics/web-vitals/lib/globalListeners.js.map +0 -1
  211. package/build/esm/metrics/web-vitals/lib/initMetric.js +0 -32
  212. package/build/esm/metrics/web-vitals/lib/initMetric.js.map +0 -1
  213. package/build/esm/metrics/web-vitals/lib/initUnique.js +0 -14
  214. package/build/esm/metrics/web-vitals/lib/initUnique.js.map +0 -1
  215. package/build/esm/metrics/web-vitals/lib/observe.js +0 -18
  216. package/build/esm/metrics/web-vitals/lib/observe.js.map +0 -1
  217. package/build/esm/metrics/web-vitals/lib/onHidden.js +0 -14
  218. package/build/esm/metrics/web-vitals/lib/onHidden.js.map +0 -1
  219. package/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js +0 -29
  220. package/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js.map +0 -1
  221. package/build/esm/metrics/web-vitals/lib/runOnce.js +0 -12
  222. package/build/esm/metrics/web-vitals/lib/runOnce.js.map +0 -1
  223. package/build/esm/metrics/web-vitals/lib/whenActivated.js +0 -12
  224. package/build/esm/metrics/web-vitals/lib/whenActivated.js.map +0 -1
  225. package/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js +0 -20
  226. package/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js.map +0 -1
  227. package/build/esm/metrics/web-vitals/onFCP.js +0 -34
  228. package/build/esm/metrics/web-vitals/onFCP.js.map +0 -1
  229. package/build/esm/metrics/web-vitals/onTTFB.js +0 -32
  230. package/build/esm/metrics/web-vitals/onTTFB.js.map +0 -1
  231. package/build/esm/metrics/webVitalSpans.js.map +0 -1
  232. package/build/types/instrument/dom.d.ts.map +0 -1
  233. package/build/types/instrument/history.d.ts.map +0 -1
  234. package/build/types/instrument/location.d.ts.map +0 -1
  235. package/build/types/instrument/xhr.d.ts.map +0 -1
  236. package/build/types/metrics/browserMetrics.d.ts.map +0 -1
  237. package/build/types/metrics/elementTiming.d.ts.map +0 -1
  238. package/build/types/metrics/inp.d.ts.map +0 -1
  239. package/build/types/metrics/instrument.d.ts.map +0 -1
  240. package/build/types/metrics/lcp.d.ts.map +0 -1
  241. package/build/types/metrics/resourceTiming.d.ts.map +0 -1
  242. package/build/types/metrics/userTiming.d.ts.map +0 -1
  243. package/build/types/metrics/utils.d.ts.map +0 -1
  244. package/build/types/metrics/web-vitals/getCLS.d.ts +0 -26
  245. package/build/types/metrics/web-vitals/getCLS.d.ts.map +0 -1
  246. package/build/types/metrics/web-vitals/getINP.d.ts +0 -34
  247. package/build/types/metrics/web-vitals/getINP.d.ts.map +0 -1
  248. package/build/types/metrics/web-vitals/getLCP.d.ts +0 -16
  249. package/build/types/metrics/web-vitals/getLCP.d.ts.map +0 -1
  250. package/build/types/metrics/web-vitals/lib/InteractionManager.d.ts +0 -37
  251. package/build/types/metrics/web-vitals/lib/InteractionManager.d.ts.map +0 -1
  252. package/build/types/metrics/web-vitals/lib/LCPEntryManager.d.ts +0 -5
  253. package/build/types/metrics/web-vitals/lib/LCPEntryManager.d.ts.map +0 -1
  254. package/build/types/metrics/web-vitals/lib/LayoutShiftManager.d.ts +0 -7
  255. package/build/types/metrics/web-vitals/lib/LayoutShiftManager.d.ts.map +0 -1
  256. package/build/types/metrics/web-vitals/lib/bindReporter.d.ts +0 -7
  257. package/build/types/metrics/web-vitals/lib/bindReporter.d.ts.map +0 -1
  258. package/build/types/metrics/web-vitals/lib/generateUniqueID.d.ts +0 -7
  259. package/build/types/metrics/web-vitals/lib/generateUniqueID.d.ts.map +0 -1
  260. package/build/types/metrics/web-vitals/lib/getActivationStart.d.ts +0 -2
  261. package/build/types/metrics/web-vitals/lib/getActivationStart.d.ts.map +0 -1
  262. package/build/types/metrics/web-vitals/lib/getNavigationEntry.d.ts +0 -2
  263. package/build/types/metrics/web-vitals/lib/getNavigationEntry.d.ts.map +0 -1
  264. package/build/types/metrics/web-vitals/lib/getVisibilityWatcher.d.ts +0 -5
  265. package/build/types/metrics/web-vitals/lib/getVisibilityWatcher.d.ts.map +0 -1
  266. package/build/types/metrics/web-vitals/lib/globalListeners.d.ts.map +0 -1
  267. package/build/types/metrics/web-vitals/lib/initMetric.d.ts +0 -21
  268. package/build/types/metrics/web-vitals/lib/initMetric.d.ts.map +0 -1
  269. package/build/types/metrics/web-vitals/lib/initUnique.d.ts +0 -7
  270. package/build/types/metrics/web-vitals/lib/initUnique.d.ts.map +0 -1
  271. package/build/types/metrics/web-vitals/lib/observe.d.ts +0 -23
  272. package/build/types/metrics/web-vitals/lib/observe.d.ts.map +0 -1
  273. package/build/types/metrics/web-vitals/lib/onHidden.d.ts +0 -15
  274. package/build/types/metrics/web-vitals/lib/onHidden.d.ts.map +0 -1
  275. package/build/types/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts +0 -15
  276. package/build/types/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts.map +0 -1
  277. package/build/types/metrics/web-vitals/lib/runOnce.d.ts +0 -2
  278. package/build/types/metrics/web-vitals/lib/runOnce.d.ts.map +0 -1
  279. package/build/types/metrics/web-vitals/lib/whenActivated.d.ts +0 -2
  280. package/build/types/metrics/web-vitals/lib/whenActivated.d.ts.map +0 -1
  281. package/build/types/metrics/web-vitals/lib/whenIdleOrHidden.d.ts +0 -6
  282. package/build/types/metrics/web-vitals/lib/whenIdleOrHidden.d.ts.map +0 -1
  283. package/build/types/metrics/web-vitals/onFCP.d.ts +0 -11
  284. package/build/types/metrics/web-vitals/onFCP.d.ts.map +0 -1
  285. package/build/types/metrics/web-vitals/onTTFB.d.ts +0 -20
  286. package/build/types/metrics/web-vitals/onTTFB.d.ts.map +0 -1
  287. package/build/types/metrics/web-vitals/types/base.d.ts +0 -103
  288. package/build/types/metrics/web-vitals/types/base.d.ts.map +0 -1
  289. package/build/types/metrics/web-vitals/types/cls.d.ts +0 -58
  290. package/build/types/metrics/web-vitals/types/cls.d.ts.map +0 -1
  291. package/build/types/metrics/web-vitals/types/fcp.d.ts +0 -47
  292. package/build/types/metrics/web-vitals/types/fcp.d.ts.map +0 -1
  293. package/build/types/metrics/web-vitals/types/inp.d.ts +0 -150
  294. package/build/types/metrics/web-vitals/types/inp.d.ts.map +0 -1
  295. package/build/types/metrics/web-vitals/types/lcp.d.ts +0 -74
  296. package/build/types/metrics/web-vitals/types/lcp.d.ts.map +0 -1
  297. package/build/types/metrics/web-vitals/types/ttfb.d.ts +0 -60
  298. package/build/types/metrics/web-vitals/types/ttfb.d.ts.map +0 -1
  299. package/build/types/metrics/web-vitals/types.d.ts +0 -78
  300. package/build/types/metrics/web-vitals/types.d.ts.map +0 -1
  301. package/build/types/metrics/webVitalSpans.d.ts.map +0 -1
  302. /package/build/cjs/{instrument → instrumentation}/dom.js +0 -0
  303. /package/build/cjs/{instrument → instrumentation}/location.js +0 -0
  304. /package/build/cjs/{instrument → instrumentation}/xhr.js +0 -0
  305. /package/build/cjs/{metrics → performance}/resourceTiming.js +0 -0
  306. /package/build/cjs/{metrics → web-vitals}/lcp.js +0 -0
  307. /package/build/esm/{instrument → instrumentation}/dom.js +0 -0
  308. /package/build/esm/{instrument → instrumentation}/location.js +0 -0
  309. /package/build/esm/{instrument → instrumentation}/xhr.js +0 -0
  310. /package/build/esm/{metrics → performance}/resourceTiming.js +0 -0
  311. /package/build/esm/{metrics → web-vitals}/lcp.js +0 -0
  312. /package/build/types/{instrument → instrumentation}/location.d.ts +0 -0
  313. /package/build/types/{metrics → performance}/elementTiming.d.ts +0 -0
  314. /package/build/types/{metrics → performance}/resourceTiming.d.ts +0 -0
  315. /package/build/types/{metrics → performance}/userTiming.d.ts +0 -0
  316. /package/build/types/{metrics → web-vitals}/lcp.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/web-vitals/utils.ts"],"sourcesContent":["/*\n * Portions of this file are derived from Google's web-vitals library.\n *\n * Copyright 2020-2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WINDOW } from '../types';\n\n/**\n * web-vitals 5.1.0 switched listeners to be added on the window rather than the document.\n * Instead of having to check for window/document every time we add a listener, we can use this function.\n */\nexport function addPageListener(type: string, listener: EventListener, options?: boolean | AddEventListenerOptions) {\n if (WINDOW.document) {\n WINDOW.addEventListener(type, listener, options);\n }\n}\n\n/**\n * web-vitals 5.1.0 switched listeners to be removed from the window rather than the document.\n * Instead of having to check for window/document every time we remove a listener, we can use this function.\n */\nexport function removePageListener(type: string, listener: EventListener, options?: boolean | AddEventListenerOptions) {\n if (WINDOW.document) {\n WINDOW.removeEventListener(type, listener, options);\n }\n}\n\n// sentry-specific change:\n// add optional param to not check for responseStart (see comment below)\nexport const getNavigationEntry = (checkResponseStart = true): PerformanceNavigationTiming | void => {\n const navigationEntry = WINDOW.performance?.getEntriesByType?.('navigation')[0];\n // Check to ensure the `responseStart` property is present and valid.\n // In some cases a zero value is reported by the browser (for\n // privacy/security reasons), and in other cases (bugs) the value is\n // negative or is larger than the current page time. Ignore these cases:\n // - https://github.com/GoogleChrome/web-vitals/issues/137\n // - https://github.com/GoogleChrome/web-vitals/issues/162\n // - https://github.com/GoogleChrome/web-vitals/issues/275\n if (\n // sentry-specific change:\n // We don't want to check for responseStart for our own use of `getNavigationEntry`\n !checkResponseStart ||\n (navigationEntry && navigationEntry.responseStart > 0 && navigationEntry.responseStart < performance.now())\n ) {\n return navigationEntry;\n }\n};\n\nexport const getActivationStart = (): number => {\n const navEntry = getNavigationEntry();\n return navEntry?.activationStart ?? 0;\n};\n\nexport interface OnHiddenCallback {\n (event: Event): void;\n}\n\nexport const onHidden = (cb: OnHiddenCallback) => {\n const onHiddenCallback = (event: Event) => {\n if (WINDOW.document?.visibilityState === 'hidden') {\n cb(event);\n }\n };\n\n addPageListener('visibilitychange', onHiddenCallback, { capture: true });\n};\n\nlet firstHiddenTime = -1;\nconst onHiddenFunctions: Set<() => void> = new Set();\n\nconst initHiddenTime = () => {\n // If the document is hidden when this code runs, assume it was always\n // hidden and the page was loaded in the background, with the one exception\n // that visibility state is always 'hidden' during prerendering, so we have\n // to ignore that case until prerendering finishes (see: `prerenderingchange`\n // event logic below).\n return WINDOW.document?.visibilityState === 'hidden' && !WINDOW.document?.prerendering ? 0 : Infinity;\n};\n\nconst onVisibilityUpdate = (event: Event) => {\n // Handle changes to hidden state\n if (WINDOW.document?.visibilityState === 'hidden' && firstHiddenTime > -1) {\n // Call onHidden callbacks when the page becomes hidden\n if (event.type === 'visibilitychange') {\n for (const onHiddenFunction of onHiddenFunctions) {\n onHiddenFunction();\n }\n }\n\n // If the document is 'hidden' and no previous hidden timestamp has been\n // set (so is infinity), update it based on the current event data.\n if (!isFinite(firstHiddenTime)) {\n // If the event is a 'visibilitychange' event, it means the page was\n // visible prior to this change, so the event timestamp is the first\n // hidden time.\n // However, if the event is not a 'visibilitychange' event, then it must\n // be a 'prerenderingchange' event, and the fact that the document is\n // still 'hidden' from the above check means the tab was activated\n // in a background state and so has always been hidden.\n firstHiddenTime = event.type === 'visibilitychange' ? event.timeStamp : 0;\n\n // We no longer need the `prerenderingchange` event listener now we've\n // set an initial init time so remove that\n // (we'll keep the visibilitychange one for onHiddenFunction above)\n removePageListener('prerenderingchange', onVisibilityUpdate, true);\n }\n }\n};\n\nexport const getVisibilityWatcher = () => {\n if (WINDOW.document && firstHiddenTime < 0) {\n // Check if we have a previous hidden `visibility-state` performance entry.\n const activationStart = getActivationStart();\n const firstVisibilityStateHiddenTime = !WINDOW.document.prerendering\n ? globalThis.performance\n .getEntriesByType('visibility-state')\n .filter(e => e.name === 'hidden' && e.startTime > activationStart)[0]?.startTime\n : undefined;\n\n // Prefer that, but if it's not available and the document is hidden when\n // this code runs, assume it was hidden since navigation start. This isn't\n // a perfect heuristic, but it's the best we can do until the\n // `visibility-state` performance entry becomes available in all browsers.\n firstHiddenTime = firstVisibilityStateHiddenTime ?? initHiddenTime();\n // Listen for visibility changes so we can handle things like bfcache\n // restores and/or prerender without having to examine individual\n // timestamps in detail and also for onHidden function calls.\n addPageListener('visibilitychange', onVisibilityUpdate, true);\n\n // IMPORTANT: when a page is prerendering, its `visibilityState` is\n // 'hidden', so in order to account for cases where this module checks for\n // visibility during prerendering, an additional check after prerendering\n // completes is also required.\n addPageListener('prerenderingchange', onVisibilityUpdate, true);\n }\n\n return {\n get firstHiddenTime() {\n return firstHiddenTime;\n },\n onHidden(cb: () => void) {\n onHiddenFunctions.add(cb);\n },\n };\n};\n\n/**\n * Runs the passed callback during the next idle period, or immediately\n * if the browser's visibility state is (or becomes) hidden.\n */\nexport const whenIdleOrHidden = (cb: () => void) => {\n const rIC = WINDOW.requestIdleCallback || WINDOW.setTimeout;\n\n // If the document is hidden, run the callback immediately, otherwise\n // race an idle callback with the next `visibilitychange` event.\n if (WINDOW.document?.visibilityState === 'hidden') {\n cb();\n } else {\n // Ensure the callback only runs once, whichever of the two racers wins.\n let called = false;\n const runOnce = () => {\n if (!called) {\n cb();\n called = true;\n }\n };\n addPageListener('visibilitychange', runOnce, { once: true, capture: true });\n rIC(() => {\n runOnce();\n // Remove the above event listener since no longer required.\n // See: https://github.com/GoogleChrome/web-vitals/issues/622\n removePageListener('visibilitychange', runOnce, { capture: true });\n });\n }\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Given a DOM element, traverses up the tree until it finds the first ancestor node
3
+ * that has the `data-sentry-component` or `data-sentry-element` attribute with `data-sentry-component` taking
4
+ * precedence. This attribute is added at build-time by projects that have the component name annotation plugin installed.
5
+ *
6
+ * @returns a string representation of the component for the provided DOM element, or `null` if not found
7
+ */
8
+ export declare function getComponentName(elem: unknown, maxTraverseHeight?: number): string | null;
9
+ //# sourceMappingURL=component-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-name.d.ts","sourceRoot":"","sources":["../../src/component-name.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAE,MAAU,GAAG,MAAM,GAAG,IAAI,CAyB5F"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * A safe form of location.href.
3
+ */
4
+ export declare function getLocationHref(): string;
5
+ //# sourceMappingURL=getLocationHref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLocationHref.d.ts","sourceRoot":"","sources":["../../src/getLocationHref.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAMxC"}
@@ -1,18 +1,23 @@
1
- export { addPerformanceInstrumentationHandler, addClsInstrumentationHandler, addTtfbInstrumentationHandler, addLcpInstrumentationHandler, addInpInstrumentationHandler, } from './metrics/instrument';
2
- export { addPerformanceEntries, addWebVitalsToSpan, startTrackingInteractions, startTrackingLongTasks, startTrackingLongAnimationFrames, startTrackingWebVitals, registerInpInteractionListener, } from './metrics/browserMetrics';
3
- export { elementTimingIntegration, startTrackingElementTiming } from './metrics/elementTiming';
4
- export { userTimingIntegration } from './metrics/userTiming';
5
- export { extractNetworkProtocol } from './metrics/utils';
6
- export { trackClsAsSpan, trackInpAsSpan, trackLcpAsSpan } from './metrics/webVitalSpans';
7
- export { whenIdleOrHidden } from './metrics/web-vitals/lib/whenIdleOrHidden';
8
- export { addClickKeypressInstrumentationHandler } from './instrument/dom';
9
- export { addHistoryInstrumentationHandler } from './instrument/history';
1
+ export { addPerformanceInstrumentationHandler, addClsInstrumentationHandler, addTtfbInstrumentationHandler, addLcpInstrumentationHandler, addInpInstrumentationHandler, } from './instrumentation/performanceObserver';
2
+ export { addPerformanceEntries, startTrackingLongTasks, startTrackingLongAnimationFrames } from './performance/entries';
3
+ export { addWebVitalsToSpan, startTrackingWebVitals, registerInpInteractionListener, } from './web-vitals/tracking';
4
+ export { elementTimingIntegration, startTrackingElementTiming } from './performance/elementTiming';
5
+ export { interactionsIntegration } from './performance/interactions';
6
+ export { isBotUserAgent } from './isBotUserAgent';
7
+ export { getLocationHref } from './getLocationHref';
8
+ export { userTimingIntegration } from './performance/userTiming';
9
+ export { extractNetworkProtocol } from './performance/utils';
10
+ export { trackClsAsSpan, trackInpAsSpan, trackLcpAsSpan } from './web-vitals/spans';
11
+ export { whenIdleOrHidden } from './web-vitals/utils';
12
+ export { addClickKeypressInstrumentationHandler } from './instrumentation/dom';
13
+ export { addHistoryInstrumentationHandler } from './instrumentation/history';
10
14
  export { fetch, setTimeout, clearCachedImplementation, getNativeImplementation } from './getNativeImplementation';
11
- export { addXhrInstrumentationHandler, SENTRY_XHR_DATA_KEY } from './instrument/xhr';
15
+ export { addXhrInstrumentationHandler, SENTRY_XHR_DATA_KEY } from './instrumentation/xhr';
12
16
  export { getBodyString, getFetchRequestArgBody, serializeFormData, parseXhrResponseHeaders } from './networkUtils';
13
- export { resourceTimingToSpanAttributes } from './metrics/resourceTiming';
17
+ export { resourceTimingToSpanAttributes } from './performance/resourceTiming';
14
18
  export { htmlTreeAsString } from './htmlTreeAsString';
19
+ export { getComponentName } from './component-name';
15
20
  export { isElement } from './is';
16
- export { getAbsoluteUrl } from './instrument/location';
17
- export type { FetchHint, NetworkMetaWarning, XhrHint } from './types';
21
+ export { getAbsoluteUrl } from './instrumentation/location';
22
+ export type { FetchHint, HandlerDataDom, HandlerDataHistory, HandlerDataXhr, NetworkMetaWarning, SentryWrappedXMLHttpRequest, SentryXhrData, XhrHint, } from './types';
18
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAEhC,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,sCAAsC,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAElH,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEnH,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAExH,OAAO,EACL,kBAAkB,EAElB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sCAAsC,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAElH,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEnH,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,YAAY,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { HandlerDataDom } from '@sentry/core';
1
+ import type { HandlerDataDom } from '../types';
2
2
  /**
3
3
  * Add an instrumentation handler for when a click or a keypress happens.
4
4
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/dom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAgC/C;;;;;GAKG;AACH,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAIpG;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,IAAI,IAAI,CAuFpC"}
@@ -1,4 +1,11 @@
1
- import type { HandlerDataHistory } from '@sentry/core';
1
+ import type { HandlerDataHistory } from '../types';
2
+ /**
3
+ * Tells whether current environment supports History API
4
+ * {@link supportsHistory}.
5
+ *
6
+ * @returns Answer to the given question.
7
+ */
8
+ export declare function supportsHistory(): boolean;
2
9
  /**
3
10
  * Add an instrumentation handler for when a fetch request happens.
4
11
  * The handler function is called once when the request starts and once when it ends,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKnD;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAIlG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAmDxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/location.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQxD"}
@@ -60,13 +60,13 @@ interface Metric {
60
60
  */
61
61
  entries: PerformanceEntry[];
62
62
  /**
63
- * The type of navigation
63
+ * The type of navigation.
64
64
  *
65
65
  * Navigation Timing API (or `undefined` if the browser doesn't
66
66
  * support that API). For pages that are restored from the bfcache, this
67
67
  * value will be 'back-forward-cache'.
68
68
  */
69
- navigationType: 'navigate' | 'reload' | 'back-forward' | 'back-forward-cache' | 'prerender' | 'restore';
69
+ navigationType: 'navigate' | 'reload' | 'back-forward' | 'back-forward-cache' | 'prerender' | 'restore' | 'soft-navigation';
70
70
  }
71
71
  type CleanupHandlerCallback = () => void;
72
72
  /**
@@ -118,4 +118,4 @@ export declare function addPerformanceInstrumentationHandler(type: InstrumentHan
118
118
  */
119
119
  export declare function isPerformanceEventTiming(entry: PerformanceEntry): entry is PerformanceEventTiming;
120
120
  export {};
121
- //# sourceMappingURL=instrument.d.ts.map
121
+ //# sourceMappingURL=performanceObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceObserver.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/performanceObserver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { HandlerDataXhr } from '@sentry/core';
1
+ import type { HandlerDataXhr } from '../types';
2
2
  export declare const SENTRY_XHR_DATA_KEY = "__sentry_xhr_v3__";
3
3
  /**
4
4
  * Add an instrumentation handler for when an XHR request happens.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/xhr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,UAAU,CAAC;AAG5E,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAIvD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAI1F;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,IAAI,IAAI,CA0IpC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Whether the current user agent looks like a web crawler.
3
+ */
4
+ export declare function isBotUserAgent(): boolean;
5
+ //# sourceMappingURL=isBotUserAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBotUserAgent.d.ts","sourceRoot":"","sources":["../../src/isBotUserAgent.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAMxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementTiming.d.ts","sourceRoot":"","sources":["../../../src/performance/elementTiming.ts"],"names":[],"mappings":"AA0FA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB;;CAA+C,CAAC;AAErF;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,IAAI,CAEvD"}
@@ -1,16 +1,4 @@
1
- import type { Client, Span, SpanAttributes } from '@sentry/core';
2
- interface StartTrackingWebVitalsOptions {
3
- trackCls: boolean;
4
- trackLcp: boolean;
5
- client: Client;
6
- }
7
- /**
8
- * Start tracking web vitals.
9
- * The callback returned by this function can be used to stop tracking & ensure all measurements are final & captured.
10
- *
11
- * @returns A function that forces web vitals collection
12
- */
13
- export declare function startTrackingWebVitals({ trackCls, trackLcp }: StartTrackingWebVitalsOptions): () => void;
1
+ import type { Span, SpanAttributes } from '@sentry/core';
14
2
  /**
15
3
  * Start tracking long tasks.
16
4
  */
@@ -19,11 +7,6 @@ export declare function startTrackingLongTasks(): void;
19
7
  * Start tracking long animation frames.
20
8
  */
21
9
  export declare function startTrackingLongAnimationFrames(): void;
22
- /**
23
- * Start tracking interaction events.
24
- */
25
- export declare function startTrackingInteractions(): void;
26
- export { registerInpInteractionListener } from './inp';
27
10
  interface AddPerformanceEntriesOptions {
28
11
  /**
29
12
  * Resource spans with `op`s matching strings in the array will not be emitted.
@@ -36,39 +19,8 @@ interface AddPerformanceEntriesOptions {
36
19
  */
37
20
  spanStreamingEnabled?: boolean;
38
21
  }
39
- interface AddWebVitalsToSpanOptions {
40
- /**
41
- * Flag to determine if CLS should be recorded as a measurement on the pageload span or
42
- * sent as a standalone span instead.
43
- * Sending it as a standalone span will yield more accurate LCP values.
44
- *
45
- * Default: `false` for backwards compatibility.
46
- */
47
- recordClsOnPageloadSpan: boolean;
48
- /**
49
- * Flag to determine if LCP should be recorded as a measurement on the pageload span or
50
- * sent as a standalone span instead.
51
- * Sending it as a standalone span will yield more accurate LCP values.
52
- *
53
- * Default: `false` for backwards compatibility.
54
- */
55
- recordLcpOnPageloadSpan: boolean;
56
- /**
57
- * Whether span streaming is enabled.
58
- */
59
- spanStreamingEnabled?: boolean;
60
- }
61
22
  /** Add performance related spans to a transaction */
62
23
  export declare function addPerformanceEntries(span: Span, options: AddPerformanceEntriesOptions): void;
63
- /**
64
- * Writes the collected web vitals (LCP, CLS, INP, TTFB, FP, FCP) onto the pageload span,
65
- * either as measurements/attributes (v1) or as web vital attributes (span streaming).
66
- *
67
- * This should be called when the pageload span ends, after the web vitals have been finalized.
68
- * It is a no-op for non-pageload spans, but always resets the collected web vital state so it
69
- * doesn't leak into a subsequent navigation.
70
- */
71
- export declare function addWebVitalsToSpan(span: Span, options: AddWebVitalsToSpanOptions): void;
72
24
  /**
73
25
  * Instrument navigation entries
74
26
  * exported only for tests
@@ -78,7 +30,7 @@ export declare function _addNavigationSpans(span: Span, entry: PerformanceNaviga
78
30
  * Create resource-related spans.
79
31
  * Exported only for tests.
80
32
  */
81
- export declare function _addResourceSpans(span: Span, entry: PerformanceResourceTiming, resourceUrl: string, startTime: number, duration: number, timeOrigin: number, ignoredResourceSpanOps?: Array<string>): void;
33
+ export declare function _addResourceSpans(span: Span, entry: PerformanceResourceTiming, resourceUrl: string, startTime: number, duration: number, timeOrigin: number, ignoredResourceSpanOps?: Array<string>, spanStreamingEnabled?: boolean): void;
82
34
  type ExperimentalResourceTimingProperty = 'renderBlockingStatus' | 'deliveryType' | 'responseStatus';
83
35
  /**
84
36
  * Use this to set any attributes we can take directly form the PerformanceResourceTiming entry.
@@ -89,4 +41,5 @@ type ExperimentalResourceTimingProperty = 'renderBlockingStatus' | 'deliveryType
89
41
  * Only accepts string and number values for now and also sets 0-values.
90
42
  */
91
43
  export declare function _setResourceRequestAttributes(entry: Partial<PerformanceResourceTiming> & Partial<Record<ExperimentalResourceTimingProperty, number | string>>, attributes: SpanAttributes, properties: [keyof PerformanceResourceTiming | ExperimentalResourceTimingProperty, string][]): void;
92
- //# sourceMappingURL=browserMetrics.d.ts.map
44
+ export {};
45
+ //# sourceMappingURL=entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../src/performance/entries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA8EzD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CA8B7C;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAyDvD;AAED,UAAU,4BAA4B;IACpC;;;;OAIG;IACH,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAAC;IAE5G;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,GAAG,IAAI,CA+D7F;AAqBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAW5G;AAmFD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,sBAAsB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtC,oBAAoB,CAAC,EAAE,OAAO,GAC7B,IAAI,CAoEN;AAsDD,KAAK,kCAAkC,GACnC,sBAAsB,GACtB,cAAc,GAKd,gBAAgB,CAAC;AAErB;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,kCAAkC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAChH,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,CAAC,MAAM,yBAAyB,GAAG,kCAAkC,EAAE,MAAM,CAAC,EAAE,GAC3F,IAAI,CAUN"}
@@ -0,0 +1,48 @@
1
+ interface InteractionsOptions {
2
+ /**
3
+ * The time that has to pass without any span being created.
4
+ * If this time is exceeded, the interaction span will finish.
5
+ *
6
+ * Default: 1000 (ms)
7
+ */
8
+ idleTimeout?: number;
9
+ /**
10
+ * The max. time an interaction span may run.
11
+ * If this time is exceeded, the interaction span will finish no matter what.
12
+ *
13
+ * Default: 30000 (ms)
14
+ */
15
+ finalTimeout?: number;
16
+ /**
17
+ * The max. time a child span of an interaction span may run.
18
+ * If this time is exceeded, the interaction span will finish no matter what.
19
+ *
20
+ * Default: 15000 (ms)
21
+ */
22
+ childSpanTimeout?: number;
23
+ }
24
+ /**
25
+ * Captures user interactions as spans.
26
+ *
27
+ * Important: This integration is considered experimental and might lead to noisy spans. Use at your own risk.
28
+ *
29
+ *
30
+ * Clicks that happen outside of an in-progress pageload or navigation start an idle `ui.action.click` span,
31
+ * named after the last known route, which collects everything the interaction triggers (requests, child spans,
32
+ * …). Additionally, `ui.interaction.click` spans are recorded for the browser's own `event` timing entries.
33
+ *
34
+ * The integration requires `browserTracingIntegration` (or another source of pageload/navigation spans)
35
+ * to know which route an interaction belongs to.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * Sentry.init({
40
+ * integrations: [Sentry.browserTracingIntegration(), Sentry.interactionsIntegration()],
41
+ * });
42
+ * ```
43
+ */
44
+ export declare const interactionsIntegration: (options?: InteractionsOptions | undefined) => import("@sentry/core").Integration & {
45
+ name: string;
46
+ };
47
+ export {};
48
+ //# sourceMappingURL=interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../src/performance/interactions.ts"],"names":[],"mappings":"AA6BA,UAAU,mBAAmB;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAqDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB;;CAA8C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceTiming.d.ts","sourceRoot":"","sources":["../../../src/performance/resourceTiming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAUnD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,yBAAyB,GAAG,cAAc,CA0CxG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userTiming.d.ts","sourceRoot":"","sources":["../../../src/performance/userTiming.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,IAAI,EAAsC,MAAM,cAAc,CAAC;AAW5F,UAAU,iBAAiB;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACjC;AAwDD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB;;CAA4C,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAC7B,IAAI,CA6BN"}
@@ -1,5 +1,4 @@
1
- import type { Client, Span, SpanTimeInput, StartSpanOptions } from '@sentry/core';
2
- export type WebVitalReportEvent = 'pagehide' | 'navigation';
1
+ import type { Span, SpanTimeInput, StartSpanOptions } from '@sentry/core';
3
2
  /**
4
3
  * Checks if a given value is a valid measurement value.
5
4
  */
@@ -31,19 +30,4 @@ export declare function extractNetworkProtocol(nextHopProtocol: string): {
31
30
  * Generic support check for web vitals
32
31
  */
33
32
  export declare function supportsWebVital(entryType: 'layout-shift' | 'largest-contentful-paint'): boolean;
34
- /**
35
- * Listens for events on which we want to collect a previously accumulated web vital value.
36
- * Currently, this includes:
37
- *
38
- * - pagehide (i.e. user minimizes browser window, hides tab, etc)
39
- * - soft navigation (we only care about the vital of the initially loaded route)
40
- *
41
- * As a "side-effect", this function will also collect the span id of the pageload span.
42
- *
43
- * @param collectorCallback the callback to be called when the first of these events is triggered. Parameters:
44
- * - event: the event that triggered the reporting of the web vital value.
45
- * - pageloadSpanId: the span id of the pageload span. This is used to link the web vital span to the pageload span.
46
- * - pageloadSpan: the pageload span instance. This is used for full access to the pageload span for span streaming.
47
- */
48
- export declare function listenForWebVitalReportEvents(client: Client, collectorCallback: (event: WebVitalReportEvent, pageloadSpanId: string, pageloadSpan?: Span) => void): void;
49
33
  //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/performance/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAItF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,IAAI,EAChB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,aAAa,EACtB,EAAE,GAAG,GAAG,EAAE,EAAE,gBAAgB,GAC3B,IAAI,GAAG,SAAS,CAsBlB;AAED,uCAAuC;AACvC,wBAAgB,wBAAwB,IAAI,WAAW,GAAG,SAAS,CAGlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAuBjG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,0BAA0B,GAAG,OAAO,CAMhG"}
@@ -1,4 +1,4 @@
1
- import type { FetchBreadcrumbHint, HandlerDataFetch, SentryWrappedXMLHttpRequest, XhrBreadcrumbHint } from '@sentry/core';
1
+ import type { FetchBreadcrumbHint, HandlerDataFetch, XhrBreadcrumbHint } from '@sentry/core';
2
2
  import { GLOBAL_OBJ } from '@sentry/core';
3
3
  export declare const WINDOW: typeof GLOBAL_OBJ & Omit<Window, 'document'> & Partial<Pick<Window, 'document'>>;
4
4
  export type NetworkMetaWarning = 'MAYBE_JSON_TRUNCATED' | 'TEXT_TRUNCATED' | 'URL_SKIPPED' | 'BODY_PARSE_ERROR' | 'BODY_PARSE_TIMEOUT' | 'UNPARSEABLE_BODY_TYPE';
@@ -11,5 +11,42 @@ export type FetchHint = FetchBreadcrumbHint & {
11
11
  input: HandlerDataFetch['args'];
12
12
  response: Response;
13
13
  };
14
+ type XHRSendInput = unknown;
15
+ export interface SentryWrappedXMLHttpRequest {
16
+ __sentry_xhr_v3__?: SentryXhrData;
17
+ __sentry_own_request__?: boolean;
18
+ __sentry_xhr_span_id__?: string;
19
+ setRequestHeader?: (key: string, val: string) => void;
20
+ getResponseHeader?: (key: string) => string | null;
21
+ }
22
+ export interface SentryXhrData {
23
+ method: string;
24
+ url: string;
25
+ status_code?: number;
26
+ body?: XHRSendInput;
27
+ request_body_size?: number;
28
+ response_body_size?: number;
29
+ request_headers: Record<string, string>;
30
+ }
31
+ export interface HandlerDataXhr {
32
+ xhr: SentryWrappedXMLHttpRequest;
33
+ startTimestamp?: number;
34
+ endTimestamp?: number;
35
+ error?: unknown;
36
+ virtualError?: unknown;
37
+ }
38
+ export interface HandlerDataDom {
39
+ event: object | {
40
+ target: object;
41
+ };
42
+ name: string;
43
+ global?: boolean;
44
+ }
45
+ export interface HandlerDataHistory {
46
+ /** The full URL of the previous page */
47
+ from: string | undefined;
48
+ /** The full URL of the new page */
49
+ to: string;
50
+ }
14
51
  export {};
15
52
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,MAAM,EAAiB,OAAO,UAAU,GAEnD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,OAAO,GAAG,iBAAiB,GAAG;IACxC,GAAG,EAAE,cAAc,GAAG,2BAA2B,CAAC;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG;IAC5C,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,MAAM,EAAiB,OAAO,UAAU,GAEnD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,OAAO,GAAG,iBAAiB,GAAG;IACxC,GAAG,EAAE,cAAc,GAAG,2BAA2B,CAAC;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG;IAC5C,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAIF,KAAK,YAAY,GAAG,OAAO,CAAC;AAE5B,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACpD;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,2BAA2B,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;CACZ"}
@@ -8,7 +8,8 @@ interface InteractionContext {
8
8
  * (source: Me)
9
9
  */
10
10
  export declare const MAX_PLAUSIBLE_INP_DURATION = 60;
11
- export declare const INP_ENTRY_MAP: Record<string, 'click' | 'hover' | 'drag' | 'press'>;
11
+ export type InteractionType = 'click' | 'hover' | 'drag' | 'press';
12
+ export declare const INP_ENTRY_MAP: Record<string, InteractionType>;
12
13
  /**
13
14
  * Look up a cached interaction context (element name + root span) by interactionId.
14
15
  * Returns undefined if no context was cached for this interaction.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inp.d.ts","sourceRoot":"","sources":["../../../src/web-vitals/inp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMzC,UAAU,kBAAkB;IAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAQD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA2BzD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAE7G;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CA6FrD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lcp.d.ts","sourceRoot":"","sources":["../../../src/web-vitals/lcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,IAAI,MAAM,CAEjF"}
@@ -0,0 +1,18 @@
1
+ import type { Client, Span } from '@sentry/core';
2
+ export type WebVitalReportEvent = 'pagehide' | 'navigation';
3
+ /**
4
+ * Listens for events on which we want to collect a previously accumulated web vital value.
5
+ * Currently, this includes:
6
+ *
7
+ * - pagehide (i.e. user minimizes browser window, hides tab, etc)
8
+ * - soft navigation (we only care about the vital of the initially loaded route)
9
+ *
10
+ * As a "side-effect", this function will also collect the span id of the pageload span.
11
+ *
12
+ * @param collectorCallback the callback to be called when the first of these events is triggered. Parameters:
13
+ * - event: the event that triggered the reporting of the web vital value.
14
+ * - pageloadSpanId: the span id of the pageload span. This is used to link the web vital span to the pageload span.
15
+ * - pageloadSpan: the pageload span instance. This is used for full access to the pageload span for span streaming.
16
+ */
17
+ export declare function listenForWebVitalReportEvents(client: Client, collectorCallback: (event: WebVitalReportEvent, pageloadSpanId: string, pageloadSpan?: Span) => void): void;
18
+ //# sourceMappingURL=reportEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportEvents.d.ts","sourceRoot":"","sources":["../../../src/web-vitals/reportEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,KAAK,IAAI,QA6BrG"}
@@ -1,6 +1,6 @@
1
1
  import type { Client, Span, SpanAttributes } from '@sentry/core';
2
- import type { WebVitalReportEvent } from './utils';
3
- import type { PerformanceEventTiming } from './instrument';
2
+ import type { WebVitalReportEvent } from './reportEvents';
3
+ import type { PerformanceEventTiming } from '../instrumentation/performanceObserver';
4
4
  export interface LayoutShift extends PerformanceEntry {
5
5
  value: number;
6
6
  sources: Array<{
@@ -68,4 +68,4 @@ export declare function trackInpAsSpan(client: Client): void;
68
68
  */
69
69
  export declare function _sendInpSpan(inpValue: number, entry: PerformanceEventTiming, standalone?: boolean): void;
70
70
  export {};
71
- //# sourceMappingURL=webVitalSpans.d.ts.map
71
+ //# sourceMappingURL=spans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../../../src/web-vitals/spans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA4B9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAsBrF,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAiEpE;AAsBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAqBnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,sBAAsB,GAAG,SAAS,EACzC,YAAY,CAAC,EAAE,IAAI,EACnB,WAAW,CAAC,EAAE,mBAAmB,GAChC,IAAI,CAiCN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAqBnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,YAAY,CAAC,EAAE,IAAI,EACnB,WAAW,CAAC,EAAE,mBAAmB,GAChC,IAAI,CAyBN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAkCnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,UAAQ,GAAG,IAAI,CAgCtG"}
@@ -0,0 +1,46 @@
1
+ import type { Client, Span } from '@sentry/core';
2
+ interface StartTrackingWebVitalsOptions {
3
+ trackCls: boolean;
4
+ trackLcp: boolean;
5
+ client: Client;
6
+ }
7
+ /**
8
+ * Start tracking web vitals.
9
+ * The callback returned by this function can be used to stop tracking & ensure all measurements are final & captured.
10
+ *
11
+ * @returns A function that forces web vitals collection
12
+ */
13
+ export declare function startTrackingWebVitals({ trackCls, trackLcp }: StartTrackingWebVitalsOptions): () => void;
14
+ export { registerInpInteractionListener } from './inp';
15
+ interface AddWebVitalsToSpanOptions {
16
+ /**
17
+ * Flag to determine if CLS should be recorded as a measurement on the pageload span or
18
+ * sent as a standalone span instead.
19
+ * Sending it as a standalone span will yield more accurate LCP values.
20
+ *
21
+ * Default: `false` for backwards compatibility.
22
+ */
23
+ recordClsOnPageloadSpan: boolean;
24
+ /**
25
+ * Flag to determine if LCP should be recorded as a measurement on the pageload span or
26
+ * sent as a standalone span instead.
27
+ * Sending it as a standalone span will yield more accurate LCP values.
28
+ *
29
+ * Default: `false` for backwards compatibility.
30
+ */
31
+ recordLcpOnPageloadSpan: boolean;
32
+ /**
33
+ * Whether span streaming is enabled.
34
+ */
35
+ spanStreamingEnabled?: boolean;
36
+ }
37
+ /**
38
+ * Writes the collected web vitals (LCP, CLS, INP, TTFB, FP, FCP) onto the pageload span,
39
+ * either as measurements/attributes (v1) or as web vital attributes (span streaming).
40
+ *
41
+ * This should be called when the pageload span ends, after the web vitals have been finalized.
42
+ * It is a no-op for non-pageload spans, but always resets the collected web vital state so it
43
+ * doesn't leak into a subsequent navigation.
44
+ */
45
+ export declare function addWebVitalsToSpan(span: Span, options: AddWebVitalsToSpanOptions): void;
46
+ //# sourceMappingURL=tracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../../src/web-vitals/tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAgB,IAAI,EAAE,MAAM,cAAc,CAAC;AAmB/D,UAAU,6BAA6B;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,6BAA6B,GAAG,MAAM,IAAI,CAiBxG;AAED,OAAO,EAAE,8BAA8B,EAAE,MAAM,OAAO,CAAC;AA0DvD,UAAU,yBAAyB;IACjC;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAiEvF"}
@@ -8,4 +8,19 @@ export declare function addPageListener(type: string, listener: EventListener, o
8
8
  * Instead of having to check for window/document every time we remove a listener, we can use this function.
9
9
  */
10
10
  export declare function removePageListener(type: string, listener: EventListener, options?: boolean | AddEventListenerOptions): void;
11
- //# sourceMappingURL=globalListeners.d.ts.map
11
+ export declare const getNavigationEntry: (checkResponseStart?: boolean) => PerformanceNavigationTiming | void;
12
+ export declare const getActivationStart: () => number;
13
+ export interface OnHiddenCallback {
14
+ (event: Event): void;
15
+ }
16
+ export declare const onHidden: (cb: OnHiddenCallback) => void;
17
+ export declare const getVisibilityWatcher: () => {
18
+ readonly firstHiddenTime: number;
19
+ onHidden(cb: () => void): void;
20
+ };
21
+ /**
22
+ * Runs the passed callback during the next idle period, or immediately
23
+ * if the browser's visibility state is (or becomes) hidden.
24
+ */
25
+ export declare const whenIdleOrHidden: (cb: () => void) => void;
26
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/web-vitals/utils.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,QAIjH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,QAIpH;AAID,eAAO,MAAM,kBAAkB,oCAAgC,2BAA2B,GAAG,IAiB5F,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAGrC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,OAAQ,gBAAgB,SAQ5C,CAAC;AA4CF,eAAO,MAAM,oBAAoB;aA4BzB,eAAe;IAGnB,QAAQ,KAAK,MAAM,IAAI;CAI1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAAQ,MAAM,IAAI,SAwB9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/browser-utils",
3
- "version": "11.0.0-alpha.0",
3
+ "version": "11.0.0-alpha.2",
4
4
  "description": "Browser Utilities for all Sentry JavaScript SDKs",
5
5
  "repository": "git://github.com/getsentry/sentry-javascript.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/browser-utils",
@@ -33,8 +33,9 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@sentry/core": "11.0.0-alpha.0",
37
- "@sentry/conventions": "^0.16.0"
36
+ "@sentry/core": "11.0.0-alpha.2",
37
+ "@sentry/conventions": "^0.20.0",
38
+ "web-vitals": "^6.0.1"
38
39
  },
39
40
  "scripts": {
40
41
  "build": "run-p build:transpile build:types",
@@ -48,6 +49,7 @@
48
49
  "clean": "rimraf build coverage sentry-browser-utils-*.tgz",
49
50
  "lint:fix": "oxlint . --fix --type-aware",
50
51
  "lint": "oxlint . --type-aware",
52
+ "lint:types": "oxlint src --type-aware --type-check",
51
53
  "lint:es-compatibility": "es-check es2020 ./build/cjs/*.js && es-check es2020 ./build/esm/*.js --module",
52
54
  "test:unit": "vitest run",
53
55
  "test": "vitest run",