@newrelic/browser-agent 0.0.9 → 0.1.229

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 (339) hide show
  1. package/README.md +84 -207
  2. package/dist/cjs/cdn/lite.js +14 -0
  3. package/dist/cjs/cdn/polyfills/lite.js +4 -0
  4. package/dist/cjs/cdn/polyfills/pro.js +4 -0
  5. package/dist/cjs/cdn/polyfills/spa.js +4 -0
  6. package/dist/cjs/cdn/polyfills.js +14 -0
  7. package/dist/cjs/cdn/pro.js +19 -0
  8. package/dist/cjs/cdn/spa.js +19 -0
  9. package/dist/cjs/cdn/worker.js +16 -0
  10. package/dist/cjs/common/aggregate/aggregator.js +168 -0
  11. package/dist/cjs/common/browser-version/firefox-version.js +17 -0
  12. package/dist/cjs/common/browser-version/ios-version.js +18 -0
  13. package/dist/cjs/common/config/config.js +76 -0
  14. package/dist/cjs/common/config/state/configurable.js +32 -0
  15. package/dist/cjs/common/config/state/info.js +50 -0
  16. package/dist/cjs/common/config/state/init.js +86 -0
  17. package/dist/cjs/common/config/state/loader-config.js +28 -0
  18. package/dist/cjs/common/config/state/originals.js +9 -0
  19. package/dist/cjs/common/config/state/runtime.js +50 -0
  20. package/dist/cjs/common/constants/environment-variables.js +20 -0
  21. package/dist/cjs/common/context/shared-context.js +25 -0
  22. package/dist/cjs/common/deny-list/deny-list.js +108 -0
  23. package/dist/cjs/common/drain/drain.js +126 -0
  24. package/dist/cjs/common/event-emitter/contextual-ee.js +149 -0
  25. package/dist/cjs/common/event-emitter/handle.js +24 -0
  26. package/dist/cjs/common/event-emitter/register-handler.js +24 -0
  27. package/dist/cjs/common/event-listener/event-listener-opts.js +46 -0
  28. package/dist/cjs/common/harvest/harvest-scheduler.js +111 -0
  29. package/dist/cjs/common/harvest/harvest.js +236 -0
  30. package/dist/cjs/common/ids/id.js +30 -0
  31. package/dist/cjs/common/ids/unique-id.js +84 -0
  32. package/dist/cjs/common/metrics/framework-detection.js +72 -0
  33. package/dist/cjs/common/metrics/paint-metrics.js +13 -0
  34. package/dist/cjs/common/serialize/bel-serializer.js +89 -0
  35. package/dist/cjs/common/timing/nav-timing.js +77 -0
  36. package/dist/cjs/common/timing/now.js +15 -0
  37. package/dist/cjs/common/unload/eol.js +69 -0
  38. package/dist/cjs/common/url/clean-url.js +16 -0
  39. package/dist/cjs/common/url/encode.js +79 -0
  40. package/dist/cjs/common/url/location.js +14 -0
  41. package/dist/cjs/common/url/parse-url.js +66 -0
  42. package/dist/cjs/common/url/protocol.js +25 -0
  43. package/dist/cjs/common/util/console.js +17 -0
  44. package/dist/cjs/common/util/data-size.js +25 -0
  45. package/dist/cjs/common/util/feature-flags.js +42 -0
  46. package/dist/cjs/common/util/get-or-set.js +39 -0
  47. package/dist/cjs/common/util/global-scope.js +56 -0
  48. package/dist/cjs/common/util/map-own.js +24 -0
  49. package/dist/cjs/common/util/obfuscate.js +76 -0
  50. package/dist/cjs/common/util/reduce.js +22 -0
  51. package/dist/cjs/common/util/s-hash.js +19 -0
  52. package/dist/cjs/common/util/single.js +23 -0
  53. package/dist/cjs/common/util/stringify.js +47 -0
  54. package/dist/cjs/common/util/submit-data.js +99 -0
  55. package/dist/cjs/common/util/traverse.js +41 -0
  56. package/dist/cjs/common/util/user-agent.js +57 -0
  57. package/dist/cjs/common/window/load.js +19 -0
  58. package/dist/cjs/common/window/nreum.js +107 -0
  59. package/dist/cjs/common/window/page-visibility.js +28 -0
  60. package/dist/cjs/common/window/session-storage.js +42 -0
  61. package/dist/cjs/common/window/supports-performance-observer.js +15 -0
  62. package/dist/cjs/common/window/top-level-callers.js +23 -0
  63. package/dist/cjs/common/wrap/index.js +68 -0
  64. package/dist/cjs/common/wrap/wrap-events.js +105 -0
  65. package/dist/cjs/common/wrap/wrap-fetch.js +114 -0
  66. package/dist/cjs/common/wrap/wrap-function.js +269 -0
  67. package/dist/cjs/common/wrap/wrap-history.js +56 -0
  68. package/dist/cjs/common/wrap/wrap-jsonp.js +129 -0
  69. package/dist/cjs/common/wrap/wrap-mutation.js +61 -0
  70. package/dist/cjs/common/wrap/wrap-promise.js +160 -0
  71. package/dist/cjs/common/wrap/wrap-raf.js +55 -0
  72. package/dist/cjs/common/wrap/wrap-timer.js +70 -0
  73. package/dist/cjs/common/wrap/wrap-xhr.js +206 -0
  74. package/dist/cjs/features/ajax/aggregate/index.js +226 -0
  75. package/dist/cjs/features/ajax/constants.js +9 -0
  76. package/dist/cjs/features/ajax/index.js +12 -0
  77. package/dist/cjs/features/ajax/instrument/distributed-tracing.js +145 -0
  78. package/dist/cjs/features/ajax/instrument/index.js +338 -0
  79. package/dist/cjs/features/ajax/instrument/response-size.js +26 -0
  80. package/dist/cjs/features/jserrors/aggregate/canonical-function-name.js +18 -0
  81. package/dist/cjs/features/jserrors/aggregate/canonical-function-name.test.js +30 -0
  82. package/dist/cjs/features/jserrors/aggregate/compute-stack-trace.js +216 -0
  83. package/dist/cjs/features/jserrors/aggregate/compute-stack-trace.test.js +257 -0
  84. package/dist/cjs/features/jserrors/aggregate/format-stack-trace.js +36 -0
  85. package/dist/cjs/features/jserrors/aggregate/format-stack-trace.test.js +39 -0
  86. package/dist/cjs/features/jserrors/aggregate/index.js +267 -0
  87. package/dist/cjs/features/jserrors/aggregate/string-hash-code.js +23 -0
  88. package/dist/cjs/features/jserrors/aggregate/string-hash-code.test.js +26 -0
  89. package/dist/cjs/features/jserrors/constants.js +11 -0
  90. package/dist/cjs/features/jserrors/index.js +12 -0
  91. package/dist/cjs/features/jserrors/instrument/debug.js +40 -0
  92. package/dist/cjs/features/jserrors/instrument/index.js +158 -0
  93. package/dist/cjs/features/metrics/aggregate/index.js +136 -0
  94. package/dist/cjs/features/metrics/constants.js +17 -0
  95. package/dist/cjs/features/metrics/index.js +12 -0
  96. package/dist/cjs/features/metrics/instrument/index.js +20 -0
  97. package/dist/cjs/features/metrics/instrument/workers-helper.js +121 -0
  98. package/dist/cjs/features/page_action/aggregate/index.js +112 -0
  99. package/dist/cjs/features/page_action/constants.js +9 -0
  100. package/dist/cjs/features/page_action/index.js +12 -0
  101. package/dist/cjs/features/page_action/instrument/index.js +21 -0
  102. package/dist/cjs/features/page_view_event/aggregate/index.js +133 -0
  103. package/dist/cjs/features/page_view_event/aggregate/initialized-features.js +39 -0
  104. package/dist/cjs/features/page_view_event/constants.js +15 -0
  105. package/dist/cjs/features/page_view_event/index.js +12 -0
  106. package/dist/cjs/features/page_view_event/instrument/index.js +38 -0
  107. package/dist/cjs/features/page_view_timing/aggregate/index.js +265 -0
  108. package/dist/cjs/features/page_view_timing/constants.js +9 -0
  109. package/dist/cjs/features/page_view_timing/first-paint.js +50 -0
  110. package/dist/cjs/features/page_view_timing/index.js +12 -0
  111. package/dist/cjs/features/page_view_timing/instrument/index.js +36 -0
  112. package/dist/cjs/features/page_view_timing/long-tasks.js +75 -0
  113. package/dist/cjs/features/session_trace/aggregate/index.js +375 -0
  114. package/dist/cjs/features/session_trace/constants.js +32 -0
  115. package/dist/cjs/features/session_trace/index.js +12 -0
  116. package/dist/cjs/features/session_trace/instrument/index.js +133 -0
  117. package/dist/cjs/features/spa/aggregate/index.js +684 -0
  118. package/dist/cjs/features/spa/aggregate/interaction-node.js +84 -0
  119. package/dist/cjs/features/spa/aggregate/interaction-node.test.js +16 -0
  120. package/dist/cjs/features/spa/aggregate/interaction.js +98 -0
  121. package/dist/cjs/features/spa/aggregate/serializer.js +147 -0
  122. package/dist/cjs/features/spa/constants.js +53 -0
  123. package/dist/cjs/features/spa/index.js +12 -0
  124. package/dist/cjs/features/spa/instrument/index.js +114 -0
  125. package/dist/cjs/features/utils/aggregate-base.js +13 -0
  126. package/dist/cjs/features/utils/feature-base.js +58 -0
  127. package/dist/cjs/features/utils/handler-cache.js +64 -0
  128. package/dist/cjs/features/utils/instrument-base.js +71 -0
  129. package/dist/cjs/features/utils/lazy-loader.js +44 -0
  130. package/dist/cjs/index.js +81 -58
  131. package/dist/cjs/loaders/agent.js +86 -0
  132. package/dist/cjs/loaders/api/api.js +109 -0
  133. package/dist/cjs/loaders/api/apiAsync.js +94 -0
  134. package/dist/cjs/loaders/browser-agent.js +29 -0
  135. package/dist/cjs/loaders/configure/configure.js +47 -0
  136. package/dist/cjs/loaders/features/enabled-features.js +19 -0
  137. package/dist/cjs/loaders/features/featureDependencies.js +32 -0
  138. package/dist/cjs/loaders/features/features.js +33 -0
  139. package/dist/cjs/loaders/micro-agent.js +93 -0
  140. package/dist/cjs/loaders/worker-agent.js +24 -0
  141. package/dist/esm/cdn/lite.js +12 -0
  142. package/dist/esm/cdn/polyfills/lite.js +7 -0
  143. package/dist/esm/cdn/polyfills/pro.js +7 -0
  144. package/dist/esm/cdn/polyfills/spa.js +7 -0
  145. package/dist/esm/cdn/polyfills.js +17 -0
  146. package/dist/esm/cdn/pro.js +17 -0
  147. package/dist/esm/cdn/spa.js +17 -0
  148. package/dist/esm/cdn/worker.js +14 -0
  149. package/dist/esm/common/aggregate/aggregator.js +161 -0
  150. package/dist/esm/common/browser-version/firefox-version.js +10 -0
  151. package/dist/esm/common/browser-version/ios-version.js +10 -0
  152. package/dist/esm/common/config/config.js +11 -0
  153. package/dist/esm/common/config/state/configurable.js +25 -0
  154. package/dist/esm/common/config/state/info.js +42 -0
  155. package/dist/esm/common/config/state/init.js +78 -0
  156. package/dist/esm/common/config/state/loader-config.js +21 -0
  157. package/dist/esm/common/config/state/originals.js +2 -0
  158. package/dist/esm/common/config/state/runtime.js +41 -0
  159. package/dist/esm/common/constants/environment-variables.js +11 -0
  160. package/dist/esm/common/context/shared-context.js +18 -0
  161. package/dist/esm/common/deny-list/deny-list.js +101 -0
  162. package/dist/esm/common/drain/drain.js +119 -0
  163. package/dist/esm/common/event-emitter/contextual-ee.js +142 -0
  164. package/dist/esm/common/event-emitter/handle.js +16 -0
  165. package/dist/esm/common/event-emitter/register-handler.js +19 -0
  166. package/dist/esm/common/event-listener/event-listener-opts.js +39 -0
  167. package/dist/esm/common/harvest/harvest-scheduler.js +105 -0
  168. package/dist/esm/common/harvest/harvest.js +228 -0
  169. package/dist/esm/common/ids/id.js +23 -0
  170. package/dist/esm/common/ids/unique-id.js +75 -0
  171. package/dist/esm/common/metrics/framework-detection.js +66 -0
  172. package/dist/esm/common/metrics/paint-metrics.js +6 -0
  173. package/dist/esm/common/serialize/bel-serializer.js +80 -0
  174. package/dist/esm/common/timing/nav-timing.js +67 -0
  175. package/dist/esm/common/timing/now.js +9 -0
  176. package/dist/esm/common/unload/eol.js +62 -0
  177. package/dist/esm/common/url/clean-url.js +10 -0
  178. package/dist/esm/common/url/encode.js +71 -0
  179. package/dist/esm/common/url/location.js +8 -0
  180. package/dist/esm/common/url/parse-url.js +60 -0
  181. package/dist/esm/common/url/protocol.js +17 -0
  182. package/dist/esm/common/util/console.js +11 -0
  183. package/dist/esm/common/util/data-size.js +19 -0
  184. package/dist/esm/common/util/feature-flags.js +33 -0
  185. package/dist/esm/common/util/get-or-set.js +33 -0
  186. package/dist/esm/common/util/global-scope.js +44 -0
  187. package/dist/esm/common/util/map-own.js +18 -0
  188. package/dist/esm/common/util/obfuscate.js +67 -0
  189. package/dist/esm/common/util/reduce.js +16 -0
  190. package/dist/esm/common/util/s-hash.js +13 -0
  191. package/dist/esm/common/util/single.js +16 -0
  192. package/dist/esm/common/util/stringify.js +42 -0
  193. package/dist/esm/common/util/submit-data.js +91 -0
  194. package/dist/esm/common/util/traverse.js +35 -0
  195. package/dist/esm/common/util/user-agent.js +48 -0
  196. package/dist/esm/common/window/load.js +12 -0
  197. package/dist/esm/common/window/nreum.js +91 -0
  198. package/dist/esm/common/window/page-visibility.js +23 -0
  199. package/dist/esm/common/window/session-storage.js +36 -0
  200. package/dist/esm/common/window/supports-performance-observer.js +9 -0
  201. package/dist/esm/common/window/top-level-callers.js +17 -0
  202. package/dist/esm/common/wrap/index.js +14 -0
  203. package/dist/esm/common/wrap/wrap-events.js +97 -0
  204. package/dist/esm/common/wrap/wrap-fetch.js +105 -0
  205. package/dist/esm/common/wrap/wrap-function.js +257 -0
  206. package/dist/esm/common/wrap/wrap-history.js +48 -0
  207. package/dist/esm/common/wrap/wrap-jsonp.js +122 -0
  208. package/dist/esm/common/wrap/wrap-mutation.js +54 -0
  209. package/dist/esm/common/wrap/wrap-promise.js +153 -0
  210. package/dist/esm/common/wrap/wrap-raf.js +48 -0
  211. package/dist/esm/common/wrap/wrap-timer.js +63 -0
  212. package/dist/esm/common/wrap/wrap-xhr.js +199 -0
  213. package/dist/esm/features/ajax/aggregate/index.js +218 -0
  214. package/dist/esm/features/ajax/constants.js +2 -0
  215. package/dist/esm/features/ajax/index.js +1 -0
  216. package/dist/esm/features/ajax/instrument/distributed-tracing.js +137 -0
  217. package/dist/esm/features/ajax/instrument/index.js +330 -0
  218. package/dist/esm/features/ajax/instrument/response-size.js +19 -0
  219. package/dist/esm/features/jserrors/aggregate/canonical-function-name.js +12 -0
  220. package/dist/esm/features/jserrors/aggregate/canonical-function-name.test.js +28 -0
  221. package/dist/esm/features/jserrors/aggregate/compute-stack-trace.js +209 -0
  222. package/dist/esm/features/jserrors/aggregate/compute-stack-trace.test.js +255 -0
  223. package/dist/esm/features/jserrors/aggregate/format-stack-trace.js +29 -0
  224. package/dist/esm/features/jserrors/aggregate/format-stack-trace.test.js +37 -0
  225. package/dist/esm/features/jserrors/aggregate/index.js +260 -0
  226. package/dist/esm/features/jserrors/aggregate/string-hash-code.js +17 -0
  227. package/dist/esm/features/jserrors/aggregate/string-hash-code.test.js +24 -0
  228. package/dist/esm/features/jserrors/constants.js +3 -0
  229. package/dist/esm/features/jserrors/index.js +1 -0
  230. package/dist/esm/features/jserrors/instrument/debug.js +38 -0
  231. package/dist/esm/features/jserrors/instrument/index.js +150 -0
  232. package/dist/esm/features/metrics/aggregate/index.js +129 -0
  233. package/dist/esm/features/metrics/constants.js +6 -0
  234. package/dist/esm/features/metrics/index.js +1 -0
  235. package/dist/esm/features/metrics/instrument/index.js +13 -0
  236. package/dist/esm/features/metrics/instrument/workers-helper.js +116 -0
  237. package/dist/esm/features/page_action/aggregate/index.js +105 -0
  238. package/dist/esm/features/page_action/constants.js +2 -0
  239. package/dist/esm/features/page_action/index.js +1 -0
  240. package/dist/esm/features/page_action/instrument/index.js +14 -0
  241. package/dist/esm/features/page_view_event/aggregate/index.js +124 -0
  242. package/dist/esm/features/page_view_event/aggregate/initialized-features.js +34 -0
  243. package/dist/esm/features/page_view_event/constants.js +5 -0
  244. package/dist/esm/features/page_view_event/index.js +1 -0
  245. package/dist/esm/features/page_view_event/instrument/index.js +29 -0
  246. package/dist/esm/features/page_view_timing/aggregate/index.js +258 -0
  247. package/dist/esm/features/page_view_timing/constants.js +2 -0
  248. package/dist/esm/features/page_view_timing/first-paint.js +43 -0
  249. package/dist/esm/features/page_view_timing/index.js +1 -0
  250. package/dist/esm/features/page_view_timing/instrument/index.js +28 -0
  251. package/dist/esm/features/page_view_timing/long-tasks.js +69 -0
  252. package/dist/esm/features/session_trace/aggregate/index.js +366 -0
  253. package/dist/esm/features/session_trace/constants.js +14 -0
  254. package/dist/esm/features/session_trace/index.js +1 -0
  255. package/dist/esm/features/session_trace/instrument/index.js +123 -0
  256. package/dist/esm/features/spa/aggregate/index.js +674 -0
  257. package/dist/esm/features/spa/aggregate/interaction-node.js +78 -0
  258. package/dist/esm/features/spa/aggregate/interaction-node.test.js +14 -0
  259. package/dist/esm/features/spa/aggregate/interaction.js +92 -0
  260. package/dist/esm/features/spa/aggregate/serializer.js +139 -0
  261. package/dist/esm/features/spa/constants.js +25 -0
  262. package/dist/esm/features/spa/index.js +1 -0
  263. package/dist/esm/features/spa/instrument/index.js +104 -0
  264. package/dist/esm/features/utils/aggregate-base.js +6 -0
  265. package/dist/esm/features/utils/feature-base.js +51 -0
  266. package/dist/esm/features/utils/handler-cache.js +57 -0
  267. package/dist/esm/features/utils/instrument-base.js +69 -0
  268. package/dist/esm/features/utils/lazy-loader.js +37 -0
  269. package/dist/esm/index.js +15 -0
  270. package/dist/esm/loaders/agent.js +77 -0
  271. package/dist/esm/loaders/api/api.js +104 -0
  272. package/dist/esm/loaders/api/apiAsync.js +88 -0
  273. package/dist/esm/loaders/browser-agent.js +23 -0
  274. package/dist/esm/loaders/configure/configure.js +41 -0
  275. package/dist/esm/loaders/features/enabled-features.js +13 -0
  276. package/dist/esm/loaders/features/featureDependencies.js +25 -0
  277. package/dist/esm/loaders/features/features.js +25 -0
  278. package/dist/esm/loaders/micro-agent.js +86 -0
  279. package/dist/esm/loaders/worker-agent.js +18 -0
  280. package/package.json +204 -71
  281. package/types.ts +221 -0
  282. package/dist/bundled/es5/index.js +0 -2
  283. package/dist/bundled/es5/index.js.map +0 -1
  284. package/dist/bundled/es6/index.js +0 -2
  285. package/dist/bundled/es6/index.js.map +0 -1
  286. package/dist/cjs/index.d.ts +0 -19
  287. package/dist/cjs/index.js.map +0 -1
  288. package/dist/cjs/types.d.ts +0 -94
  289. package/dist/cjs/types.js +0 -28
  290. package/dist/cjs/types.js.map +0 -1
  291. package/dist/cjs/utils/api/api.d.ts +0 -10
  292. package/dist/cjs/utils/api/api.js +0 -40
  293. package/dist/cjs/utils/api/api.js.map +0 -1
  294. package/dist/cjs/utils/config/build-configs.d.ts +0 -6
  295. package/dist/cjs/utils/config/build-configs.js +0 -68
  296. package/dist/cjs/utils/config/build-configs.js.map +0 -1
  297. package/dist/cjs/utils/features/features.d.ts +0 -5
  298. package/dist/cjs/utils/features/features.js +0 -14
  299. package/dist/cjs/utils/features/features.js.map +0 -1
  300. package/dist/cjs/utils/features/initialize.d.ts +0 -5
  301. package/dist/cjs/utils/features/initialize.js +0 -51
  302. package/dist/cjs/utils/features/initialize.js.map +0 -1
  303. package/dist/es/index.d.ts +0 -19
  304. package/dist/es/index.js +0 -55
  305. package/dist/es/index.js.map +0 -1
  306. package/dist/es/types.d.ts +0 -94
  307. package/dist/es/types.js +0 -24
  308. package/dist/es/types.js.map +0 -1
  309. package/dist/es/utils/api/api.d.ts +0 -10
  310. package/dist/es/utils/api/api.js +0 -36
  311. package/dist/es/utils/api/api.js.map +0 -1
  312. package/dist/es/utils/config/build-configs.d.ts +0 -6
  313. package/dist/es/utils/config/build-configs.js +0 -64
  314. package/dist/es/utils/config/build-configs.js.map +0 -1
  315. package/dist/es/utils/features/features.d.ts +0 -5
  316. package/dist/es/utils/features/features.js +0 -10
  317. package/dist/es/utils/features/features.js.map +0 -1
  318. package/dist/es/utils/features/initialize.d.ts +0 -5
  319. package/dist/es/utils/features/initialize.js +0 -24
  320. package/dist/es/utils/features/initialize.js.map +0 -1
  321. package/dist/umd/index.d.ts +0 -19
  322. package/dist/umd/index.js +0 -69
  323. package/dist/umd/index.js.map +0 -1
  324. package/dist/umd/types.d.ts +0 -94
  325. package/dist/umd/types.js +0 -38
  326. package/dist/umd/types.js.map +0 -1
  327. package/dist/umd/utils/api/api.d.ts +0 -10
  328. package/dist/umd/utils/api/api.js +0 -50
  329. package/dist/umd/utils/api/api.js.map +0 -1
  330. package/dist/umd/utils/config/build-configs.d.ts +0 -6
  331. package/dist/umd/utils/config/build-configs.js +0 -78
  332. package/dist/umd/utils/config/build-configs.js.map +0 -1
  333. package/dist/umd/utils/features/features.d.ts +0 -5
  334. package/dist/umd/utils/features/features.js +0 -24
  335. package/dist/umd/utils/features/features.js.map +0 -1
  336. package/dist/umd/utils/features/initialize.d.ts +0 -5
  337. package/dist/umd/utils/features/initialize.js +0 -63
  338. package/dist/umd/utils/features/initialize.js.map +0 -1
  339. package/dist/webpack-analysis.html +0 -38
@@ -1,19 +0,0 @@
1
- import { NrInfo, NrConfig, NrLoaderConfig, NrOptions } from './types';
2
- import { Features } from './utils/features/features';
3
- export declare class BrowserAgent {
4
- private _initialized;
5
- private _id;
6
- private _api;
7
- private _aggregator;
8
- get config(): {
9
- info: NrInfo;
10
- config: NrConfig;
11
- loader_config: NrLoaderConfig;
12
- };
13
- get initialized(): boolean;
14
- get id(): any;
15
- features: Features;
16
- start: (options: NrOptions) => Promise<boolean>;
17
- noticeError: (err: Error | String, customAttributes?: Object | undefined) => void;
18
- }
19
- export default BrowserAgent;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAsK;AAGtK,yCAAqC;AACrC,gEAA2D;AAC3D,wDAAoD;AACpD,4DAAgE;AAChE,4EAA4F;AAC5F,iFAA2F;AAC3F,yFAAqF;AAGrF,MAAa,YAAY;IAAzB;QACU,iBAAY,GAAG,KAAK,CAAA;QACpB,QAAG,GAAG,IAAA,mCAAuB,EAAC,EAAE,CAAC,CAAC;QAClC,SAAI,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,CAAA;QACpB,gBAAW,GAAG,IAAI,uBAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAW5D,aAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAA;QACzB,UAAK,GAAG,CAAO,OAAkB,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAA;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,CAAA;YAC7D,IAAI,IAAI;gBAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM;gBAAE,IAAA,yBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC9C,IAAI,aAAa;gBAAE,IAAA,wBAAe,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACpD,IAAA,mBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;YAEzC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAkB,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE1G,IAAA,iCAAyB,EAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAA;YAEpE,OAAO,IAAI,CAAA;QAEb,CAAC,CAAA,CAAA;QACM,gBAAW,GAAG,CAAC,GAAmB,EAAE,gBAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxH,CAAC;IA3BC,IAAW,MAAM;QACf,OAAO;YACL,IAAI,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,IAAA,yBAAgB,EAAC,IAAI,CAAC,GAAG,CAAC;YAClC,aAAa,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC,GAAG,CAAC;SACzC,CAAA;IACH,CAAC;IACD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAAA,CAAC;IACtD,IAAW,EAAE,KAAK,OAAO,IAAI,CAAC,GAAG,CAAA,CAAC,CAAC;CAmBpC;AAjCD,oCAiCC;AAED,kBAAe,YAAY,CAAA"}
@@ -1,94 +0,0 @@
1
- export interface NrInterface {
2
- config: {
3
- info: NrInfo;
4
- config: NrConfig;
5
- loader_config: NrLoaderConfig;
6
- };
7
- features: AppFeatures;
8
- start: NrInitialize;
9
- noticeError: NrNoticeError;
10
- }
11
- export declare class NrFeature {
12
- name: NrFeatures;
13
- private _enabled;
14
- private _auto;
15
- constructor(name: NrFeatures);
16
- get enabled(): boolean;
17
- set enabled(val: boolean);
18
- get auto(): boolean;
19
- set auto(val: boolean);
20
- }
21
- export interface AppFeatures {
22
- 'errors': NrFeature;
23
- }
24
- export interface NrOptions extends NrInfo, NrConfig, NrLoaderConfig {
25
- }
26
- interface NrShared {
27
- applicationID?: string;
28
- licenseKey?: string;
29
- }
30
- export interface NrInfo extends NrShared {
31
- applicationID: string;
32
- licenseKey: string;
33
- beacon: string;
34
- errorBeacon?: string;
35
- sa?: number;
36
- queueTime?: number;
37
- applicationTime?: number;
38
- ttGuid?: string;
39
- user?: string;
40
- account?: string;
41
- product?: string;
42
- extra?: string;
43
- userAttributes?: string;
44
- atts?: string;
45
- transactionName?: string;
46
- tNamePlain?: string;
47
- }
48
- export interface NrConfig {
49
- privacy?: {
50
- cookies_enabled?: boolean;
51
- };
52
- ajax?: {
53
- deny_list?: string[];
54
- };
55
- distributed_tracing?: {
56
- enabled?: boolean;
57
- exclude_newrelic_header?: boolean;
58
- cors_use_newrelic_header?: boolean;
59
- cors_use_tracecontext_headers?: boolean;
60
- allowed_origins?: string[];
61
- };
62
- page_view_timing?: {
63
- enabled?: boolean;
64
- };
65
- ssl?: boolean;
66
- obfuscate?: {
67
- regex?: string | RegExp;
68
- replacement?: string;
69
- }[];
70
- }
71
- export interface NrLoaderConfig extends NrShared {
72
- accountID?: string;
73
- trustKey?: string;
74
- agentID?: string;
75
- xpid?: string;
76
- licenseKey: string;
77
- applicationID: string;
78
- }
79
- export declare enum NrFeatures {
80
- JSERRORS = "js-errors"
81
- }
82
- export declare type NrStoreError = (err: Error | String, time?: Number, internal?: any, customAttributes?: any) => void;
83
- export declare type NrInitialize = (opts: NrOptions) => Promise<Boolean>;
84
- export declare type NrNoticeError = (err: Error | String, customAttributes: Object) => void;
85
- export interface NrFeaturesWithApi {
86
- [NrFeatures.JSERRORS]: {
87
- noticeError: NrStoreError;
88
- };
89
- }
90
- export interface NrImportPaths {
91
- aggregate: string;
92
- instrument: string;
93
- }
94
- export {};
package/dist/cjs/types.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NrFeatures = exports.NrFeature = void 0;
4
- class NrFeature {
5
- constructor(name) {
6
- this.name = name;
7
- this._enabled = true;
8
- this._auto = true;
9
- }
10
- get enabled() {
11
- return this._enabled;
12
- }
13
- set enabled(val) {
14
- this._enabled = Boolean(val);
15
- }
16
- get auto() {
17
- return this._auto;
18
- }
19
- set auto(val) {
20
- this._auto = val;
21
- }
22
- }
23
- exports.NrFeature = NrFeature;
24
- var NrFeatures;
25
- (function (NrFeatures) {
26
- NrFeatures["JSERRORS"] = "js-errors";
27
- })(NrFeatures = exports.NrFeatures || (exports.NrFeatures = {}));
28
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IAIlB,YAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH3B,aAAQ,GAAY,IAAI,CAAA;QACxB,UAAK,GAAY,IAAI,CAAA;IAEQ,CAAC;IAEtC,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,GAAY;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,GAAY;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;IACpB,CAAC;CACJ;AArBD,8BAqBC;AAuDD,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,oCAAoB,CAAA;AAIxB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB"}
@@ -1,10 +0,0 @@
1
- import { NrStoreError } from "../../types";
2
- export declare class Api {
3
- importedMethods: {
4
- storeError: NrStoreError | null;
5
- };
6
- private _initialized;
7
- private _parent;
8
- constructor(parent: any);
9
- noticeError(err: Error | String, customAttributes?: Object): void;
10
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Api = void 0;
4
- const types_1 = require("../../types");
5
- const now_1 = require("@newrelic/browser-agent-core/common/timing/now");
6
- class Api {
7
- constructor(parent) {
8
- this.importedMethods = {
9
- storeError: null
10
- };
11
- this._initialized = false;
12
- this._initialized = true;
13
- this._parent = parent;
14
- }
15
- noticeError(err, customAttributes) {
16
- if (this._initialized && !!this.importedMethods.storeError) {
17
- if (typeof err !== 'string' && !(err instanceof Error))
18
- return invalidCall('noticeError', err, 'Error | String');
19
- err = typeof err === 'string' ? new Error(err) : err;
20
- const time = (0, now_1.now)();
21
- const internal = false;
22
- return this.importedMethods.storeError(err, time, internal, customAttributes);
23
- }
24
- if (!this._parent.initialized && !this.importedMethods.storeError)
25
- return notInitialized(this._parent.id, types_1.NrFeatures.JSERRORS);
26
- if (this._parent.initialized && !this.importedMethods.storeError)
27
- return isDisabled(this._parent.id, types_1.NrFeatures.JSERRORS, 'noticeError');
28
- }
29
- }
30
- exports.Api = Api;
31
- function notInitialized(agentIdentifier, featureName) {
32
- console.warn(`Agent ${agentIdentifier} is calling a ${featureName} Feature API, but the Browser Agent has not been started... Please start the agent using .start({...opts})`);
33
- }
34
- function isDisabled(agentIdentifier, featureName, methodName) {
35
- console.warn(`The ${featureName} Feature of agent ${agentIdentifier} Has Been Disabled. Method "${methodName}" will not do anything!`);
36
- }
37
- function invalidCall(methodName, argument, validType) {
38
- console.warn(`"${methodName}" was called with an invalid argument: ${argument}. This method only accepts ${validType} types for that argument.`);
39
- }
40
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/utils/api/api.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;AACtD,wEAAoE;AAEpE,MAAa,GAAG;IAOd,YAAY,MAAM;QANlB,oBAAe,GAAwC;YACrD,UAAU,EAAE,IAAI;SACjB,CAAA;QACO,iBAAY,GAAG,KAAK,CAAA;QAI1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,WAAW,CAAC,GAAmB,EAAE,gBAAyB;QAExD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;YAEhH,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,MAAM,IAAI,GAAG,IAAA,SAAG,GAAE,CAAA;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAA;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;SAC9E;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,kBAAU,CAAC,QAAQ,CAAC,CAAA;QAE9H,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,kBAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAC1I,CAAC;CACF;AA3BD,kBA2BC;AAED,SAAS,cAAc,CAAC,eAAuB,EAAE,WAAuB;IACtE,OAAO,CAAC,IAAI,CAAC,SAAS,eAAe,iBAAiB,WAAW,4GAA4G,CAAC,CAAA;AAChL,CAAC;AAED,SAAS,UAAU,CAAC,eAAuB,EAAE,WAAuB,EAAE,UAAkB;IACtF,OAAO,CAAC,IAAI,CAAC,OAAO,WAAW,qBAAqB,eAAe,+BAA+B,UAAU,yBAAyB,CAAC,CAAA;AACxI,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,QAAa,EAAE,SAAc;IACpE,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,0CAA0C,QAAQ,8BAA8B,SAAS,2BAA2B,CAAC,CAAA;AAClJ,CAAC"}
@@ -1,6 +0,0 @@
1
- import { NrOptions, NrInfo, NrConfig, NrLoaderConfig } from '../../types';
2
- export declare function buildConfigs(options: NrOptions): {
3
- info: NrInfo;
4
- config: NrConfig;
5
- loader_config: NrLoaderConfig;
6
- };
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildConfigs = void 0;
4
- function buildConfigs(options) {
5
- const info = {
6
- beacon: '',
7
- errorBeacon: undefined,
8
- licenseKey: '',
9
- applicationID: '',
10
- sa: undefined,
11
- queueTime: undefined,
12
- applicationTime: undefined,
13
- ttGuid: undefined,
14
- user: undefined,
15
- account: undefined,
16
- product: undefined,
17
- extra: undefined,
18
- userAttributes: undefined,
19
- atts: undefined,
20
- transactionName: undefined,
21
- tNamePlain: undefined
22
- };
23
- const config = {
24
- privacy: { cookies_enabled: undefined },
25
- ajax: { deny_list: undefined },
26
- distributed_tracing: {
27
- enabled: undefined,
28
- exclude_newrelic_header: undefined,
29
- cors_use_newrelic_header: undefined,
30
- cors_use_tracecontext_headers: undefined,
31
- allowed_origins: undefined
32
- },
33
- page_view_timing: { enabled: undefined },
34
- ssl: undefined,
35
- obfuscate: undefined
36
- };
37
- const loader_config = {
38
- accountID: undefined,
39
- trustKey: undefined,
40
- agentID: undefined,
41
- licenseKey: '',
42
- applicationID: '',
43
- xpid: undefined
44
- };
45
- Object.keys(options).forEach(key => {
46
- if (key === 'beacon') {
47
- info.beacon = options[key];
48
- info.errorBeacon = options[key];
49
- }
50
- if (Object.keys(info).includes(key))
51
- info[key] = options[key];
52
- if (Object.keys(config).includes(key))
53
- config[key] = options[key];
54
- if (Object.keys(loader_config).includes(key))
55
- loader_config[key] = options[key];
56
- });
57
- if (!validateInfo(info) || !validateLoaderConfig(loader_config))
58
- console.warn("Missing required config data");
59
- return { info, config, loader_config };
60
- }
61
- exports.buildConfigs = buildConfigs;
62
- function validateInfo(info) {
63
- return !(!info.applicationID || !info.licenseKey || !info.beacon);
64
- }
65
- function validateLoaderConfig(loader_config) {
66
- return !(!loader_config.applicationID || !loader_config.licenseKey);
67
- }
68
- //# sourceMappingURL=build-configs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-configs.js","sourceRoot":"","sources":["../../../../src/utils/config/build-configs.ts"],"names":[],"mappings":";;;AAEA,SAAgB,YAAY,CAAC,OAAkB;IAC7C,MAAM,IAAI,GAAW;QACnB,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;QACzB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,SAAS;QAC1B,UAAU,EAAE,SAAS;KACtB,CAAA;IAED,MAAM,MAAM,GAAa;QACvB,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE;QACvC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;QAC9B,mBAAmB,EAAE;YACnB,OAAO,EAAE,SAAS;YAClB,uBAAuB,EAAE,SAAS;YAClC,wBAAwB,EAAE,SAAS;YACnC,6BAA6B,EAAE,SAAS;YACxC,eAAe,EAAE,SAAS;SAC3B;QACD,gBAAgB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;QACxC,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,SAAS;KACrB,CAAA;IAED,MAAM,aAAa,GAAmB;QACpC,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,SAAS;KAChB,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;SAChC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AACxC,CAAC;AAxDD,oCAwDC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,aAA6B;IACzD,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;AACrE,CAAC"}
@@ -1,5 +0,0 @@
1
- import { NrFeature } from "../../types";
2
- export declare class Features {
3
- errors: NrFeature;
4
- getEnabledFeatures(): NrFeature[];
5
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Features = void 0;
4
- const types_1 = require("../../types");
5
- class Features {
6
- constructor() {
7
- this.errors = new types_1.NrFeature(types_1.NrFeatures.JSERRORS);
8
- }
9
- getEnabledFeatures() {
10
- return Object.values(this).filter(feature => feature.enabled);
11
- }
12
- }
13
- exports.Features = Features;
14
- //# sourceMappingURL=features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../src/utils/features/features.ts"],"names":[],"mappings":";;;AAAA,uCAAmD;AAEnD,MAAa,QAAQ;IAArB;QACI,WAAM,GAAG,IAAI,iBAAS,CAAC,kBAAU,CAAC,QAAQ,CAAC,CAAA;IAK/C,CAAC;IAHG,kBAAkB;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,CAAC;CACJ;AAND,4BAMC"}
@@ -1,5 +0,0 @@
1
- import { NrFeatures } from '../../types';
2
- import { Api } from '../api/api';
3
- import { Features } from './features';
4
- import { Aggregator } from '@newrelic/browser-agent-core/common/aggregate/aggregator';
5
- export declare function initializeFeatures(agentIdentifier: string, api: Api, sharedAggregator: Aggregator, features: Features): Promise<NrFeatures[]>;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.initializeFeatures = void 0;
36
- const types_1 = require("../../types");
37
- function initializeFeatures(agentIdentifier, api, sharedAggregator, features) {
38
- return Promise.all(features.getEnabledFeatures().map((feature) => __awaiter(this, void 0, void 0, function* () {
39
- if (feature.auto) {
40
- const { Instrument } = yield Promise.resolve().then(() => __importStar(require(`@newrelic/browser-agent-core/features/${feature.name}/instrument`)));
41
- const featureInstrumentation = new Instrument(agentIdentifier);
42
- }
43
- const { Aggregate } = yield Promise.resolve().then(() => __importStar(require(`@newrelic/browser-agent-core/features/${feature.name}/aggregate`)));
44
- const featureAggregator = new Aggregate(agentIdentifier, sharedAggregator);
45
- if (feature.name === types_1.NrFeatures.JSERRORS)
46
- api.importedMethods.storeError = (...args) => featureAggregator.storeError(...args);
47
- return feature.name;
48
- })));
49
- }
50
- exports.initializeFeatures = initializeFeatures;
51
- //# sourceMappingURL=initialize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/utils/features/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAwC;AAKxC,SAAgB,kBAAkB,CAAC,eAAuB,EAAE,GAAQ,EAAE,gBAA4B,EAAE,QAAkB;IAElH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAM,OAAO,EAAC,EAAE;QACjE,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,MAAM,EAAE,UAAU,EAAE,GAAwB,wDAAa,yCAAyC,OAAO,CAAC,IAAI,aAAa,GAAC,CAAA;YAC5H,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAA;SACjE;QACD,MAAM,EAAE,SAAS,EAAE,GAAuB,wDAAa,yCAAyC,OAAO,CAAC,IAAI,YAAY,GAAC,CAAA;QACzH,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;QAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAU,CAAC,QAAQ;YAAE,GAAG,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;QAC7H,OAAO,OAAO,CAAC,IAAI,CAAA;IACvB,CAAC,CAAA,CAAC,CAAC,CAAA;AACP,CAAC;AAZD,gDAYC"}
@@ -1,19 +0,0 @@
1
- import { NrInfo, NrConfig, NrLoaderConfig, NrOptions } from './types';
2
- import { Features } from './utils/features/features';
3
- export declare class BrowserAgent {
4
- private _initialized;
5
- private _id;
6
- private _api;
7
- private _aggregator;
8
- get config(): {
9
- info: NrInfo;
10
- config: NrConfig;
11
- loader_config: NrLoaderConfig;
12
- };
13
- get initialized(): boolean;
14
- get id(): any;
15
- features: Features;
16
- start: (options: NrOptions) => Promise<boolean>;
17
- noticeError: (err: Error | String, customAttributes?: Object | undefined) => void;
18
- }
19
- export default BrowserAgent;
package/dist/es/index.js DELETED
@@ -1,55 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { setRuntime, setConfiguration, getConfiguration, setInfo, getInfo, setLoaderConfig, getLoaderConfig } from '@newrelic/browser-agent-core/common/config/config';
11
- import { Api } from './utils/api/api';
12
- import { buildConfigs } from './utils/config/build-configs';
13
- import { Features } from './utils/features/features';
14
- import { initializeFeatures } from './utils/features/initialize';
15
- import { gosNREUMInitializedAgents } from '@newrelic/browser-agent-core/common/window/nreum';
16
- import { generateRandomHexString } from '@newrelic/browser-agent-core/common/ids/unique-id';
17
- import { Aggregator } from '@newrelic/browser-agent-core/common/aggregate/aggregator';
18
- export class BrowserAgent {
19
- constructor() {
20
- this._initialized = false;
21
- this._id = generateRandomHexString(16);
22
- this._api = new Api(this);
23
- this._aggregator = new Aggregator({ agentIdentifier: this._id });
24
- this.features = new Features();
25
- this.start = (options) => __awaiter(this, void 0, void 0, function* () {
26
- if (this._initialized)
27
- return false;
28
- this._initialized = true;
29
- const { info, config, loader_config } = buildConfigs(options);
30
- if (info)
31
- setInfo(this._id, info);
32
- if (config)
33
- setConfiguration(this._id, config);
34
- if (loader_config)
35
- setLoaderConfig(this._id, config);
36
- setRuntime(this._id, { maxBytes: 30000 });
37
- const initializedFeatures = yield initializeFeatures(this._id, this._api, this._aggregator, this.features);
38
- gosNREUMInitializedAgents(this._id, initializedFeatures, 'features');
39
- return true;
40
- });
41
- this.noticeError = (err, customAttributes) => this._api.noticeError(err, customAttributes);
42
- }
43
- get config() {
44
- return {
45
- info: getInfo(this._id),
46
- config: getConfiguration(this._id),
47
- loader_config: getLoaderConfig(this._id)
48
- };
49
- }
50
- get initialized() { return this._initialized; }
51
- ;
52
- get id() { return this._id; }
53
- }
54
- export default BrowserAgent;
55
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAA;AAGtK,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,0DAA0D,CAAA;AAGrF,MAAM,OAAO,YAAY;IAAzB;QACU,iBAAY,GAAG,KAAK,CAAA;QACpB,QAAG,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAClC,SAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QACpB,gBAAW,GAAG,IAAI,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAW5D,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QACzB,UAAK,GAAG,CAAO,OAAkB,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAA;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YAC7D,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM;gBAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC9C,IAAI,aAAa;gBAAE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACpD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;YAEzC,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE1G,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAA;YAEpE,OAAO,IAAI,CAAA;QAEb,CAAC,CAAA,CAAA;QACM,gBAAW,GAAG,CAAC,GAAmB,EAAE,gBAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxH,CAAC;IA3BC,IAAW,MAAM;QACf,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;SACzC,CAAA;IACH,CAAC;IACD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAAA,CAAC;IACtD,IAAW,EAAE,KAAK,OAAO,IAAI,CAAC,GAAG,CAAA,CAAC,CAAC;CAmBpC;AAED,eAAe,YAAY,CAAA"}
@@ -1,94 +0,0 @@
1
- export interface NrInterface {
2
- config: {
3
- info: NrInfo;
4
- config: NrConfig;
5
- loader_config: NrLoaderConfig;
6
- };
7
- features: AppFeatures;
8
- start: NrInitialize;
9
- noticeError: NrNoticeError;
10
- }
11
- export declare class NrFeature {
12
- name: NrFeatures;
13
- private _enabled;
14
- private _auto;
15
- constructor(name: NrFeatures);
16
- get enabled(): boolean;
17
- set enabled(val: boolean);
18
- get auto(): boolean;
19
- set auto(val: boolean);
20
- }
21
- export interface AppFeatures {
22
- 'errors': NrFeature;
23
- }
24
- export interface NrOptions extends NrInfo, NrConfig, NrLoaderConfig {
25
- }
26
- interface NrShared {
27
- applicationID?: string;
28
- licenseKey?: string;
29
- }
30
- export interface NrInfo extends NrShared {
31
- applicationID: string;
32
- licenseKey: string;
33
- beacon: string;
34
- errorBeacon?: string;
35
- sa?: number;
36
- queueTime?: number;
37
- applicationTime?: number;
38
- ttGuid?: string;
39
- user?: string;
40
- account?: string;
41
- product?: string;
42
- extra?: string;
43
- userAttributes?: string;
44
- atts?: string;
45
- transactionName?: string;
46
- tNamePlain?: string;
47
- }
48
- export interface NrConfig {
49
- privacy?: {
50
- cookies_enabled?: boolean;
51
- };
52
- ajax?: {
53
- deny_list?: string[];
54
- };
55
- distributed_tracing?: {
56
- enabled?: boolean;
57
- exclude_newrelic_header?: boolean;
58
- cors_use_newrelic_header?: boolean;
59
- cors_use_tracecontext_headers?: boolean;
60
- allowed_origins?: string[];
61
- };
62
- page_view_timing?: {
63
- enabled?: boolean;
64
- };
65
- ssl?: boolean;
66
- obfuscate?: {
67
- regex?: string | RegExp;
68
- replacement?: string;
69
- }[];
70
- }
71
- export interface NrLoaderConfig extends NrShared {
72
- accountID?: string;
73
- trustKey?: string;
74
- agentID?: string;
75
- xpid?: string;
76
- licenseKey: string;
77
- applicationID: string;
78
- }
79
- export declare enum NrFeatures {
80
- JSERRORS = "js-errors"
81
- }
82
- export declare type NrStoreError = (err: Error | String, time?: Number, internal?: any, customAttributes?: any) => void;
83
- export declare type NrInitialize = (opts: NrOptions) => Promise<Boolean>;
84
- export declare type NrNoticeError = (err: Error | String, customAttributes: Object) => void;
85
- export interface NrFeaturesWithApi {
86
- [NrFeatures.JSERRORS]: {
87
- noticeError: NrStoreError;
88
- };
89
- }
90
- export interface NrImportPaths {
91
- aggregate: string;
92
- instrument: string;
93
- }
94
- export {};
package/dist/es/types.js DELETED
@@ -1,24 +0,0 @@
1
- export class NrFeature {
2
- constructor(name) {
3
- this.name = name;
4
- this._enabled = true;
5
- this._auto = true;
6
- }
7
- get enabled() {
8
- return this._enabled;
9
- }
10
- set enabled(val) {
11
- this._enabled = Boolean(val);
12
- }
13
- get auto() {
14
- return this._auto;
15
- }
16
- set auto(val) {
17
- this._auto = val;
18
- }
19
- }
20
- export var NrFeatures;
21
- (function (NrFeatures) {
22
- NrFeatures["JSERRORS"] = "js-errors";
23
- })(NrFeatures || (NrFeatures = {}));
24
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,SAAS;IAIlB,YAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH3B,aAAQ,GAAY,IAAI,CAAA;QACxB,UAAK,GAAY,IAAI,CAAA;IAEQ,CAAC;IAEtC,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,GAAY;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,GAAY;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;IACpB,CAAC;CACJ;AAuDD,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,oCAAoB,CAAA;AAIxB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
@@ -1,10 +0,0 @@
1
- import { NrStoreError } from "../../types";
2
- export declare class Api {
3
- importedMethods: {
4
- storeError: NrStoreError | null;
5
- };
6
- private _initialized;
7
- private _parent;
8
- constructor(parent: any);
9
- noticeError(err: Error | String, customAttributes?: Object): void;
10
- }
@@ -1,36 +0,0 @@
1
- import { NrFeatures } from "../../types";
2
- import { now } from '@newrelic/browser-agent-core/common/timing/now';
3
- export class Api {
4
- constructor(parent) {
5
- this.importedMethods = {
6
- storeError: null
7
- };
8
- this._initialized = false;
9
- this._initialized = true;
10
- this._parent = parent;
11
- }
12
- noticeError(err, customAttributes) {
13
- if (this._initialized && !!this.importedMethods.storeError) {
14
- if (typeof err !== 'string' && !(err instanceof Error))
15
- return invalidCall('noticeError', err, 'Error | String');
16
- err = typeof err === 'string' ? new Error(err) : err;
17
- const time = now();
18
- const internal = false;
19
- return this.importedMethods.storeError(err, time, internal, customAttributes);
20
- }
21
- if (!this._parent.initialized && !this.importedMethods.storeError)
22
- return notInitialized(this._parent.id, NrFeatures.JSERRORS);
23
- if (this._parent.initialized && !this.importedMethods.storeError)
24
- return isDisabled(this._parent.id, NrFeatures.JSERRORS, 'noticeError');
25
- }
26
- }
27
- function notInitialized(agentIdentifier, featureName) {
28
- console.warn(`Agent ${agentIdentifier} is calling a ${featureName} Feature API, but the Browser Agent has not been started... Please start the agent using .start({...opts})`);
29
- }
30
- function isDisabled(agentIdentifier, featureName, methodName) {
31
- console.warn(`The ${featureName} Feature of agent ${agentIdentifier} Has Been Disabled. Method "${methodName}" will not do anything!`);
32
- }
33
- function invalidCall(methodName, argument, validType) {
34
- console.warn(`"${methodName}" was called with an invalid argument: ${argument}. This method only accepts ${validType} types for that argument.`);
35
- }
36
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/utils/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,gDAAgD,CAAA;AAEpE,MAAM,OAAO,GAAG;IAOd,YAAY,MAAM;QANlB,oBAAe,GAAwC;YACrD,UAAU,EAAE,IAAI;SACjB,CAAA;QACO,iBAAY,GAAG,KAAK,CAAA;QAI1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,WAAW,CAAC,GAAmB,EAAE,gBAAyB;QAExD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;YAEhH,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAA;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAA;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;SAC9E;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;QAE9H,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAC1I,CAAC;CACF;AAED,SAAS,cAAc,CAAC,eAAuB,EAAE,WAAuB;IACtE,OAAO,CAAC,IAAI,CAAC,SAAS,eAAe,iBAAiB,WAAW,4GAA4G,CAAC,CAAA;AAChL,CAAC;AAED,SAAS,UAAU,CAAC,eAAuB,EAAE,WAAuB,EAAE,UAAkB;IACtF,OAAO,CAAC,IAAI,CAAC,OAAO,WAAW,qBAAqB,eAAe,+BAA+B,UAAU,yBAAyB,CAAC,CAAA;AACxI,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,QAAa,EAAE,SAAc;IACpE,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,0CAA0C,QAAQ,8BAA8B,SAAS,2BAA2B,CAAC,CAAA;AAClJ,CAAC"}
@@ -1,6 +0,0 @@
1
- import { NrOptions, NrInfo, NrConfig, NrLoaderConfig } from '../../types';
2
- export declare function buildConfigs(options: NrOptions): {
3
- info: NrInfo;
4
- config: NrConfig;
5
- loader_config: NrLoaderConfig;
6
- };