@sentry/browser-utils 10.70.0 → 11.0.0-alpha.1

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 (350) hide show
  1. package/build/cjs/htmlTreeAsString.js.map +1 -1
  2. package/build/cjs/index.js +30 -28
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/instrumentation/dom.js.map +1 -0
  5. package/build/cjs/instrumentation/history.js.map +1 -0
  6. package/build/cjs/instrumentation/location.js.map +1 -0
  7. package/build/cjs/{metrics/instrument.js → instrumentation/performanceObserver.js} +44 -32
  8. package/build/cjs/instrumentation/performanceObserver.js.map +1 -0
  9. package/build/cjs/instrumentation/xhr.js.map +1 -0
  10. package/build/cjs/{metrics → performance}/elementTiming.js +2 -2
  11. package/build/cjs/performance/elementTiming.js.map +1 -0
  12. package/build/cjs/{metrics/browserMetrics.js → performance/entries.js} +43 -262
  13. package/build/cjs/performance/entries.js.map +1 -0
  14. package/build/cjs/performance/resourceTiming.js.map +1 -0
  15. package/build/cjs/performance/userTiming.js +119 -0
  16. package/build/cjs/performance/userTiming.js.map +1 -0
  17. package/build/cjs/performance/utils.js +68 -0
  18. package/build/cjs/performance/utils.js.map +1 -0
  19. package/build/cjs/{metrics → web-vitals}/inp.js +4 -61
  20. package/build/cjs/web-vitals/inp.js.map +1 -0
  21. package/build/cjs/web-vitals/lcp.js +10 -0
  22. package/build/cjs/web-vitals/lcp.js.map +1 -0
  23. package/build/cjs/web-vitals/reportEvents.js +31 -0
  24. package/build/cjs/web-vitals/reportEvents.js.map +1 -0
  25. package/build/cjs/{metrics/webVitalSpans.js → web-vitals/spans.js} +36 -19
  26. package/build/cjs/web-vitals/spans.js.map +1 -0
  27. package/build/cjs/web-vitals/tracking.js +164 -0
  28. package/build/cjs/web-vitals/tracking.js.map +1 -0
  29. package/build/cjs/web-vitals/utils.js +99 -0
  30. package/build/cjs/web-vitals/utils.js.map +1 -0
  31. package/build/esm/htmlTreeAsString.js.map +1 -1
  32. package/build/esm/index.js +14 -12
  33. package/build/esm/index.js.map +1 -1
  34. package/build/esm/instrumentation/dom.js.map +1 -0
  35. package/build/esm/instrumentation/history.js.map +1 -0
  36. package/build/esm/instrumentation/location.js.map +1 -0
  37. package/build/esm/{metrics/instrument.js → instrumentation/performanceObserver.js} +42 -30
  38. package/build/esm/instrumentation/performanceObserver.js.map +1 -0
  39. package/build/esm/instrumentation/xhr.js.map +1 -0
  40. package/build/esm/package.json +1 -1
  41. package/build/esm/{metrics → performance}/elementTiming.js +1 -1
  42. package/build/esm/performance/elementTiming.js.map +1 -0
  43. package/build/esm/{metrics/browserMetrics.js → performance/entries.js} +36 -252
  44. package/build/esm/performance/entries.js.map +1 -0
  45. package/build/esm/performance/resourceTiming.js.map +1 -0
  46. package/build/esm/performance/userTiming.js +116 -0
  47. package/build/esm/performance/userTiming.js.map +1 -0
  48. package/build/esm/performance/utils.js +61 -0
  49. package/build/esm/performance/utils.js.map +1 -0
  50. package/build/esm/{metrics → web-vitals}/inp.js +3 -57
  51. package/build/esm/web-vitals/inp.js.map +1 -0
  52. package/build/esm/web-vitals/lcp.js +7 -0
  53. package/build/esm/web-vitals/lcp.js.map +1 -0
  54. package/build/esm/web-vitals/reportEvents.js +29 -0
  55. package/build/esm/web-vitals/reportEvents.js.map +1 -0
  56. package/build/esm/{metrics/webVitalSpans.js → web-vitals/spans.js} +32 -15
  57. package/build/esm/web-vitals/spans.js.map +1 -0
  58. package/build/esm/web-vitals/tracking.js +161 -0
  59. package/build/esm/web-vitals/tracking.js.map +1 -0
  60. package/build/esm/web-vitals/utils.js +91 -0
  61. package/build/esm/web-vitals/utils.js.map +1 -0
  62. package/build/types/index.d.ts +13 -11
  63. package/build/types/index.d.ts.map +1 -1
  64. package/build/types/instrumentation/dom.d.ts.map +1 -0
  65. package/build/types/instrumentation/history.d.ts.map +1 -0
  66. package/build/types/instrumentation/location.d.ts.map +1 -0
  67. package/build/types/{metrics/instrument.d.ts → instrumentation/performanceObserver.d.ts} +3 -3
  68. package/build/types/instrumentation/performanceObserver.d.ts.map +1 -0
  69. package/build/types/instrumentation/xhr.d.ts.map +1 -0
  70. package/build/types/performance/elementTiming.d.ts.map +1 -0
  71. package/build/types/performance/entries.d.ts +49 -0
  72. package/build/types/performance/entries.d.ts.map +1 -0
  73. package/build/types/performance/resourceTiming.d.ts.map +1 -0
  74. package/build/types/performance/userTiming.d.ts +37 -0
  75. package/build/types/performance/userTiming.d.ts.map +1 -0
  76. package/build/types/performance/utils.d.ts +33 -0
  77. package/build/types/performance/utils.d.ts.map +1 -0
  78. package/build/types/types.d.ts +1 -1
  79. package/build/types/{metrics → web-vitals}/inp.d.ts +0 -13
  80. package/build/types/web-vitals/inp.d.ts.map +1 -0
  81. package/build/types/web-vitals/lcp.d.ts +6 -0
  82. package/build/types/web-vitals/lcp.d.ts.map +1 -0
  83. package/build/types/web-vitals/reportEvents.d.ts +18 -0
  84. package/build/types/web-vitals/reportEvents.d.ts.map +1 -0
  85. package/build/types/{metrics/webVitalSpans.d.ts → web-vitals/spans.d.ts} +18 -12
  86. package/build/types/web-vitals/spans.d.ts.map +1 -0
  87. package/build/types/web-vitals/tracking.d.ts +46 -0
  88. package/build/types/web-vitals/tracking.d.ts.map +1 -0
  89. package/build/types/{metrics/web-vitals/lib/globalListeners.d.ts → web-vitals/utils.d.ts} +16 -1
  90. package/build/types/web-vitals/utils.d.ts.map +1 -0
  91. package/package.json +8 -16
  92. package/build/cjs/instrument/dom.js.map +0 -1
  93. package/build/cjs/instrument/history.js.map +0 -1
  94. package/build/cjs/instrument/location.js.map +0 -1
  95. package/build/cjs/instrument/xhr.js.map +0 -1
  96. package/build/cjs/metrics/browserMetrics.js.map +0 -1
  97. package/build/cjs/metrics/cls.js +0 -64
  98. package/build/cjs/metrics/cls.js.map +0 -1
  99. package/build/cjs/metrics/elementTiming.js.map +0 -1
  100. package/build/cjs/metrics/inp.js.map +0 -1
  101. package/build/cjs/metrics/instrument.js.map +0 -1
  102. package/build/cjs/metrics/lcp.js +0 -77
  103. package/build/cjs/metrics/lcp.js.map +0 -1
  104. package/build/cjs/metrics/resourceTiming.js.map +0 -1
  105. package/build/cjs/metrics/utils.js +0 -137
  106. package/build/cjs/metrics/utils.js.map +0 -1
  107. package/build/cjs/metrics/web-vitals/getCLS.js +0 -46
  108. package/build/cjs/metrics/web-vitals/getCLS.js.map +0 -1
  109. package/build/cjs/metrics/web-vitals/getINP.js +0 -60
  110. package/build/cjs/metrics/web-vitals/getINP.js.map +0 -1
  111. package/build/cjs/metrics/web-vitals/getLCP.js +0 -62
  112. package/build/cjs/metrics/web-vitals/getLCP.js.map +0 -1
  113. package/build/cjs/metrics/web-vitals/lib/InteractionManager.js +0 -87
  114. package/build/cjs/metrics/web-vitals/lib/InteractionManager.js.map +0 -1
  115. package/build/cjs/metrics/web-vitals/lib/LCPEntryManager.js +0 -11
  116. package/build/cjs/metrics/web-vitals/lib/LCPEntryManager.js.map +0 -1
  117. package/build/cjs/metrics/web-vitals/lib/LayoutShiftManager.js +0 -27
  118. package/build/cjs/metrics/web-vitals/lib/LayoutShiftManager.js.map +0 -1
  119. package/build/cjs/metrics/web-vitals/lib/bindReporter.js +0 -31
  120. package/build/cjs/metrics/web-vitals/lib/bindReporter.js.map +0 -1
  121. package/build/cjs/metrics/web-vitals/lib/generateUniqueID.js +0 -8
  122. package/build/cjs/metrics/web-vitals/lib/generateUniqueID.js.map +0 -1
  123. package/build/cjs/metrics/web-vitals/lib/getActivationStart.js +0 -11
  124. package/build/cjs/metrics/web-vitals/lib/getActivationStart.js.map +0 -1
  125. package/build/cjs/metrics/web-vitals/lib/getNavigationEntry.js +0 -17
  126. package/build/cjs/metrics/web-vitals/lib/getNavigationEntry.js.map +0 -1
  127. package/build/cjs/metrics/web-vitals/lib/getVisibilityWatcher.js +0 -48
  128. package/build/cjs/metrics/web-vitals/lib/getVisibilityWatcher.js.map +0 -1
  129. package/build/cjs/metrics/web-vitals/lib/globalListeners.js +0 -18
  130. package/build/cjs/metrics/web-vitals/lib/globalListeners.js.map +0 -1
  131. package/build/cjs/metrics/web-vitals/lib/initMetric.js +0 -34
  132. package/build/cjs/metrics/web-vitals/lib/initMetric.js.map +0 -1
  133. package/build/cjs/metrics/web-vitals/lib/initUnique.js +0 -16
  134. package/build/cjs/metrics/web-vitals/lib/initUnique.js.map +0 -1
  135. package/build/cjs/metrics/web-vitals/lib/observe.js +0 -20
  136. package/build/cjs/metrics/web-vitals/lib/observe.js.map +0 -1
  137. package/build/cjs/metrics/web-vitals/lib/onHidden.js +0 -17
  138. package/build/cjs/metrics/web-vitals/lib/onHidden.js.map +0 -1
  139. package/build/cjs/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js +0 -32
  140. package/build/cjs/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js.map +0 -1
  141. package/build/cjs/metrics/web-vitals/lib/runOnce.js +0 -14
  142. package/build/cjs/metrics/web-vitals/lib/runOnce.js.map +0 -1
  143. package/build/cjs/metrics/web-vitals/lib/whenActivated.js +0 -14
  144. package/build/cjs/metrics/web-vitals/lib/whenActivated.js.map +0 -1
  145. package/build/cjs/metrics/web-vitals/lib/whenIdleOrHidden.js +0 -24
  146. package/build/cjs/metrics/web-vitals/lib/whenIdleOrHidden.js.map +0 -1
  147. package/build/cjs/metrics/web-vitals/onFCP.js +0 -37
  148. package/build/cjs/metrics/web-vitals/onFCP.js.map +0 -1
  149. package/build/cjs/metrics/web-vitals/onTTFB.js +0 -35
  150. package/build/cjs/metrics/web-vitals/onTTFB.js.map +0 -1
  151. package/build/cjs/metrics/webVitalSpans.js.map +0 -1
  152. package/build/esm/instrument/dom.js.map +0 -1
  153. package/build/esm/instrument/history.js.map +0 -1
  154. package/build/esm/instrument/location.js.map +0 -1
  155. package/build/esm/instrument/xhr.js.map +0 -1
  156. package/build/esm/metrics/browserMetrics.js.map +0 -1
  157. package/build/esm/metrics/cls.js +0 -61
  158. package/build/esm/metrics/cls.js.map +0 -1
  159. package/build/esm/metrics/elementTiming.js.map +0 -1
  160. package/build/esm/metrics/inp.js.map +0 -1
  161. package/build/esm/metrics/instrument.js.map +0 -1
  162. package/build/esm/metrics/lcp.js +0 -72
  163. package/build/esm/metrics/lcp.js.map +0 -1
  164. package/build/esm/metrics/resourceTiming.js.map +0 -1
  165. package/build/esm/metrics/utils.js +0 -128
  166. package/build/esm/metrics/utils.js.map +0 -1
  167. package/build/esm/metrics/web-vitals/getCLS.js +0 -43
  168. package/build/esm/metrics/web-vitals/getCLS.js.map +0 -1
  169. package/build/esm/metrics/web-vitals/getINP.js +0 -57
  170. package/build/esm/metrics/web-vitals/getINP.js.map +0 -1
  171. package/build/esm/metrics/web-vitals/getLCP.js +0 -59
  172. package/build/esm/metrics/web-vitals/getLCP.js.map +0 -1
  173. package/build/esm/metrics/web-vitals/lib/InteractionManager.js +0 -85
  174. package/build/esm/metrics/web-vitals/lib/InteractionManager.js.map +0 -1
  175. package/build/esm/metrics/web-vitals/lib/LCPEntryManager.js +0 -9
  176. package/build/esm/metrics/web-vitals/lib/LCPEntryManager.js.map +0 -1
  177. package/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js +0 -25
  178. package/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js.map +0 -1
  179. package/build/esm/metrics/web-vitals/lib/bindReporter.js +0 -29
  180. package/build/esm/metrics/web-vitals/lib/bindReporter.js.map +0 -1
  181. package/build/esm/metrics/web-vitals/lib/generateUniqueID.js +0 -6
  182. package/build/esm/metrics/web-vitals/lib/generateUniqueID.js.map +0 -1
  183. package/build/esm/metrics/web-vitals/lib/getActivationStart.js +0 -9
  184. package/build/esm/metrics/web-vitals/lib/getActivationStart.js.map +0 -1
  185. package/build/esm/metrics/web-vitals/lib/getNavigationEntry.js +0 -15
  186. package/build/esm/metrics/web-vitals/lib/getNavigationEntry.js.map +0 -1
  187. package/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js +0 -46
  188. package/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js.map +0 -1
  189. package/build/esm/metrics/web-vitals/lib/globalListeners.js +0 -15
  190. package/build/esm/metrics/web-vitals/lib/globalListeners.js.map +0 -1
  191. package/build/esm/metrics/web-vitals/lib/initMetric.js +0 -32
  192. package/build/esm/metrics/web-vitals/lib/initMetric.js.map +0 -1
  193. package/build/esm/metrics/web-vitals/lib/initUnique.js +0 -14
  194. package/build/esm/metrics/web-vitals/lib/initUnique.js.map +0 -1
  195. package/build/esm/metrics/web-vitals/lib/observe.js +0 -18
  196. package/build/esm/metrics/web-vitals/lib/observe.js.map +0 -1
  197. package/build/esm/metrics/web-vitals/lib/onHidden.js +0 -15
  198. package/build/esm/metrics/web-vitals/lib/onHidden.js.map +0 -1
  199. package/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js +0 -29
  200. package/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js.map +0 -1
  201. package/build/esm/metrics/web-vitals/lib/runOnce.js +0 -12
  202. package/build/esm/metrics/web-vitals/lib/runOnce.js.map +0 -1
  203. package/build/esm/metrics/web-vitals/lib/whenActivated.js +0 -12
  204. package/build/esm/metrics/web-vitals/lib/whenActivated.js.map +0 -1
  205. package/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js +0 -22
  206. package/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js.map +0 -1
  207. package/build/esm/metrics/web-vitals/onFCP.js +0 -34
  208. package/build/esm/metrics/web-vitals/onFCP.js.map +0 -1
  209. package/build/esm/metrics/web-vitals/onTTFB.js +0 -32
  210. package/build/esm/metrics/web-vitals/onTTFB.js.map +0 -1
  211. package/build/esm/metrics/webVitalSpans.js.map +0 -1
  212. package/build/types/instrument/dom.d.ts.map +0 -1
  213. package/build/types/instrument/history.d.ts.map +0 -1
  214. package/build/types/instrument/location.d.ts.map +0 -1
  215. package/build/types/instrument/xhr.d.ts.map +0 -1
  216. package/build/types/metrics/browserMetrics.d.ts +0 -116
  217. package/build/types/metrics/browserMetrics.d.ts.map +0 -1
  218. package/build/types/metrics/cls.d.ts +0 -17
  219. package/build/types/metrics/cls.d.ts.map +0 -1
  220. package/build/types/metrics/elementTiming.d.ts.map +0 -1
  221. package/build/types/metrics/inp.d.ts.map +0 -1
  222. package/build/types/metrics/instrument.d.ts.map +0 -1
  223. package/build/types/metrics/lcp.d.ts +0 -22
  224. package/build/types/metrics/lcp.d.ts.map +0 -1
  225. package/build/types/metrics/resourceTiming.d.ts.map +0 -1
  226. package/build/types/metrics/utils.d.ts +0 -73
  227. package/build/types/metrics/utils.d.ts.map +0 -1
  228. package/build/types/metrics/web-vitals/getCLS.d.ts +0 -26
  229. package/build/types/metrics/web-vitals/getCLS.d.ts.map +0 -1
  230. package/build/types/metrics/web-vitals/getINP.d.ts +0 -34
  231. package/build/types/metrics/web-vitals/getINP.d.ts.map +0 -1
  232. package/build/types/metrics/web-vitals/getLCP.d.ts +0 -16
  233. package/build/types/metrics/web-vitals/getLCP.d.ts.map +0 -1
  234. package/build/types/metrics/web-vitals/lib/InteractionManager.d.ts +0 -37
  235. package/build/types/metrics/web-vitals/lib/InteractionManager.d.ts.map +0 -1
  236. package/build/types/metrics/web-vitals/lib/LCPEntryManager.d.ts +0 -5
  237. package/build/types/metrics/web-vitals/lib/LCPEntryManager.d.ts.map +0 -1
  238. package/build/types/metrics/web-vitals/lib/LayoutShiftManager.d.ts +0 -7
  239. package/build/types/metrics/web-vitals/lib/LayoutShiftManager.d.ts.map +0 -1
  240. package/build/types/metrics/web-vitals/lib/bindReporter.d.ts +0 -7
  241. package/build/types/metrics/web-vitals/lib/bindReporter.d.ts.map +0 -1
  242. package/build/types/metrics/web-vitals/lib/generateUniqueID.d.ts +0 -7
  243. package/build/types/metrics/web-vitals/lib/generateUniqueID.d.ts.map +0 -1
  244. package/build/types/metrics/web-vitals/lib/getActivationStart.d.ts +0 -2
  245. package/build/types/metrics/web-vitals/lib/getActivationStart.d.ts.map +0 -1
  246. package/build/types/metrics/web-vitals/lib/getNavigationEntry.d.ts +0 -2
  247. package/build/types/metrics/web-vitals/lib/getNavigationEntry.d.ts.map +0 -1
  248. package/build/types/metrics/web-vitals/lib/getVisibilityWatcher.d.ts +0 -5
  249. package/build/types/metrics/web-vitals/lib/getVisibilityWatcher.d.ts.map +0 -1
  250. package/build/types/metrics/web-vitals/lib/globalListeners.d.ts.map +0 -1
  251. package/build/types/metrics/web-vitals/lib/initMetric.d.ts +0 -21
  252. package/build/types/metrics/web-vitals/lib/initMetric.d.ts.map +0 -1
  253. package/build/types/metrics/web-vitals/lib/initUnique.d.ts +0 -7
  254. package/build/types/metrics/web-vitals/lib/initUnique.d.ts.map +0 -1
  255. package/build/types/metrics/web-vitals/lib/observe.d.ts +0 -23
  256. package/build/types/metrics/web-vitals/lib/observe.d.ts.map +0 -1
  257. package/build/types/metrics/web-vitals/lib/onHidden.d.ts +0 -27
  258. package/build/types/metrics/web-vitals/lib/onHidden.d.ts.map +0 -1
  259. package/build/types/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts +0 -15
  260. package/build/types/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts.map +0 -1
  261. package/build/types/metrics/web-vitals/lib/runOnce.d.ts +0 -2
  262. package/build/types/metrics/web-vitals/lib/runOnce.d.ts.map +0 -1
  263. package/build/types/metrics/web-vitals/lib/whenActivated.d.ts +0 -2
  264. package/build/types/metrics/web-vitals/lib/whenActivated.d.ts.map +0 -1
  265. package/build/types/metrics/web-vitals/lib/whenIdleOrHidden.d.ts +0 -6
  266. package/build/types/metrics/web-vitals/lib/whenIdleOrHidden.d.ts.map +0 -1
  267. package/build/types/metrics/web-vitals/onFCP.d.ts +0 -11
  268. package/build/types/metrics/web-vitals/onFCP.d.ts.map +0 -1
  269. package/build/types/metrics/web-vitals/onTTFB.d.ts +0 -20
  270. package/build/types/metrics/web-vitals/onTTFB.d.ts.map +0 -1
  271. package/build/types/metrics/web-vitals/types/base.d.ts +0 -103
  272. package/build/types/metrics/web-vitals/types/base.d.ts.map +0 -1
  273. package/build/types/metrics/web-vitals/types/cls.d.ts +0 -58
  274. package/build/types/metrics/web-vitals/types/cls.d.ts.map +0 -1
  275. package/build/types/metrics/web-vitals/types/fcp.d.ts +0 -47
  276. package/build/types/metrics/web-vitals/types/fcp.d.ts.map +0 -1
  277. package/build/types/metrics/web-vitals/types/inp.d.ts +0 -150
  278. package/build/types/metrics/web-vitals/types/inp.d.ts.map +0 -1
  279. package/build/types/metrics/web-vitals/types/lcp.d.ts +0 -74
  280. package/build/types/metrics/web-vitals/types/lcp.d.ts.map +0 -1
  281. package/build/types/metrics/web-vitals/types/ttfb.d.ts +0 -60
  282. package/build/types/metrics/web-vitals/types/ttfb.d.ts.map +0 -1
  283. package/build/types/metrics/web-vitals/types.d.ts +0 -78
  284. package/build/types/metrics/web-vitals/types.d.ts.map +0 -1
  285. package/build/types/metrics/webVitalSpans.d.ts.map +0 -1
  286. package/build/types-ts3.8/debug-build.d.ts +0 -7
  287. package/build/types-ts3.8/getNativeImplementation.d.ts +0 -69
  288. package/build/types-ts3.8/htmlTreeAsString.d.ts +0 -11
  289. package/build/types-ts3.8/index.d.ts +0 -17
  290. package/build/types-ts3.8/instrument/dom.d.ts +0 -11
  291. package/build/types-ts3.8/instrument/history.d.ts +0 -15
  292. package/build/types-ts3.8/instrument/location.d.ts +0 -13
  293. package/build/types-ts3.8/instrument/xhr.d.ts +0 -14
  294. package/build/types-ts3.8/is.d.ts +0 -7
  295. package/build/types-ts3.8/metrics/browserMetrics.d.ts +0 -119
  296. package/build/types-ts3.8/metrics/cls.d.ts +0 -17
  297. package/build/types-ts3.8/metrics/elementTiming.d.ts +0 -21
  298. package/build/types-ts3.8/metrics/inp.d.ts +0 -35
  299. package/build/types-ts3.8/metrics/instrument.d.ts +0 -121
  300. package/build/types-ts3.8/metrics/lcp.d.ts +0 -22
  301. package/build/types-ts3.8/metrics/resourceTiming.d.ts +0 -13
  302. package/build/types-ts3.8/metrics/utils.d.ts +0 -73
  303. package/build/types-ts3.8/metrics/web-vitals/getCLS.d.ts +0 -26
  304. package/build/types-ts3.8/metrics/web-vitals/getINP.d.ts +0 -34
  305. package/build/types-ts3.8/metrics/web-vitals/getLCP.d.ts +0 -16
  306. package/build/types-ts3.8/metrics/web-vitals/lib/InteractionManager.d.ts +0 -37
  307. package/build/types-ts3.8/metrics/web-vitals/lib/LCPEntryManager.d.ts +0 -5
  308. package/build/types-ts3.8/metrics/web-vitals/lib/LayoutShiftManager.d.ts +0 -7
  309. package/build/types-ts3.8/metrics/web-vitals/lib/bindReporter.d.ts +0 -7
  310. package/build/types-ts3.8/metrics/web-vitals/lib/generateUniqueID.d.ts +0 -7
  311. package/build/types-ts3.8/metrics/web-vitals/lib/getActivationStart.d.ts +0 -2
  312. package/build/types-ts3.8/metrics/web-vitals/lib/getNavigationEntry.d.ts +0 -2
  313. package/build/types-ts3.8/metrics/web-vitals/lib/getVisibilityWatcher.d.ts +0 -5
  314. package/build/types-ts3.8/metrics/web-vitals/lib/globalListeners.d.ts +0 -11
  315. package/build/types-ts3.8/metrics/web-vitals/lib/initMetric.d.ts +0 -21
  316. package/build/types-ts3.8/metrics/web-vitals/lib/initUnique.d.ts +0 -7
  317. package/build/types-ts3.8/metrics/web-vitals/lib/observe.d.ts +0 -23
  318. package/build/types-ts3.8/metrics/web-vitals/lib/onHidden.d.ts +0 -27
  319. package/build/types-ts3.8/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.d.ts +0 -15
  320. package/build/types-ts3.8/metrics/web-vitals/lib/runOnce.d.ts +0 -2
  321. package/build/types-ts3.8/metrics/web-vitals/lib/whenActivated.d.ts +0 -2
  322. package/build/types-ts3.8/metrics/web-vitals/lib/whenIdleOrHidden.d.ts +0 -6
  323. package/build/types-ts3.8/metrics/web-vitals/onFCP.d.ts +0 -11
  324. package/build/types-ts3.8/metrics/web-vitals/onTTFB.d.ts +0 -20
  325. package/build/types-ts3.8/metrics/web-vitals/types/base.d.ts +0 -106
  326. package/build/types-ts3.8/metrics/web-vitals/types/cls.d.ts +0 -58
  327. package/build/types-ts3.8/metrics/web-vitals/types/fcp.d.ts +0 -47
  328. package/build/types-ts3.8/metrics/web-vitals/types/inp.d.ts +0 -150
  329. package/build/types-ts3.8/metrics/web-vitals/types/lcp.d.ts +0 -74
  330. package/build/types-ts3.8/metrics/web-vitals/types/ttfb.d.ts +0 -60
  331. package/build/types-ts3.8/metrics/web-vitals/types.d.ts +0 -78
  332. package/build/types-ts3.8/metrics/webVitalSpans.d.ts +0 -65
  333. package/build/types-ts3.8/networkUtils.d.ts +0 -28
  334. package/build/types-ts3.8/types.d.ts +0 -15
  335. /package/build/cjs/{instrument → instrumentation}/dom.js +0 -0
  336. /package/build/cjs/{instrument → instrumentation}/history.js +0 -0
  337. /package/build/cjs/{instrument → instrumentation}/location.js +0 -0
  338. /package/build/cjs/{instrument → instrumentation}/xhr.js +0 -0
  339. /package/build/cjs/{metrics → performance}/resourceTiming.js +0 -0
  340. /package/build/esm/{instrument → instrumentation}/dom.js +0 -0
  341. /package/build/esm/{instrument → instrumentation}/history.js +0 -0
  342. /package/build/esm/{instrument → instrumentation}/location.js +0 -0
  343. /package/build/esm/{instrument → instrumentation}/xhr.js +0 -0
  344. /package/build/esm/{metrics → performance}/resourceTiming.js +0 -0
  345. /package/build/types/{instrument → instrumentation}/dom.d.ts +0 -0
  346. /package/build/types/{instrument → instrumentation}/history.d.ts +0 -0
  347. /package/build/types/{instrument → instrumentation}/location.d.ts +0 -0
  348. /package/build/types/{instrument → instrumentation}/xhr.d.ts +0 -0
  349. /package/build/types/{metrics → performance}/elementTiming.d.ts +0 -0
  350. /package/build/types/{metrics → performance}/resourceTiming.d.ts +0 -0
@@ -0,0 +1,91 @@
1
+ import { WINDOW } from '../types.js';
2
+
3
+ function addPageListener(type, listener, options) {
4
+ if (WINDOW.document) {
5
+ WINDOW.addEventListener(type, listener, options);
6
+ }
7
+ }
8
+ function removePageListener(type, listener, options) {
9
+ if (WINDOW.document) {
10
+ WINDOW.removeEventListener(type, listener, options);
11
+ }
12
+ }
13
+ const getNavigationEntry = (checkResponseStart = true) => {
14
+ const navigationEntry = WINDOW.performance?.getEntriesByType?.("navigation")[0];
15
+ if (
16
+ // sentry-specific change:
17
+ // We don't want to check for responseStart for our own use of `getNavigationEntry`
18
+ !checkResponseStart || navigationEntry && navigationEntry.responseStart > 0 && navigationEntry.responseStart < performance.now()
19
+ ) {
20
+ return navigationEntry;
21
+ }
22
+ };
23
+ const getActivationStart = () => {
24
+ const navEntry = getNavigationEntry();
25
+ return navEntry?.activationStart ?? 0;
26
+ };
27
+ const onHidden = (cb) => {
28
+ const onHiddenCallback = (event) => {
29
+ if (WINDOW.document?.visibilityState === "hidden") {
30
+ cb(event);
31
+ }
32
+ };
33
+ addPageListener("visibilitychange", onHiddenCallback, { capture: true });
34
+ };
35
+ let firstHiddenTime = -1;
36
+ const onHiddenFunctions = /* @__PURE__ */ new Set();
37
+ const initHiddenTime = () => {
38
+ return WINDOW.document?.visibilityState === "hidden" && !WINDOW.document?.prerendering ? 0 : Infinity;
39
+ };
40
+ const onVisibilityUpdate = (event) => {
41
+ if (WINDOW.document?.visibilityState === "hidden" && firstHiddenTime > -1) {
42
+ if (event.type === "visibilitychange") {
43
+ for (const onHiddenFunction of onHiddenFunctions) {
44
+ onHiddenFunction();
45
+ }
46
+ }
47
+ if (!isFinite(firstHiddenTime)) {
48
+ firstHiddenTime = event.type === "visibilitychange" ? event.timeStamp : 0;
49
+ removePageListener("prerenderingchange", onVisibilityUpdate, true);
50
+ }
51
+ }
52
+ };
53
+ const getVisibilityWatcher = () => {
54
+ if (WINDOW.document && firstHiddenTime < 0) {
55
+ const activationStart = getActivationStart();
56
+ const firstVisibilityStateHiddenTime = !WINDOW.document.prerendering ? globalThis.performance.getEntriesByType("visibility-state").filter((e) => e.name === "hidden" && e.startTime > activationStart)[0]?.startTime : void 0;
57
+ firstHiddenTime = firstVisibilityStateHiddenTime ?? initHiddenTime();
58
+ addPageListener("visibilitychange", onVisibilityUpdate, true);
59
+ addPageListener("prerenderingchange", onVisibilityUpdate, true);
60
+ }
61
+ return {
62
+ get firstHiddenTime() {
63
+ return firstHiddenTime;
64
+ },
65
+ onHidden(cb) {
66
+ onHiddenFunctions.add(cb);
67
+ }
68
+ };
69
+ };
70
+ const whenIdleOrHidden = (cb) => {
71
+ const rIC = WINDOW.requestIdleCallback || WINDOW.setTimeout;
72
+ if (WINDOW.document?.visibilityState === "hidden") {
73
+ cb();
74
+ } else {
75
+ let called = false;
76
+ const runOnce = () => {
77
+ if (!called) {
78
+ cb();
79
+ called = true;
80
+ }
81
+ };
82
+ addPageListener("visibilitychange", runOnce, { once: true, capture: true });
83
+ rIC(() => {
84
+ runOnce();
85
+ removePageListener("visibilitychange", runOnce, { capture: true });
86
+ });
87
+ }
88
+ };
89
+
90
+ export { addPageListener, getActivationStart, getNavigationEntry, getVisibilityWatcher, onHidden, removePageListener, whenIdleOrHidden };
91
+ //# sourceMappingURL=utils.js.map
@@ -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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"}
@@ -1,17 +1,19 @@
1
- export { addPerformanceInstrumentationHandler, addClsInstrumentationHandler, addTtfbInstrumentationHandler, addLcpInstrumentationHandler, addInpInstrumentationHandler, } from './metrics/instrument';
2
- export { addPerformanceEntries, addWebVitalsToSpan, startTrackingInteractions, startTrackingLongTasks, startTrackingLongAnimationFrames, startTrackingWebVitals, startTrackingINP, registerInpInteractionListener, } from './metrics/browserMetrics';
3
- export { elementTimingIntegration, startTrackingElementTiming } from './metrics/elementTiming';
4
- export { extractNetworkProtocol } from './metrics/utils';
5
- export { trackClsAsSpan, trackInpAsSpan, trackLcpAsSpan } from './metrics/webVitalSpans';
6
- export { whenIdleOrHidden } from './metrics/web-vitals/lib/whenIdleOrHidden';
7
- export { addClickKeypressInstrumentationHandler } from './instrument/dom';
8
- export { addHistoryInstrumentationHandler } from './instrument/history';
1
+ export { addPerformanceInstrumentationHandler, addClsInstrumentationHandler, addTtfbInstrumentationHandler, addLcpInstrumentationHandler, addInpInstrumentationHandler, } from './instrumentation/performanceObserver';
2
+ export { addPerformanceEntries, startTrackingInteractions, startTrackingLongTasks, startTrackingLongAnimationFrames, } from './performance/entries';
3
+ export { addWebVitalsToSpan, startTrackingWebVitals, registerInpInteractionListener, } from './web-vitals/tracking';
4
+ export { elementTimingIntegration, startTrackingElementTiming } from './performance/elementTiming';
5
+ export { userTimingIntegration } from './performance/userTiming';
6
+ export { extractNetworkProtocol } from './performance/utils';
7
+ export { trackClsAsSpan, trackInpAsSpan, trackLcpAsSpan } from './web-vitals/spans';
8
+ export { whenIdleOrHidden } from './web-vitals/utils';
9
+ export { addClickKeypressInstrumentationHandler } from './instrumentation/dom';
10
+ export { addHistoryInstrumentationHandler } from './instrumentation/history';
9
11
  export { fetch, setTimeout, clearCachedImplementation, getNativeImplementation } from './getNativeImplementation';
10
- export { addXhrInstrumentationHandler, SENTRY_XHR_DATA_KEY } from './instrument/xhr';
12
+ export { addXhrInstrumentationHandler, SENTRY_XHR_DATA_KEY } from './instrumentation/xhr';
11
13
  export { getBodyString, getFetchRequestArgBody, serializeFormData, parseXhrResponseHeaders } from './networkUtils';
12
- export { resourceTimingToSpanAttributes } from './metrics/resourceTiming';
14
+ export { resourceTimingToSpanAttributes } from './performance/resourceTiming';
13
15
  export { htmlTreeAsString } from './htmlTreeAsString';
14
16
  export { isElement } from './is';
15
- export { getAbsoluteUrl } from './instrument/location';
17
+ export { getAbsoluteUrl } from './instrumentation/location';
16
18
  export type { FetchHint, NetworkMetaWarning, XhrHint } from './types';
17
19
  //# 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,gBAAgB,EAChB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE/F,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,EACL,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAE/B,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,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,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAiCnD;;;;;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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMvD;;;;;;;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":"AAIA,KAAK,wCAAwC,GACzC,UAAU,GACV,OAAO,GACP,YAAY,GACZ,OAAO,GACP,UAAU,GACV,SAAS,GAET,aAAa,CAAC;AAMlB,UAAU,gBAAgB;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AACD,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,mCAAoC,SAAQ,gBAAgB;IAC3E,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC;AAMD,UAAU,MAAM;IACd;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAE7C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,MAAM,CAAC;IAE9C;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;OAQG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAE5B;;;;;;OAMG;IACH,cAAc,EACV,UAAU,GACV,QAAQ,GACR,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,SAAS,GACT,iBAAiB,CAAC;CACvB;AASD,KAAK,sBAAsB,GAAG,MAAM,IAAI,CAAC;AAUzC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAC5C,cAAc,UAAQ,GACrB,sBAAsB,CAExB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAC5C,cAAc,UAAQ,GACrB,sBAAsB,CAExB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAAG,sBAAsB,CAElH;AAED,MAAM,MAAM,8BAA8B,GAAG,CAAC,IAAI,EAAE;IAClD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG;QAChC,OAAO,EAAE,sBAAsB,EAAE,CAAC;KACnC,CAAC;CACH,KAAK,IAAI,CAAC;AAEX;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,8BAA8B,GAAG,sBAAsB,CAE7G;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,CAAC,CAAC,gBAAgB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,CAAA;CAAE,KAAK,IAAI,GACnH,sBAAsB,CAAC;AAC1B,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,wCAAwC,EAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,KAAK,IAAI,GACxD,sBAAsB,CAAC;AA0L1B;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,IAAI,sBAAsB,CAEjG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/xhr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,cAAc,CAAC;AAIhF,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 @@
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"}
@@ -0,0 +1,49 @@
1
+ import type { Span, SpanAttributes } from '@sentry/core';
2
+ /**
3
+ * Start tracking long tasks.
4
+ */
5
+ export declare function startTrackingLongTasks(): void;
6
+ /**
7
+ * Start tracking long animation frames.
8
+ */
9
+ export declare function startTrackingLongAnimationFrames(): void;
10
+ /**
11
+ * Start tracking interaction events.
12
+ */
13
+ export declare function startTrackingInteractions(): void;
14
+ interface AddPerformanceEntriesOptions {
15
+ /**
16
+ * Resource spans with `op`s matching strings in the array will not be emitted.
17
+ *
18
+ * Default: []
19
+ */
20
+ ignoreResourceSpans: Array<'resource.script' | 'resource.css' | 'resource.img' | 'resource.other' | string>;
21
+ /**
22
+ * Whether span streaming is enabled.
23
+ */
24
+ spanStreamingEnabled?: boolean;
25
+ }
26
+ /** Add performance related spans to a transaction */
27
+ export declare function addPerformanceEntries(span: Span, options: AddPerformanceEntriesOptions): void;
28
+ /**
29
+ * Instrument navigation entries
30
+ * exported only for tests
31
+ */
32
+ export declare function _addNavigationSpans(span: Span, entry: PerformanceNavigationTiming, timeOrigin: number): void;
33
+ /**
34
+ * Create resource-related spans.
35
+ * Exported only for tests.
36
+ */
37
+ export declare function _addResourceSpans(span: Span, entry: PerformanceResourceTiming, resourceUrl: string, startTime: number, duration: number, timeOrigin: number, ignoredResourceSpanOps?: Array<string>): void;
38
+ type ExperimentalResourceTimingProperty = 'renderBlockingStatus' | 'deliveryType' | 'responseStatus';
39
+ /**
40
+ * Use this to set any attributes we can take directly form the PerformanceResourceTiming entry.
41
+ *
42
+ * This is just a mapping function for entry->attribute to keep bundle-size minimal.
43
+ * Experimental properties are also accepted (see {@link ExperimentalResourceTimingProperty}).
44
+ * Assumes that all entry properties might be undefined for browser-specific differences.
45
+ * Only accepts string and number values for now and also sets 0-values.
46
+ */
47
+ export declare function _setResourceRequestAttributes(entry: Partial<PerformanceResourceTiming> & Partial<Record<ExperimentalResourceTimingProperty, number | string>>, attributes: SpanAttributes, properties: [keyof PerformanceResourceTiming | ExperimentalResourceTimingProperty, string][]): void;
48
+ export {};
49
+ //# 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,EAAoB,MAAM,cAAc,CAAC;AAgE3E;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CA8B7C;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAyDvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CA6BhD;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,CA8D7F;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,GACrC,IAAI,CAuDN;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 @@
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,37 @@
1
+ import type { Span } from '@sentry/core';
2
+ interface UserTimingOptions {
3
+ /**
4
+ * User Timing entries with names matching any of these strings or regular expressions will not be emitted.
5
+ *
6
+ * Default: []
7
+ */
8
+ ignore?: Array<string | RegExp>;
9
+ }
10
+ /**
11
+ * Captures spans created with the browser's User Timing APIs, `performance.mark` and `performance.measure`.
12
+ *
13
+ * The integration must be explicitly added to `Sentry.init`. Entries are attached to the active pageload or
14
+ * navigation span when it ends.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * Sentry.init({
19
+ * integrations: [
20
+ * Sentry.browserTracingIntegration(),
21
+ * Sentry.userTimingIntegration({
22
+ * ignore: ['third-party-mark', /framework-measure/],
23
+ * }),
24
+ * ],
25
+ * });
26
+ * ```
27
+ */
28
+ export declare const userTimingIntegration: (options?: UserTimingOptions | undefined) => import("@sentry/core").Integration & {
29
+ name: string;
30
+ };
31
+ /**
32
+ * Creates a span for a browser User Timing entry.
33
+ * Exported only for tests.
34
+ */
35
+ export declare function _addUserTimingSpan(parentSpan: Span, entry: PerformanceEntry, startTime: number, duration: number, timeOrigin: number, requestTime: number, ignore: Array<string | RegExp>): void;
36
+ export {};
37
+ //# sourceMappingURL=userTiming.d.ts.map
@@ -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"}
@@ -0,0 +1,33 @@
1
+ import type { Span, SpanTimeInput, StartSpanOptions } from '@sentry/core';
2
+ /**
3
+ * Checks if a given value is a valid measurement value.
4
+ */
5
+ export declare function isMeasurementValue(value: unknown): value is number;
6
+ /**
7
+ * Helper function to start child on transactions. This function will make sure that the transaction will
8
+ * use the start timestamp of the created child span if it is earlier than the transactions actual
9
+ * start timestamp.
10
+ */
11
+ export declare function startAndEndSpan(parentSpan: Span, startTimeInSeconds: number, endTime: SpanTimeInput, { ...ctx }: StartSpanOptions): Span | undefined;
12
+ /** Get the browser performance API. */
13
+ export declare function getBrowserPerformanceAPI(): Performance | undefined;
14
+ /**
15
+ * Converts from milliseconds to seconds
16
+ * @param time time in ms
17
+ */
18
+ export declare function msToSec(time: number): number;
19
+ /**
20
+ * Converts ALPN protocol ids to name and version.
21
+ *
22
+ * (https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
23
+ * @param nextHopProtocol PerformanceResourceTiming.nextHopProtocol
24
+ */
25
+ export declare function extractNetworkProtocol(nextHopProtocol: string): {
26
+ name: string;
27
+ version: string;
28
+ };
29
+ /**
30
+ * Generic support check for web vitals
31
+ */
32
+ export declare function supportsWebVital(entryType: 'layout-shift' | 'largest-contentful-paint'): boolean;
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,6 +1,6 @@
1
1
  import type { FetchBreadcrumbHint, HandlerDataFetch, SentryWrappedXMLHttpRequest, XhrBreadcrumbHint } from '@sentry/core';
2
2
  import { GLOBAL_OBJ } from '@sentry/core';
3
- export declare const WINDOW: typeof GLOBAL_OBJ & Omit<Window, "document"> & Partial<Pick<Window, "document">>;
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';
5
5
  type RequestBody = null | Blob | BufferSource | FormData | URLSearchParams | string;
6
6
  export type XhrHint = XhrBreadcrumbHint & {
@@ -1,5 +1,4 @@
1
1
  import type { Span } from '@sentry/core';
2
- import type { InstrumentationHandlerCallback } from './instrument';
3
2
  interface InteractionContext {
4
3
  span: Span | undefined;
5
4
  elementName: string;
@@ -9,19 +8,7 @@ interface InteractionContext {
9
8
  * (source: Me)
10
9
  */
11
10
  export declare const MAX_PLAUSIBLE_INP_DURATION = 60;
12
- /**
13
- * Start tracking INP webvital events.
14
- */
15
- export declare function startTrackingINP(): () => void;
16
11
  export declare const INP_ENTRY_MAP: Record<string, 'click' | 'hover' | 'drag' | 'press'>;
17
- /** Starts tracking the Interaction to Next Paint on the current page. #
18
- * exported only for testing
19
- */
20
- export declare function _trackINP(): () => void;
21
- /**
22
- * exported only for testing
23
- */
24
- export declare const _onInp: InstrumentationHandlerCallback;
25
12
  /**
26
13
  * Look up a cached interaction context (element name + root span) by interactionId.
27
14
  * 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,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CA2B9E,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,6 @@
1
+ /**
2
+ * 60 seconds is the maximum for a plausible LCP value.
3
+ */
4
+ export declare const MAX_PLAUSIBLE_LCP_DURATION = 60000;
5
+ export declare function isValidLcpMetric(lcpValue: number | undefined): lcpValue is number;
6
+ //# sourceMappingURL=lcp.d.ts.map
@@ -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<{
@@ -27,9 +27,18 @@ interface WebVitalSpanOptions {
27
27
  reportEvent?: WebVitalReportEvent;
28
28
  startTime: number;
29
29
  endTime?: number;
30
+ /**
31
+ * When `true`, the span is sent on its own as a v2 streamed span instead of being folded into a
32
+ * transaction. Used for INP when span streaming is disabled (it reports late, so it can't ride
33
+ * the pageload transaction).
34
+ *
35
+ * TODO(standalone): remove once the static (transaction) trace lifecycle is dropped and INP always streams.
36
+ */
37
+ standalone?: boolean;
30
38
  }
31
39
  /**
32
- * Emits a web vital span that flows through the span streaming pipeline.
40
+ * Emits a web vital span. When `standalone` is set it is sent on its own as a v2 streamed span;
41
+ * otherwise it flows through the span streaming pipeline as a child of `parentSpan`.
33
42
  */
34
43
  export declare function _emitWebVitalSpan(options: WebVitalSpanOptions): void;
35
44
  /**
@@ -49,17 +58,14 @@ export declare function trackClsAsSpan(client: Client): void;
49
58
  */
50
59
  export declare function _sendClsSpan(clsValue: number, entry: LayoutShift | undefined, pageloadSpan?: Span, reportEvent?: WebVitalReportEvent): void;
51
60
  /**
52
- * Tracks INP as a streamed span.
53
- *
54
- * This mirrors the standalone INP tracking logic (`startTrackingINP`) but emits
55
- * spans through the streaming pipeline instead of as standalone spans.
56
- * Requires `registerInpInteractionListener()` to be called separately for
57
- * cached element names and root spans per interaction.
61
+ * Tracks INP and emits it as a web vital span, as a child of the interaction's root span.
62
+ * Requires `registerInpInteractionListener()` to be called separately for cached element names and
63
+ * root spans per interaction.
58
64
  */
59
- export declare function trackInpAsSpan(): void;
65
+ export declare function trackInpAsSpan(client: Client): void;
60
66
  /**
61
67
  * Exported only for testing.
62
68
  */
63
- export declare function _sendInpSpan(inpValue: number, entry: PerformanceEventTiming): void;
69
+ export declare function _sendInpSpan(inpValue: number, entry: PerformanceEventTiming, standalone?: boolean): void;
64
70
  export {};
65
- //# 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;AA2B9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOrF,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,CA4DpE;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,13 +1,13 @@
1
1
  {
2
2
  "name": "@sentry/browser-utils",
3
- "version": "10.70.0",
3
+ "version": "11.0.0-alpha.1",
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",
7
7
  "author": "Sentry",
8
8
  "license": "MIT",
9
9
  "engines": {
10
- "node": ">=18"
10
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
11
11
  },
12
12
  "files": [
13
13
  "/build"
@@ -29,34 +29,26 @@
29
29
  }
30
30
  }
31
31
  },
32
- "typesVersions": {
33
- "<5.0": {
34
- "build/types/index.d.ts": [
35
- "build/types-ts3.8/index.d.ts"
36
- ]
37
- }
38
- },
39
32
  "publishConfig": {
40
33
  "access": "public"
41
34
  },
42
35
  "dependencies": {
43
- "@sentry/core": "10.70.0",
44
- "@sentry/conventions": "^0.16.0"
36
+ "@sentry/core": "11.0.0-alpha.1",
37
+ "@sentry/conventions": "^0.19.0",
38
+ "web-vitals": "^6.0.1"
45
39
  },
46
40
  "scripts": {
47
41
  "build": "run-p build:transpile build:types",
48
42
  "build:dev": "yarn build",
49
43
  "build:transpile": "rollup -c rollup.npm.config.mjs",
50
- "build:types": "run-s build:types:core build:types:downlevel",
51
- "build:types:core": "tsc -p tsconfig.types.json",
52
- "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
44
+ "build:types": "tsc -p tsconfig.types.json",
53
45
  "build:watch": "run-p build:transpile:watch",
54
46
  "build:dev:watch": "run-p build:transpile:watch",
55
47
  "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
56
48
  "build:tarball": "npm pack",
57
49
  "clean": "rimraf build coverage sentry-browser-utils-*.tgz",
58
- "lint:fix": "OXLINT_TSGOLINT_DANGEROUSLY_SUPPRESS_PROGRAM_DIAGNOSTICS=true oxlint . --fix --type-aware",
59
- "lint": "OXLINT_TSGOLINT_DANGEROUSLY_SUPPRESS_PROGRAM_DIAGNOSTICS=true oxlint . --type-aware",
50
+ "lint:fix": "oxlint . --fix --type-aware",
51
+ "lint": "oxlint . --type-aware",
60
52
  "lint:es-compatibility": "es-check es2020 ./build/cjs/*.js && es-check es2020 ./build/esm/*.js --module",
61
53
  "test:unit": "vitest run",
62
54
  "test": "vitest run",