@sentry/node 9.34.0-alpha.1 → 9.35.0

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 (474) hide show
  1. package/build/cjs/cron/common.js +56 -0
  2. package/build/cjs/cron/common.js.map +1 -0
  3. package/build/cjs/cron/cron.js +112 -0
  4. package/build/cjs/cron/cron.js.map +1 -0
  5. package/build/cjs/cron/index.js +15 -0
  6. package/build/cjs/cron/index.js.map +1 -0
  7. package/build/cjs/cron/node-cron.js +71 -0
  8. package/build/cjs/cron/node-cron.js.map +1 -0
  9. package/build/cjs/cron/node-schedule.js +65 -0
  10. package/build/cjs/cron/node-schedule.js.map +1 -0
  11. package/build/cjs/index.js +56 -38
  12. package/build/cjs/index.js.map +1 -1
  13. package/build/cjs/integrations/anr/index.js +238 -0
  14. package/build/cjs/integrations/anr/index.js.map +1 -0
  15. package/build/cjs/integrations/childProcess.js +100 -0
  16. package/build/cjs/integrations/childProcess.js.map +1 -0
  17. package/build/cjs/integrations/context.js +457 -0
  18. package/build/cjs/integrations/context.js.map +1 -0
  19. package/build/cjs/integrations/contextlines.js +405 -0
  20. package/build/cjs/integrations/contextlines.js.map +1 -0
  21. package/build/cjs/integrations/fs.js +2 -2
  22. package/build/cjs/integrations/fs.js.map +1 -1
  23. package/build/cjs/integrations/http/SentryHttpInstrumentation.js +558 -0
  24. package/build/cjs/integrations/http/SentryHttpInstrumentation.js.map +1 -0
  25. package/build/cjs/integrations/http/index.js +11 -7
  26. package/build/cjs/integrations/http/index.js.map +1 -1
  27. package/build/cjs/integrations/local-variables/common.js +69 -0
  28. package/build/cjs/integrations/local-variables/common.js.map +1 -0
  29. package/build/cjs/integrations/local-variables/index.js +12 -0
  30. package/build/cjs/integrations/local-variables/index.js.map +1 -0
  31. package/build/cjs/integrations/local-variables/local-variables-async.js +143 -0
  32. package/build/cjs/integrations/local-variables/local-variables-async.js.map +1 -0
  33. package/build/cjs/integrations/local-variables/local-variables-sync.js +410 -0
  34. package/build/cjs/integrations/local-variables/local-variables-sync.js.map +1 -0
  35. package/build/cjs/integrations/modules.js +135 -0
  36. package/build/cjs/integrations/modules.js.map +1 -0
  37. package/build/cjs/integrations/node-fetch/SentryNodeFetchInstrumentation.js +291 -0
  38. package/build/cjs/integrations/node-fetch/SentryNodeFetchInstrumentation.js.map +1 -0
  39. package/build/cjs/integrations/node-fetch/index.js +5 -4
  40. package/build/cjs/integrations/node-fetch/index.js.map +1 -1
  41. package/build/cjs/integrations/onuncaughtexception.js +134 -0
  42. package/build/cjs/integrations/onuncaughtexception.js.map +1 -0
  43. package/build/cjs/integrations/onunhandledrejection.js +89 -0
  44. package/build/cjs/integrations/onunhandledrejection.js.map +1 -0
  45. package/build/cjs/integrations/processSession.js +36 -0
  46. package/build/cjs/integrations/processSession.js.map +1 -0
  47. package/build/cjs/integrations/spotlight.js +101 -0
  48. package/build/cjs/integrations/spotlight.js.map +1 -0
  49. package/build/cjs/integrations/tracing/amqplib.js +5 -4
  50. package/build/cjs/integrations/tracing/amqplib.js.map +1 -1
  51. package/build/cjs/integrations/tracing/connect.js +4 -3
  52. package/build/cjs/integrations/tracing/connect.js.map +1 -1
  53. package/build/cjs/integrations/tracing/dataloader.js +3 -3
  54. package/build/cjs/integrations/tracing/dataloader.js.map +1 -1
  55. package/build/cjs/integrations/tracing/express.js +7 -5
  56. package/build/cjs/integrations/tracing/express.js.map +1 -1
  57. package/build/cjs/integrations/tracing/fastify/fastify-otel/index.js +3 -3
  58. package/build/cjs/integrations/tracing/fastify/fastify-otel/index.js.map +1 -1
  59. package/build/cjs/integrations/tracing/fastify/index.js +6 -6
  60. package/build/cjs/integrations/tracing/fastify/index.js.map +1 -1
  61. package/build/cjs/integrations/tracing/genericPool.js +3 -3
  62. package/build/cjs/integrations/tracing/genericPool.js.map +1 -1
  63. package/build/cjs/integrations/tracing/graphql.js +4 -3
  64. package/build/cjs/integrations/tracing/graphql.js.map +1 -1
  65. package/build/cjs/integrations/tracing/hapi/index.js +4 -3
  66. package/build/cjs/integrations/tracing/hapi/index.js.map +1 -1
  67. package/build/cjs/integrations/tracing/kafka.js +5 -4
  68. package/build/cjs/integrations/tracing/kafka.js.map +1 -1
  69. package/build/cjs/integrations/tracing/knex.js +3 -3
  70. package/build/cjs/integrations/tracing/knex.js.map +1 -1
  71. package/build/cjs/integrations/tracing/koa.js +6 -4
  72. package/build/cjs/integrations/tracing/koa.js.map +1 -1
  73. package/build/cjs/integrations/tracing/lrumemoizer.js +2 -2
  74. package/build/cjs/integrations/tracing/lrumemoizer.js.map +1 -1
  75. package/build/cjs/integrations/tracing/mongo.js +4 -3
  76. package/build/cjs/integrations/tracing/mongo.js.map +1 -1
  77. package/build/cjs/integrations/tracing/mongoose.js +4 -3
  78. package/build/cjs/integrations/tracing/mongoose.js.map +1 -1
  79. package/build/cjs/integrations/tracing/mysql.js +2 -2
  80. package/build/cjs/integrations/tracing/mysql.js.map +1 -1
  81. package/build/cjs/integrations/tracing/mysql2.js +4 -3
  82. package/build/cjs/integrations/tracing/mysql2.js.map +1 -1
  83. package/build/cjs/integrations/tracing/postgres.js +4 -3
  84. package/build/cjs/integrations/tracing/postgres.js.map +1 -1
  85. package/build/cjs/integrations/tracing/postgresjs.js +4 -3
  86. package/build/cjs/integrations/tracing/postgresjs.js.map +1 -1
  87. package/build/cjs/integrations/tracing/prisma.js +2 -2
  88. package/build/cjs/integrations/tracing/prisma.js.map +1 -1
  89. package/build/cjs/integrations/tracing/redis.js +3 -3
  90. package/build/cjs/integrations/tracing/redis.js.map +1 -1
  91. package/build/cjs/integrations/tracing/tedious.js +3 -3
  92. package/build/cjs/integrations/tracing/tedious.js.map +1 -1
  93. package/build/cjs/integrations/tracing/vercelai/index.js +2 -2
  94. package/build/cjs/integrations/tracing/vercelai/index.js.map +1 -1
  95. package/build/cjs/integrations/winston.js +151 -0
  96. package/build/cjs/integrations/winston.js.map +1 -0
  97. package/build/cjs/logs/capture.js +29 -0
  98. package/build/cjs/logs/capture.js.map +1 -0
  99. package/build/cjs/logs/exports.js +178 -0
  100. package/build/cjs/logs/exports.js.map +1 -0
  101. package/build/cjs/nodeVersion.js +12 -0
  102. package/build/cjs/nodeVersion.js.map +1 -0
  103. package/build/cjs/otel/contextManager.js +16 -0
  104. package/build/cjs/otel/contextManager.js.map +1 -0
  105. package/build/cjs/otel/instrument.js +139 -0
  106. package/build/cjs/otel/instrument.js.map +1 -0
  107. package/build/cjs/preload.js +2 -2
  108. package/build/cjs/preload.js.map +1 -1
  109. package/build/cjs/proxy/base.js +122 -0
  110. package/build/cjs/proxy/base.js.map +1 -0
  111. package/build/cjs/proxy/index.js +173 -0
  112. package/build/cjs/proxy/index.js.map +1 -0
  113. package/build/cjs/proxy/parse-proxy-response.js +104 -0
  114. package/build/cjs/proxy/parse-proxy-response.js.map +1 -0
  115. package/build/cjs/sdk/api.js +117 -0
  116. package/build/cjs/sdk/api.js.map +1 -0
  117. package/build/cjs/sdk/client.js +156 -0
  118. package/build/cjs/sdk/client.js.map +1 -0
  119. package/build/cjs/sdk/index.js +203 -22
  120. package/build/cjs/sdk/index.js.map +1 -1
  121. package/build/cjs/sdk/initOtel.js +22 -4
  122. package/build/cjs/sdk/initOtel.js.map +1 -1
  123. package/build/cjs/transports/http.js +158 -0
  124. package/build/cjs/transports/http.js.map +1 -0
  125. package/build/cjs/utils/addOriginToSpan.js +11 -0
  126. package/build/cjs/utils/addOriginToSpan.js.map +1 -0
  127. package/build/cjs/utils/baggage.js +36 -0
  128. package/build/cjs/utils/baggage.js.map +1 -0
  129. package/build/cjs/utils/commonjs.js +13 -0
  130. package/build/cjs/utils/commonjs.js.map +1 -0
  131. package/build/cjs/utils/createMissingInstrumentationContext.js +11 -0
  132. package/build/cjs/utils/createMissingInstrumentationContext.js.map +1 -0
  133. package/build/cjs/utils/debug.js +23 -0
  134. package/build/cjs/utils/debug.js.map +1 -0
  135. package/build/cjs/utils/ensureIsWrapped.js +41 -0
  136. package/build/cjs/utils/ensureIsWrapped.js.map +1 -0
  137. package/build/cjs/utils/envToBool.js +32 -0
  138. package/build/cjs/utils/envToBool.js.map +1 -0
  139. package/build/cjs/utils/errorhandling.js +42 -0
  140. package/build/cjs/utils/errorhandling.js.map +1 -0
  141. package/build/cjs/utils/getRequestUrl.js +18 -0
  142. package/build/cjs/utils/getRequestUrl.js.map +1 -0
  143. package/build/cjs/utils/module.js +60 -0
  144. package/build/cjs/utils/module.js.map +1 -0
  145. package/build/esm/cron/common.js +54 -0
  146. package/build/esm/cron/common.js.map +1 -0
  147. package/build/esm/cron/cron.js +110 -0
  148. package/build/esm/cron/cron.js.map +1 -0
  149. package/build/esm/cron/index.js +13 -0
  150. package/build/esm/cron/index.js.map +1 -0
  151. package/build/esm/cron/node-cron.js +69 -0
  152. package/build/esm/cron/node-cron.js.map +1 -0
  153. package/build/esm/cron/node-schedule.js +63 -0
  154. package/build/esm/cron/node-schedule.js.map +1 -0
  155. package/build/esm/index.js +21 -2
  156. package/build/esm/index.js.map +1 -1
  157. package/build/esm/integrations/anr/index.js +234 -0
  158. package/build/esm/integrations/anr/index.js.map +1 -0
  159. package/build/esm/integrations/anr/worker-script.js +2 -0
  160. package/build/esm/integrations/childProcess.js +98 -0
  161. package/build/esm/integrations/childProcess.js.map +1 -0
  162. package/build/esm/integrations/context.js +451 -0
  163. package/build/esm/integrations/context.js.map +1 -0
  164. package/build/esm/integrations/contextlines.js +399 -0
  165. package/build/esm/integrations/contextlines.js.map +1 -0
  166. package/build/esm/integrations/fs.js +1 -1
  167. package/build/esm/integrations/fs.js.map +1 -1
  168. package/build/esm/integrations/http/SentryHttpInstrumentation.js +555 -0
  169. package/build/esm/integrations/http/SentryHttpInstrumentation.js.map +1 -0
  170. package/build/esm/integrations/http/index.js +5 -1
  171. package/build/esm/integrations/http/index.js.map +1 -1
  172. package/build/esm/integrations/local-variables/common.js +64 -0
  173. package/build/esm/integrations/local-variables/common.js.map +1 -0
  174. package/build/esm/integrations/local-variables/index.js +10 -0
  175. package/build/esm/integrations/local-variables/index.js.map +1 -0
  176. package/build/esm/integrations/local-variables/local-variables-async.js +140 -0
  177. package/build/esm/integrations/local-variables/local-variables-async.js.map +1 -0
  178. package/build/esm/integrations/local-variables/local-variables-sync.js +405 -0
  179. package/build/esm/integrations/local-variables/local-variables-sync.js.map +1 -0
  180. package/build/esm/integrations/local-variables/worker-script.js +2 -0
  181. package/build/esm/integrations/modules.js +133 -0
  182. package/build/esm/integrations/modules.js.map +1 -0
  183. package/build/esm/integrations/node-fetch/SentryNodeFetchInstrumentation.js +289 -0
  184. package/build/esm/integrations/node-fetch/SentryNodeFetchInstrumentation.js.map +1 -0
  185. package/build/esm/integrations/node-fetch/index.js +3 -2
  186. package/build/esm/integrations/node-fetch/index.js.map +1 -1
  187. package/build/esm/integrations/onuncaughtexception.js +131 -0
  188. package/build/esm/integrations/onuncaughtexception.js.map +1 -0
  189. package/build/esm/integrations/onunhandledrejection.js +86 -0
  190. package/build/esm/integrations/onunhandledrejection.js.map +1 -0
  191. package/build/esm/integrations/processSession.js +34 -0
  192. package/build/esm/integrations/processSession.js.map +1 -0
  193. package/build/esm/integrations/spotlight.js +98 -0
  194. package/build/esm/integrations/spotlight.js.map +1 -0
  195. package/build/esm/integrations/tracing/amqplib.js +2 -1
  196. package/build/esm/integrations/tracing/amqplib.js.map +1 -1
  197. package/build/esm/integrations/tracing/connect.js +2 -1
  198. package/build/esm/integrations/tracing/connect.js.map +1 -1
  199. package/build/esm/integrations/tracing/dataloader.js +1 -1
  200. package/build/esm/integrations/tracing/dataloader.js.map +1 -1
  201. package/build/esm/integrations/tracing/express.js +4 -2
  202. package/build/esm/integrations/tracing/express.js.map +1 -1
  203. package/build/esm/integrations/tracing/fastify/fastify-otel/index.js +3 -3
  204. package/build/esm/integrations/tracing/fastify/fastify-otel/index.js.map +1 -1
  205. package/build/esm/integrations/tracing/fastify/index.js +5 -5
  206. package/build/esm/integrations/tracing/fastify/index.js.map +1 -1
  207. package/build/esm/integrations/tracing/genericPool.js +1 -1
  208. package/build/esm/integrations/tracing/genericPool.js.map +1 -1
  209. package/build/esm/integrations/tracing/graphql.js +3 -2
  210. package/build/esm/integrations/tracing/graphql.js.map +1 -1
  211. package/build/esm/integrations/tracing/hapi/index.js +2 -1
  212. package/build/esm/integrations/tracing/hapi/index.js.map +1 -1
  213. package/build/esm/integrations/tracing/kafka.js +2 -1
  214. package/build/esm/integrations/tracing/kafka.js.map +1 -1
  215. package/build/esm/integrations/tracing/knex.js +1 -1
  216. package/build/esm/integrations/tracing/knex.js.map +1 -1
  217. package/build/esm/integrations/tracing/koa.js +4 -2
  218. package/build/esm/integrations/tracing/koa.js.map +1 -1
  219. package/build/esm/integrations/tracing/lrumemoizer.js +1 -1
  220. package/build/esm/integrations/tracing/lrumemoizer.js.map +1 -1
  221. package/build/esm/integrations/tracing/mongo.js +2 -1
  222. package/build/esm/integrations/tracing/mongo.js.map +1 -1
  223. package/build/esm/integrations/tracing/mongoose.js +2 -1
  224. package/build/esm/integrations/tracing/mongoose.js.map +1 -1
  225. package/build/esm/integrations/tracing/mysql.js +1 -1
  226. package/build/esm/integrations/tracing/mysql.js.map +1 -1
  227. package/build/esm/integrations/tracing/mysql2.js +2 -1
  228. package/build/esm/integrations/tracing/mysql2.js.map +1 -1
  229. package/build/esm/integrations/tracing/postgres.js +2 -1
  230. package/build/esm/integrations/tracing/postgres.js.map +1 -1
  231. package/build/esm/integrations/tracing/postgresjs.js +3 -2
  232. package/build/esm/integrations/tracing/postgresjs.js.map +1 -1
  233. package/build/esm/integrations/tracing/prisma.js +1 -1
  234. package/build/esm/integrations/tracing/prisma.js.map +1 -1
  235. package/build/esm/integrations/tracing/redis.js +1 -1
  236. package/build/esm/integrations/tracing/redis.js.map +1 -1
  237. package/build/esm/integrations/tracing/tedious.js +1 -1
  238. package/build/esm/integrations/tracing/tedious.js.map +1 -1
  239. package/build/esm/integrations/tracing/vercelai/index.js +1 -1
  240. package/build/esm/integrations/tracing/vercelai/index.js.map +1 -1
  241. package/build/esm/integrations/winston.js +149 -0
  242. package/build/esm/integrations/winston.js.map +1 -0
  243. package/build/esm/logs/capture.js +27 -0
  244. package/build/esm/logs/capture.js.map +1 -0
  245. package/build/esm/logs/exports.js +170 -0
  246. package/build/esm/logs/exports.js.map +1 -0
  247. package/build/esm/nodeVersion.js +8 -0
  248. package/build/esm/nodeVersion.js.map +1 -0
  249. package/build/esm/otel/contextManager.js +14 -0
  250. package/build/esm/otel/contextManager.js.map +1 -0
  251. package/build/esm/otel/instrument.js +135 -0
  252. package/build/esm/otel/instrument.js.map +1 -0
  253. package/build/esm/package.json +1 -1
  254. package/build/esm/preload.js +1 -1
  255. package/build/esm/preload.js.map +1 -1
  256. package/build/esm/proxy/base.js +120 -0
  257. package/build/esm/proxy/base.js.map +1 -0
  258. package/build/esm/proxy/index.js +171 -0
  259. package/build/esm/proxy/index.js.map +1 -0
  260. package/build/esm/proxy/parse-proxy-response.js +102 -0
  261. package/build/esm/proxy/parse-proxy-response.js.map +1 -0
  262. package/build/esm/sdk/api.js +114 -0
  263. package/build/esm/sdk/api.js.map +1 -0
  264. package/build/esm/sdk/client.js +154 -0
  265. package/build/esm/sdk/client.js.map +1 -0
  266. package/build/esm/sdk/index.js +202 -22
  267. package/build/esm/sdk/index.js.map +1 -1
  268. package/build/esm/sdk/initOtel.js +21 -3
  269. package/build/esm/sdk/initOtel.js.map +1 -1
  270. package/build/esm/transports/http.js +156 -0
  271. package/build/esm/transports/http.js.map +1 -0
  272. package/build/esm/utils/addOriginToSpan.js +9 -0
  273. package/build/esm/utils/addOriginToSpan.js.map +1 -0
  274. package/build/esm/utils/baggage.js +34 -0
  275. package/build/esm/utils/baggage.js.map +1 -0
  276. package/build/esm/utils/commonjs.js +11 -0
  277. package/build/esm/utils/commonjs.js.map +1 -0
  278. package/build/esm/utils/createMissingInstrumentationContext.js +9 -0
  279. package/build/esm/utils/createMissingInstrumentationContext.js.map +1 -0
  280. package/build/esm/utils/debug.js +21 -0
  281. package/build/esm/utils/debug.js.map +1 -0
  282. package/build/esm/utils/ensureIsWrapped.js +39 -0
  283. package/build/esm/utils/ensureIsWrapped.js.map +1 -0
  284. package/build/esm/utils/envToBool.js +28 -0
  285. package/build/esm/utils/envToBool.js.map +1 -0
  286. package/build/esm/utils/errorhandling.js +40 -0
  287. package/build/esm/utils/errorhandling.js.map +1 -0
  288. package/build/esm/utils/getRequestUrl.js +16 -0
  289. package/build/esm/utils/getRequestUrl.js.map +1 -0
  290. package/build/esm/utils/module.js +58 -0
  291. package/build/esm/utils/module.js.map +1 -0
  292. package/build/types/cron/common.d.ts +5 -0
  293. package/build/types/cron/common.d.ts.map +1 -0
  294. package/build/types/cron/cron.d.ts +43 -0
  295. package/build/types/cron/cron.d.ts.map +1 -0
  296. package/build/types/cron/index.d.ts +10 -0
  297. package/build/types/cron/index.d.ts.map +1 -0
  298. package/build/types/cron/node-cron.d.ts +27 -0
  299. package/build/types/cron/node-cron.d.ts.map +1 -0
  300. package/build/types/cron/node-schedule.d.ts +19 -0
  301. package/build/types/cron/node-schedule.d.ts.map +1 -0
  302. package/build/types/index.d.ts +21 -2
  303. package/build/types/index.d.ts.map +1 -1
  304. package/build/types/integrations/anr/common.d.ts +52 -0
  305. package/build/types/integrations/anr/common.d.ts.map +1 -0
  306. package/build/types/integrations/anr/index.d.ts +13 -0
  307. package/build/types/integrations/anr/index.d.ts.map +1 -0
  308. package/build/types/integrations/anr/worker.d.ts +2 -0
  309. package/build/types/integrations/anr/worker.d.ts.map +1 -0
  310. package/build/types/integrations/childProcess.d.ts +20 -0
  311. package/build/types/integrations/childProcess.d.ts.map +1 -0
  312. package/build/types/integrations/context.d.ts +30 -0
  313. package/build/types/integrations/context.d.ts.map +1 -0
  314. package/build/types/integrations/contextlines.d.ts +31 -0
  315. package/build/types/integrations/contextlines.d.ts.map +1 -0
  316. package/build/types/integrations/http/SentryHttpInstrumentation.d.ts +131 -0
  317. package/build/types/integrations/http/SentryHttpInstrumentation.d.ts.map +1 -0
  318. package/build/types/integrations/http/index.d.ts +1 -1
  319. package/build/types/integrations/http/index.d.ts.map +1 -1
  320. package/build/types/integrations/local-variables/common.d.ts +66 -0
  321. package/build/types/integrations/local-variables/common.d.ts.map +1 -0
  322. package/build/types/integrations/local-variables/index.d.ts +4 -0
  323. package/build/types/integrations/local-variables/index.d.ts.map +1 -0
  324. package/build/types/integrations/local-variables/local-variables-async.d.ts +7 -0
  325. package/build/types/integrations/local-variables/local-variables-async.d.ts.map +1 -0
  326. package/build/types/integrations/local-variables/local-variables-sync.d.ts +34 -0
  327. package/build/types/integrations/local-variables/local-variables-sync.d.ts.map +1 -0
  328. package/build/types/integrations/local-variables/worker.d.ts +2 -0
  329. package/build/types/integrations/local-variables/worker.d.ts.map +1 -0
  330. package/build/types/integrations/modules.d.ts +17 -0
  331. package/build/types/integrations/modules.d.ts.map +1 -0
  332. package/build/types/integrations/node-fetch/SentryNodeFetchInstrumentation.d.ts +56 -0
  333. package/build/types/integrations/node-fetch/SentryNodeFetchInstrumentation.d.ts.map +1 -0
  334. package/build/types/integrations/node-fetch/index.d.ts.map +1 -1
  335. package/build/types/integrations/onuncaughtexception.d.ts +31 -0
  336. package/build/types/integrations/onuncaughtexception.d.ts.map +1 -0
  337. package/build/types/integrations/onunhandledrejection.d.ts +23 -0
  338. package/build/types/integrations/onunhandledrejection.d.ts.map +1 -0
  339. package/build/types/integrations/processSession.d.ts +5 -0
  340. package/build/types/integrations/processSession.d.ts.map +1 -0
  341. package/build/types/integrations/spotlight.d.ts +18 -0
  342. package/build/types/integrations/spotlight.d.ts.map +1 -0
  343. package/build/types/integrations/tracing/amqplib.d.ts.map +1 -1
  344. package/build/types/integrations/tracing/connect.d.ts.map +1 -1
  345. package/build/types/integrations/tracing/express.d.ts.map +1 -1
  346. package/build/types/integrations/tracing/graphql.d.ts.map +1 -1
  347. package/build/types/integrations/tracing/hapi/index.d.ts.map +1 -1
  348. package/build/types/integrations/tracing/kafka.d.ts.map +1 -1
  349. package/build/types/integrations/tracing/koa.d.ts.map +1 -1
  350. package/build/types/integrations/tracing/mongo.d.ts.map +1 -1
  351. package/build/types/integrations/tracing/mongoose.d.ts.map +1 -1
  352. package/build/types/integrations/tracing/mysql2.d.ts.map +1 -1
  353. package/build/types/integrations/tracing/postgres.d.ts.map +1 -1
  354. package/build/types/integrations/tracing/postgresjs.d.ts.map +1 -1
  355. package/build/types/integrations/tracing/vercelai/index.d.ts.map +1 -1
  356. package/build/types/integrations/winston.d.ts +44 -0
  357. package/build/types/integrations/winston.d.ts.map +1 -0
  358. package/build/types/logs/capture.d.ts +11 -0
  359. package/build/types/logs/capture.d.ts.map +1 -0
  360. package/build/types/logs/exports.d.ts +150 -0
  361. package/build/types/logs/exports.d.ts.map +1 -0
  362. package/build/types/nodeVersion.d.ts +8 -0
  363. package/build/types/nodeVersion.d.ts.map +1 -0
  364. package/build/types/otel/contextManager.d.ts +10 -0
  365. package/build/types/otel/contextManager.d.ts.map +1 -0
  366. package/build/types/otel/instrument.d.ts +23 -0
  367. package/build/types/otel/instrument.d.ts.map +1 -0
  368. package/build/types/proxy/base.d.ts +65 -0
  369. package/build/types/proxy/base.d.ts.map +1 -0
  370. package/build/types/proxy/helpers.d.ts +42 -0
  371. package/build/types/proxy/helpers.d.ts.map +1 -0
  372. package/build/types/proxy/index.d.ts +73 -0
  373. package/build/types/proxy/index.d.ts.map +1 -0
  374. package/build/types/proxy/parse-proxy-response.d.ts +43 -0
  375. package/build/types/proxy/parse-proxy-response.d.ts.map +1 -0
  376. package/build/types/sdk/api.d.ts +8 -0
  377. package/build/types/sdk/api.d.ts.map +1 -0
  378. package/build/types/sdk/client.d.ts +29 -0
  379. package/build/types/sdk/client.d.ts.map +1 -0
  380. package/build/types/sdk/index.d.ts +6 -2
  381. package/build/types/sdk/index.d.ts.map +1 -1
  382. package/build/types/sdk/initOtel.d.ts +1 -1
  383. package/build/types/sdk/initOtel.d.ts.map +1 -1
  384. package/build/types/sdk/scope.d.ts +7 -0
  385. package/build/types/sdk/scope.d.ts.map +1 -0
  386. package/build/types/transports/http-module.d.ts +31 -0
  387. package/build/types/transports/http-module.d.ts.map +1 -0
  388. package/build/types/transports/http.d.ts +21 -0
  389. package/build/types/transports/http.d.ts.map +1 -0
  390. package/build/types/transports/index.d.ts +3 -0
  391. package/build/types/transports/index.d.ts.map +1 -0
  392. package/build/types/types.d.ts +1 -1
  393. package/build/types/types.d.ts.map +1 -1
  394. package/build/types/utils/addOriginToSpan.d.ts +5 -0
  395. package/build/types/utils/addOriginToSpan.d.ts.map +1 -0
  396. package/build/types/utils/baggage.d.ts +6 -0
  397. package/build/types/utils/baggage.d.ts.map +1 -0
  398. package/build/types/utils/commonjs.d.ts +3 -0
  399. package/build/types/utils/commonjs.d.ts.map +1 -0
  400. package/build/types/utils/createMissingInstrumentationContext.d.ts +3 -0
  401. package/build/types/utils/createMissingInstrumentationContext.d.ts.map +1 -0
  402. package/build/types/utils/debug.d.ts +5 -0
  403. package/build/types/utils/debug.d.ts.map +1 -0
  404. package/build/types/utils/ensureIsWrapped.d.ts +5 -0
  405. package/build/types/utils/ensureIsWrapped.d.ts.map +1 -0
  406. package/build/types/utils/entry-point.d.ts +24 -0
  407. package/build/types/utils/entry-point.d.ts.map +1 -0
  408. package/build/types/utils/envToBool.d.ts +13 -0
  409. package/build/types/utils/envToBool.d.ts.map +1 -0
  410. package/build/types/utils/errorhandling.d.ts +5 -0
  411. package/build/types/utils/errorhandling.d.ts.map +1 -0
  412. package/build/types/utils/getRequestUrl.d.ts +5 -0
  413. package/build/types/utils/getRequestUrl.d.ts.map +1 -0
  414. package/build/types/utils/module.d.ts +3 -0
  415. package/build/types/utils/module.d.ts.map +1 -0
  416. package/build/types/utils/prepareEvent.d.ts +17 -0
  417. package/build/types/utils/prepareEvent.d.ts.map +1 -0
  418. package/build/types-ts3.8/cron/common.d.ts +5 -0
  419. package/build/types-ts3.8/cron/cron.d.ts +43 -0
  420. package/build/types-ts3.8/cron/index.d.ts +10 -0
  421. package/build/types-ts3.8/cron/node-cron.d.ts +27 -0
  422. package/build/types-ts3.8/cron/node-schedule.d.ts +19 -0
  423. package/build/types-ts3.8/index.d.ts +21 -2
  424. package/build/types-ts3.8/integrations/anr/common.d.ts +52 -0
  425. package/build/types-ts3.8/integrations/anr/index.d.ts +13 -0
  426. package/build/types-ts3.8/integrations/anr/worker.d.ts +2 -0
  427. package/build/types-ts3.8/integrations/childProcess.d.ts +20 -0
  428. package/build/types-ts3.8/integrations/context.d.ts +30 -0
  429. package/build/types-ts3.8/integrations/contextlines.d.ts +31 -0
  430. package/build/types-ts3.8/integrations/http/SentryHttpInstrumentation.d.ts +133 -0
  431. package/build/types-ts3.8/integrations/http/index.d.ts +1 -1
  432. package/build/types-ts3.8/integrations/local-variables/common.d.ts +66 -0
  433. package/build/types-ts3.8/integrations/local-variables/index.d.ts +4 -0
  434. package/build/types-ts3.8/integrations/local-variables/local-variables-async.d.ts +7 -0
  435. package/build/types-ts3.8/integrations/local-variables/local-variables-sync.d.ts +34 -0
  436. package/build/types-ts3.8/integrations/local-variables/worker.d.ts +2 -0
  437. package/build/types-ts3.8/integrations/modules.d.ts +17 -0
  438. package/build/types-ts3.8/integrations/node-fetch/SentryNodeFetchInstrumentation.d.ts +56 -0
  439. package/build/types-ts3.8/integrations/onuncaughtexception.d.ts +31 -0
  440. package/build/types-ts3.8/integrations/onunhandledrejection.d.ts +23 -0
  441. package/build/types-ts3.8/integrations/processSession.d.ts +5 -0
  442. package/build/types-ts3.8/integrations/spotlight.d.ts +18 -0
  443. package/build/types-ts3.8/integrations/winston.d.ts +44 -0
  444. package/build/types-ts3.8/logs/capture.d.ts +18 -0
  445. package/build/types-ts3.8/logs/exports.d.ts +150 -0
  446. package/build/types-ts3.8/nodeVersion.d.ts +8 -0
  447. package/build/types-ts3.8/otel/contextManager.d.ts +10 -0
  448. package/build/types-ts3.8/otel/instrument.d.ts +23 -0
  449. package/build/types-ts3.8/proxy/base.d.ts +60 -0
  450. package/build/types-ts3.8/proxy/helpers.d.ts +38 -0
  451. package/build/types-ts3.8/proxy/index.d.ts +74 -0
  452. package/build/types-ts3.8/proxy/parse-proxy-response.d.ts +40 -0
  453. package/build/types-ts3.8/sdk/api.d.ts +8 -0
  454. package/build/types-ts3.8/sdk/client.d.ts +32 -0
  455. package/build/types-ts3.8/sdk/index.d.ts +6 -2
  456. package/build/types-ts3.8/sdk/initOtel.d.ts +1 -1
  457. package/build/types-ts3.8/sdk/scope.d.ts +7 -0
  458. package/build/types-ts3.8/transports/http-module.d.ts +28 -0
  459. package/build/types-ts3.8/transports/http.d.ts +20 -0
  460. package/build/types-ts3.8/transports/index.d.ts +3 -0
  461. package/build/types-ts3.8/types.d.ts +1 -1
  462. package/build/types-ts3.8/utils/addOriginToSpan.d.ts +5 -0
  463. package/build/types-ts3.8/utils/baggage.d.ts +6 -0
  464. package/build/types-ts3.8/utils/commonjs.d.ts +3 -0
  465. package/build/types-ts3.8/utils/createMissingInstrumentationContext.d.ts +3 -0
  466. package/build/types-ts3.8/utils/debug.d.ts +5 -0
  467. package/build/types-ts3.8/utils/ensureIsWrapped.d.ts +5 -0
  468. package/build/types-ts3.8/utils/entry-point.d.ts +24 -0
  469. package/build/types-ts3.8/utils/envToBool.d.ts +13 -0
  470. package/build/types-ts3.8/utils/errorhandling.d.ts +5 -0
  471. package/build/types-ts3.8/utils/getRequestUrl.d.ts +5 -0
  472. package/build/types-ts3.8/utils/module.d.ts +3 -0
  473. package/build/types-ts3.8/utils/prepareEvent.d.ts +17 -0
  474. package/package.json +3 -4
@@ -0,0 +1,36 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+
5
+ /**
6
+ * Merge two baggage headers into one, where the existing one takes precedence.
7
+ * The order of the existing baggage will be preserved, and new entries will be added to the end.
8
+ */
9
+ function mergeBaggageHeaders(
10
+ existing,
11
+ baggage,
12
+ ) {
13
+ if (!existing) {
14
+ return baggage;
15
+ }
16
+
17
+ const existingBaggageEntries = core.parseBaggageHeader(existing);
18
+ const newBaggageEntries = core.parseBaggageHeader(baggage);
19
+
20
+ if (!newBaggageEntries) {
21
+ return existing;
22
+ }
23
+
24
+ // Existing entries take precedence, ensuring order remains stable for minimal changes
25
+ const mergedBaggageEntries = { ...existingBaggageEntries };
26
+ Object.entries(newBaggageEntries).forEach(([key, value]) => {
27
+ if (!mergedBaggageEntries[key]) {
28
+ mergedBaggageEntries[key] = value;
29
+ }
30
+ });
31
+
32
+ return core.objectToBaggageHeader(mergedBaggageEntries);
33
+ }
34
+
35
+ exports.mergeBaggageHeaders = mergeBaggageHeaders;
36
+ //# sourceMappingURL=baggage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baggage.js","sources":["../../../src/utils/baggage.ts"],"sourcesContent":["import { objectToBaggageHeader, parseBaggageHeader } from '@sentry/core';\n\n/**\n * Merge two baggage headers into one, where the existing one takes precedence.\n * The order of the existing baggage will be preserved, and new entries will be added to the end.\n */\nexport function mergeBaggageHeaders<Existing extends string | string[] | number | undefined>(\n existing: Existing,\n baggage: string,\n): string | undefined | Existing {\n if (!existing) {\n return baggage;\n }\n\n const existingBaggageEntries = parseBaggageHeader(existing);\n const newBaggageEntries = parseBaggageHeader(baggage);\n\n if (!newBaggageEntries) {\n return existing;\n }\n\n // Existing entries take precedence, ensuring order remains stable for minimal changes\n const mergedBaggageEntries = { ...existingBaggageEntries };\n Object.entries(newBaggageEntries).forEach(([key, value]) => {\n if (!mergedBaggageEntries[key]) {\n mergedBaggageEntries[key] = value;\n }\n });\n\n return objectToBaggageHeader(mergedBaggageEntries);\n}\n"],"names":["parseBaggageHeader","objectToBaggageHeader"],"mappings":";;;;AAEA;AACA;AACA;AACA;AACO,SAAS,mBAAmB;AACnC,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAiC;AACjC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO,OAAO;AAClB;;AAEA,EAAE,MAAM,sBAAuB,GAAEA,uBAAkB,CAAC,QAAQ,CAAC;AAC7D,EAAE,MAAM,iBAAkB,GAAEA,uBAAkB,CAAC,OAAO,CAAC;;AAEvD,EAAE,IAAI,CAAC,iBAAiB,EAAE;AAC1B,IAAI,OAAO,QAAQ;AACnB;;AAEA;AACA,EAAE,MAAM,oBAAqB,GAAE,EAAE,GAAG,wBAAwB;AAC5D,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC9D,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;AACpC,MAAM,oBAAoB,CAAC,GAAG,CAAA,GAAI,KAAK;AACvC;AACA,GAAG,CAAC;;AAEJ,EAAE,OAAOC,0BAAqB,CAAC,oBAAoB,CAAC;AACpD;;;;"}
@@ -0,0 +1,13 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ /** Detect CommonJS. */
4
+ function isCjs() {
5
+ try {
6
+ return typeof module !== 'undefined' && typeof module.exports !== 'undefined';
7
+ } catch {
8
+ return false;
9
+ }
10
+ }
11
+
12
+ exports.isCjs = isCjs;
13
+ //# sourceMappingURL=commonjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonjs.js","sources":["../../../src/utils/commonjs.ts"],"sourcesContent":["/** Detect CommonJS. */\nexport function isCjs(): boolean {\n try {\n return typeof module !== 'undefined' && typeof module.exports !== 'undefined';\n } catch {\n return false;\n }\n}\n"],"names":[],"mappings":";;AAAA;AACO,SAAS,KAAK,GAAY;AACjC,EAAE,IAAI;AACN,IAAI,OAAO,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,MAAM,CAAC,OAAQ,KAAI,WAAW;AACjF,IAAI,MAAM;AACV,IAAI,OAAO,KAAK;AAChB;AACA;;;;"}
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const commonjs = require('./commonjs.js');
4
+
5
+ const createMissingInstrumentationContext = (pkg) => ({
6
+ package: pkg,
7
+ 'javascript.is_cjs': commonjs.isCjs(),
8
+ });
9
+
10
+ exports.createMissingInstrumentationContext = createMissingInstrumentationContext;
11
+ //# sourceMappingURL=createMissingInstrumentationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMissingInstrumentationContext.js","sources":["../../../src/utils/createMissingInstrumentationContext.ts"],"sourcesContent":["import type { MissingInstrumentationContext } from '@sentry/core';\nimport { isCjs } from './commonjs';\n\nexport const createMissingInstrumentationContext = (pkg: string): MissingInstrumentationContext => ({\n package: pkg,\n 'javascript.is_cjs': isCjs(),\n});\n"],"names":["isCjs"],"mappings":";;;;MAGa,mCAAoC,GAAE,CAAC,GAAG,MAA6C;AACpG,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,mBAAmB,EAAEA,cAAK,EAAE;AAC9B,CAAC;;;;"}
@@ -0,0 +1,23 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ let cachedDebuggerEnabled;
4
+
5
+ /**
6
+ * Was the debugger enabled when this function was first called?
7
+ */
8
+ async function isDebuggerEnabled() {
9
+ if (cachedDebuggerEnabled === undefined) {
10
+ try {
11
+ // Node can be built without inspector support
12
+ const inspector = await import('node:inspector');
13
+ cachedDebuggerEnabled = !!inspector.url();
14
+ } catch (_) {
15
+ cachedDebuggerEnabled = false;
16
+ }
17
+ }
18
+
19
+ return cachedDebuggerEnabled;
20
+ }
21
+
22
+ exports.isDebuggerEnabled = isDebuggerEnabled;
23
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sources":["../../../src/utils/debug.ts"],"sourcesContent":["let cachedDebuggerEnabled: boolean | undefined;\n\n/**\n * Was the debugger enabled when this function was first called?\n */\nexport async function isDebuggerEnabled(): Promise<boolean> {\n if (cachedDebuggerEnabled === undefined) {\n try {\n // Node can be built without inspector support\n const inspector = await import('node:inspector');\n cachedDebuggerEnabled = !!inspector.url();\n } catch (_) {\n cachedDebuggerEnabled = false;\n }\n }\n\n return cachedDebuggerEnabled;\n}\n"],"names":[],"mappings":";;AAAA,IAAI,qBAAqB;;AAEzB;AACA;AACA;AACO,eAAe,iBAAiB,GAAqB;AAC5D,EAAE,IAAI,qBAAsB,KAAI,SAAS,EAAE;AAC3C,IAAI,IAAI;AACR;AACA,MAAM,MAAM,SAAU,GAAE,MAAM,OAAO,gBAAgB,CAAC;AACtD,MAAM,qBAAA,GAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;AAC/C,KAAM,CAAA,OAAO,CAAC,EAAE;AAChB,MAAM,qBAAA,GAAwB,KAAK;AACnC;AACA;;AAEA,EAAE,OAAO,qBAAqB;AAC9B;;;;"}
@@ -0,0 +1,41 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core$1 = require('@opentelemetry/core');
4
+ const core = require('@sentry/core');
5
+ const commonjs = require('./commonjs.js');
6
+ const createMissingInstrumentationContext = require('./createMissingInstrumentationContext.js');
7
+
8
+ /**
9
+ * Checks and warns if a framework isn't wrapped by opentelemetry.
10
+ */
11
+ function ensureIsWrapped(
12
+ maybeWrappedFunction,
13
+ name,
14
+ ) {
15
+ const clientOptions = core.getClient()?.getOptions();
16
+ if (
17
+ !clientOptions?.disableInstrumentationWarnings &&
18
+ !core$1.isWrapped(maybeWrappedFunction) &&
19
+ core.isEnabled() &&
20
+ core.hasSpansEnabled(clientOptions)
21
+ ) {
22
+ core.consoleSandbox(() => {
23
+ if (commonjs.isCjs()) {
24
+ // eslint-disable-next-line no-console
25
+ console.warn(
26
+ `[Sentry] ${name} is not instrumented. This is likely because you required/imported ${name} before calling \`Sentry.init()\`.`,
27
+ );
28
+ } else {
29
+ // eslint-disable-next-line no-console
30
+ console.warn(
31
+ `[Sentry] ${name} is not instrumented. Please make sure to initialize Sentry in a separate file that you \`--import\` when running node, see: https://docs.sentry.io/platforms/javascript/guides/${name}/install/esm/.`,
32
+ );
33
+ }
34
+ });
35
+
36
+ core.getGlobalScope().setContext('missing_instrumentation', createMissingInstrumentationContext.createMissingInstrumentationContext(name));
37
+ }
38
+ }
39
+
40
+ exports.ensureIsWrapped = ensureIsWrapped;
41
+ //# sourceMappingURL=ensureIsWrapped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureIsWrapped.js","sources":["../../../src/utils/ensureIsWrapped.ts"],"sourcesContent":["import { isWrapped } from '@opentelemetry/core';\nimport { consoleSandbox, getClient, getGlobalScope, hasSpansEnabled, isEnabled } from '@sentry/core';\nimport type { NodeClient } from '../sdk/client';\nimport { isCjs } from './commonjs';\nimport { createMissingInstrumentationContext } from './createMissingInstrumentationContext';\n\n/**\n * Checks and warns if a framework isn't wrapped by opentelemetry.\n */\nexport function ensureIsWrapped(\n maybeWrappedFunction: unknown,\n name: 'express' | 'connect' | 'fastify' | 'hapi' | 'koa',\n): void {\n const clientOptions = getClient<NodeClient>()?.getOptions();\n if (\n !clientOptions?.disableInstrumentationWarnings &&\n !isWrapped(maybeWrappedFunction) &&\n isEnabled() &&\n hasSpansEnabled(clientOptions)\n ) {\n consoleSandbox(() => {\n if (isCjs()) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] ${name} is not instrumented. This is likely because you required/imported ${name} before calling \\`Sentry.init()\\`.`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] ${name} is not instrumented. Please make sure to initialize Sentry in a separate file that you \\`--import\\` when running node, see: https://docs.sentry.io/platforms/javascript/guides/${name}/install/esm/.`,\n );\n }\n });\n\n getGlobalScope().setContext('missing_instrumentation', createMissingInstrumentationContext(name));\n }\n}\n"],"names":["getClient","isWrapped","isEnabled","hasSpansEnabled","consoleSandbox","isCjs","getGlobalScope","createMissingInstrumentationContext"],"mappings":";;;;;;;AAMA;AACA;AACA;AACO,SAAS,eAAe;AAC/B,EAAE,oBAAoB;AACtB,EAAE,IAAI;AACN,EAAQ;AACR,EAAE,MAAM,gBAAgBA,cAAS,EAAc,EAAE,UAAU,EAAE;AAC7D,EAAE;AACF,IAAI,CAAC,aAAa,EAAE,8BAA+B;AACnD,IAAI,CAACC,gBAAS,CAAC,oBAAoB,CAAE;AACrC,IAAIC,cAAS,EAAG;AAChB,IAAIC,oBAAe,CAAC,aAAa;AACjC,IAAI;AACJ,IAAIC,mBAAc,CAAC,MAAM;AACzB,MAAM,IAAIC,cAAK,EAAE,EAAE;AACnB;AACA,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,mEAAmE,EAAE,IAAI,CAAC,kCAAkC,CAAC;AACxI,SAAS;AACT,aAAa;AACb;AACA,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,gLAAgL,EAAE,IAAI,CAAC,cAAc,CAAC;AACjO,SAAS;AACT;AACA,KAAK,CAAC;;AAEN,IAAIC,mBAAc,EAAE,CAAC,UAAU,CAAC,yBAAyB,EAAEC,uEAAmC,CAAC,IAAI,CAAC,CAAC;AACrG;AACA;;;;"}
@@ -0,0 +1,32 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const FALSY_ENV_VALUES = new Set(['false', 'f', 'n', 'no', 'off', '0']);
4
+ const TRUTHY_ENV_VALUES = new Set(['true', 't', 'y', 'yes', 'on', '1']);
5
+
6
+ /**
7
+ * A helper function which casts an ENV variable value to `true` or `false` using the constants defined above.
8
+ * In strict mode, it may return `null` if the value doesn't match any of the predefined values.
9
+ *
10
+ * @param value The value of the env variable
11
+ * @param options -- Only has `strict` key for now, which requires a strict match for `true` in TRUTHY_ENV_VALUES
12
+ * @returns true/false if the lowercase value matches the predefined values above. If not, null in strict mode,
13
+ * and Boolean(value) in loose mode.
14
+ */
15
+ function envToBool(value, options) {
16
+ const normalized = String(value).toLowerCase();
17
+
18
+ if (FALSY_ENV_VALUES.has(normalized)) {
19
+ return false;
20
+ }
21
+
22
+ if (TRUTHY_ENV_VALUES.has(normalized)) {
23
+ return true;
24
+ }
25
+
26
+ return options?.strict ? null : Boolean(value);
27
+ }
28
+
29
+ exports.FALSY_ENV_VALUES = FALSY_ENV_VALUES;
30
+ exports.TRUTHY_ENV_VALUES = TRUTHY_ENV_VALUES;
31
+ exports.envToBool = envToBool;
32
+ //# sourceMappingURL=envToBool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envToBool.js","sources":["../../../src/utils/envToBool.ts"],"sourcesContent":["export const FALSY_ENV_VALUES = new Set(['false', 'f', 'n', 'no', 'off', '0']);\nexport const TRUTHY_ENV_VALUES = new Set(['true', 't', 'y', 'yes', 'on', '1']);\n\nexport type StrictBoolCast = {\n strict: true;\n};\n\nexport type LooseBoolCast = {\n strict?: false;\n};\n\nexport type BoolCastOptions = StrictBoolCast | LooseBoolCast;\n\nexport function envToBool(value: unknown, options?: LooseBoolCast): boolean;\nexport function envToBool(value: unknown, options: StrictBoolCast): boolean | null;\nexport function envToBool(value: unknown, options?: BoolCastOptions): boolean | null;\n/**\n * A helper function which casts an ENV variable value to `true` or `false` using the constants defined above.\n * In strict mode, it may return `null` if the value doesn't match any of the predefined values.\n *\n * @param value The value of the env variable\n * @param options -- Only has `strict` key for now, which requires a strict match for `true` in TRUTHY_ENV_VALUES\n * @returns true/false if the lowercase value matches the predefined values above. If not, null in strict mode,\n * and Boolean(value) in loose mode.\n */\nexport function envToBool(value: unknown, options?: BoolCastOptions): boolean | null {\n const normalized = String(value).toLowerCase();\n\n if (FALSY_ENV_VALUES.has(normalized)) {\n return false;\n }\n\n if (TRUTHY_ENV_VALUES.has(normalized)) {\n return true;\n }\n\n return options?.strict ? null : Boolean(value);\n}\n"],"names":[],"mappings":";;MAAa,gBAAiB,GAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;MAChE,iBAAkB,GAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC;;AAe7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,KAAK,EAAW,OAAO,EAAoC;AACrF,EAAE,MAAM,UAAW,GAAE,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;;AAEhD,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACxC,IAAI,OAAO,KAAK;AAChB;;AAEA,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACzC,IAAI,OAAO,IAAI;AACf;;AAEA,EAAE,OAAO,OAAO,EAAE,MAAO,GAAE,OAAO,OAAO,CAAC,KAAK,CAAC;AAChD;;;;;;"}
@@ -0,0 +1,42 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+ const debugBuild = require('../debug-build.js');
5
+
6
+ const DEFAULT_SHUTDOWN_TIMEOUT = 2000;
7
+
8
+ /**
9
+ * @hidden
10
+ */
11
+ function logAndExitProcess(error) {
12
+ core.consoleSandbox(() => {
13
+ // eslint-disable-next-line no-console
14
+ console.error(error);
15
+ });
16
+
17
+ const client = core.getClient();
18
+
19
+ if (client === undefined) {
20
+ debugBuild.DEBUG_BUILD && core.logger.warn('No NodeClient was defined, we are exiting the process now.');
21
+ global.process.exit(1);
22
+ return;
23
+ }
24
+
25
+ const options = client.getOptions();
26
+ const timeout =
27
+ options?.shutdownTimeout && options.shutdownTimeout > 0 ? options.shutdownTimeout : DEFAULT_SHUTDOWN_TIMEOUT;
28
+ client.close(timeout).then(
29
+ (result) => {
30
+ if (!result) {
31
+ debugBuild.DEBUG_BUILD && core.logger.warn('We reached the timeout for emptying the request buffer, still exiting now!');
32
+ }
33
+ global.process.exit(1);
34
+ },
35
+ error => {
36
+ debugBuild.DEBUG_BUILD && core.logger.error(error);
37
+ },
38
+ );
39
+ }
40
+
41
+ exports.logAndExitProcess = logAndExitProcess;
42
+ //# sourceMappingURL=errorhandling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorhandling.js","sources":["../../../src/utils/errorhandling.ts"],"sourcesContent":["import { consoleSandbox, getClient, logger } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build';\nimport type { NodeClient } from '../sdk/client';\n\nconst DEFAULT_SHUTDOWN_TIMEOUT = 2000;\n\n/**\n * @hidden\n */\nexport function logAndExitProcess(error: unknown): void {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(error);\n });\n\n const client = getClient<NodeClient>();\n\n if (client === undefined) {\n DEBUG_BUILD && logger.warn('No NodeClient was defined, we are exiting the process now.');\n global.process.exit(1);\n return;\n }\n\n const options = client.getOptions();\n const timeout =\n options?.shutdownTimeout && options.shutdownTimeout > 0 ? options.shutdownTimeout : DEFAULT_SHUTDOWN_TIMEOUT;\n client.close(timeout).then(\n (result: boolean) => {\n if (!result) {\n DEBUG_BUILD && logger.warn('We reached the timeout for emptying the request buffer, still exiting now!');\n }\n global.process.exit(1);\n },\n error => {\n DEBUG_BUILD && logger.error(error);\n },\n );\n}\n"],"names":["consoleSandbox","getClient","DEBUG_BUILD","logger"],"mappings":";;;;;AAIA,MAAM,wBAAA,GAA2B,IAAI;;AAErC;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,KAAK,EAAiB;AACxD,EAAEA,mBAAc,CAAC,MAAM;AACvB;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACxB,GAAG,CAAC;;AAEJ,EAAE,MAAM,MAAA,GAASC,cAAS,EAAc;;AAExC,EAAE,IAAI,MAAO,KAAI,SAAS,EAAE;AAC5B,IAAIC,0BAAeC,WAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC;AAC5F,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,IAAI;AACJ;;AAEA,EAAE,MAAM,OAAQ,GAAE,MAAM,CAAC,UAAU,EAAE;AACrC,EAAE,MAAM,OAAQ;AAChB,IAAI,OAAO,EAAE,eAAgB,IAAG,OAAO,CAAC,eAAA,GAAkB,CAAA,GAAI,OAAO,CAAC,eAAA,GAAkB,wBAAwB;AAChH,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI;AAC5B,IAAI,CAAC,MAAM,KAAc;AACzB,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,QAAQD,0BAAeC,WAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC;AAChH;AACA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,SAAS;AACb,MAAMD,0BAAeC,WAAM,CAAC,KAAK,CAAC,KAAK,CAAC;AACxC,KAAK;AACL,GAAG;AACH;;;;"}
@@ -0,0 +1,18 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ /** Build a full URL from request options. */
4
+ function getRequestUrl(requestOptions) {
5
+ const protocol = requestOptions.protocol || '';
6
+ const hostname = requestOptions.hostname || requestOptions.host || '';
7
+ // Don't log standard :80 (http) and :443 (https) ports to reduce the noise
8
+ // Also don't add port if the hostname already includes a port
9
+ const port =
10
+ !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\d+)$/.test(hostname)
11
+ ? ''
12
+ : `:${requestOptions.port}`;
13
+ const path = requestOptions.path ? requestOptions.path : '/';
14
+ return `${protocol}//${hostname}${port}${path}`;
15
+ }
16
+
17
+ exports.getRequestUrl = getRequestUrl;
18
+ //# sourceMappingURL=getRequestUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRequestUrl.js","sources":["../../../src/utils/getRequestUrl.ts"],"sourcesContent":["import type { RequestOptions } from 'node:http';\n\n/** Build a full URL from request options. */\nexport function getRequestUrl(requestOptions: RequestOptions): string {\n const protocol = requestOptions.protocol || '';\n const hostname = requestOptions.hostname || requestOptions.host || '';\n // Don't log standard :80 (http) and :443 (https) ports to reduce the noise\n // Also don't add port if the hostname already includes a port\n const port =\n !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\\d+)$/.test(hostname)\n ? ''\n : `:${requestOptions.port}`;\n const path = requestOptions.path ? requestOptions.path : '/';\n return `${protocol}//${hostname}${port}${path}`;\n}\n"],"names":[],"mappings":";;AAEA;AACO,SAAS,aAAa,CAAC,cAAc,EAA0B;AACtE,EAAE,MAAM,QAAS,GAAE,cAAc,CAAC,QAAA,IAAY,EAAE;AAChD,EAAE,MAAM,QAAS,GAAE,cAAc,CAAC,QAAS,IAAG,cAAc,CAAC,IAAK,IAAG,EAAE;AACvE;AACA;AACA,EAAE,MAAM,IAAK;AACb,IAAI,CAAC,cAAc,CAAC,IAAA,IAAQ,cAAc,CAAC,SAAS,EAAA,IAAM,cAAc,CAAC,SAAS,GAAA,IAAO,cAAc,CAAC,IAAI,CAAC,QAAQ;AACrH,QAAQ;AACR,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,cAAA,CAAA,IAAA,GAAA,cAAA,CAAA,IAAA,GAAA,GAAA;AACA,EAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,EAAA,QAAA,CAAA,EAAA,IAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACA;;;;"}
@@ -0,0 +1,60 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const node_path = require('node:path');
4
+ const core = require('@sentry/core');
5
+
6
+ /** normalizes Windows paths */
7
+ function normalizeWindowsPath(path) {
8
+ return path
9
+ .replace(/^[A-Z]:/, '') // remove Windows-style prefix
10
+ .replace(/\\/g, '/'); // replace all `\` instances with `/`
11
+ }
12
+
13
+ /** Creates a function that gets the module name from a filename */
14
+ function createGetModuleFromFilename(
15
+ basePath = process.argv[1] ? core.dirname(process.argv[1]) : process.cwd(),
16
+ isWindows = node_path.sep === '\\',
17
+ ) {
18
+ const normalizedBase = isWindows ? normalizeWindowsPath(basePath) : basePath;
19
+
20
+ return (filename) => {
21
+ if (!filename) {
22
+ return;
23
+ }
24
+
25
+ const normalizedFilename = isWindows ? normalizeWindowsPath(filename) : filename;
26
+
27
+ // eslint-disable-next-line prefer-const
28
+ let { dir, base: file, ext } = node_path.posix.parse(normalizedFilename);
29
+
30
+ if (ext === '.js' || ext === '.mjs' || ext === '.cjs') {
31
+ file = file.slice(0, ext.length * -1);
32
+ }
33
+
34
+ // The file name might be URI-encoded which we want to decode to
35
+ // the original file name.
36
+ const decodedFile = decodeURIComponent(file);
37
+
38
+ if (!dir) {
39
+ // No dirname whatsoever
40
+ dir = '.';
41
+ }
42
+
43
+ const n = dir.lastIndexOf('/node_modules');
44
+ if (n > -1) {
45
+ return `${dir.slice(n + 14).replace(/\//g, '.')}:${decodedFile}`;
46
+ }
47
+
48
+ // Let's see if it's a part of the main module
49
+ // To be a part of main module, it has to share the same base
50
+ if (dir.startsWith(normalizedBase)) {
51
+ const moduleName = dir.slice(normalizedBase.length + 1).replace(/\//g, '.');
52
+ return moduleName ? `${moduleName}:${decodedFile}` : decodedFile;
53
+ }
54
+
55
+ return decodedFile;
56
+ };
57
+ }
58
+
59
+ exports.createGetModuleFromFilename = createGetModuleFromFilename;
60
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sources":["../../../src/utils/module.ts"],"sourcesContent":["import { posix, sep } from 'node:path';\nimport { dirname } from '@sentry/core';\n\n/** normalizes Windows paths */\nfunction normalizeWindowsPath(path: string): string {\n return path\n .replace(/^[A-Z]:/, '') // remove Windows-style prefix\n .replace(/\\\\/g, '/'); // replace all `\\` instances with `/`\n}\n\n/** Creates a function that gets the module name from a filename */\nexport function createGetModuleFromFilename(\n basePath: string = process.argv[1] ? dirname(process.argv[1]) : process.cwd(),\n isWindows: boolean = sep === '\\\\',\n): (filename: string | undefined) => string | undefined {\n const normalizedBase = isWindows ? normalizeWindowsPath(basePath) : basePath;\n\n return (filename: string | undefined) => {\n if (!filename) {\n return;\n }\n\n const normalizedFilename = isWindows ? normalizeWindowsPath(filename) : filename;\n\n // eslint-disable-next-line prefer-const\n let { dir, base: file, ext } = posix.parse(normalizedFilename);\n\n if (ext === '.js' || ext === '.mjs' || ext === '.cjs') {\n file = file.slice(0, ext.length * -1);\n }\n\n // The file name might be URI-encoded which we want to decode to\n // the original file name.\n const decodedFile = decodeURIComponent(file);\n\n if (!dir) {\n // No dirname whatsoever\n dir = '.';\n }\n\n const n = dir.lastIndexOf('/node_modules');\n if (n > -1) {\n return `${dir.slice(n + 14).replace(/\\//g, '.')}:${decodedFile}`;\n }\n\n // Let's see if it's a part of the main module\n // To be a part of main module, it has to share the same base\n if (dir.startsWith(normalizedBase)) {\n const moduleName = dir.slice(normalizedBase.length + 1).replace(/\\//g, '.');\n return moduleName ? `${moduleName}:${decodedFile}` : decodedFile;\n }\n\n return decodedFile;\n };\n}\n"],"names":["dirname","sep","posix"],"mappings":";;;;;AAGA;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAkB;AACpD,EAAE,OAAO;AACT,KAAK,OAAO,CAAC,SAAS,EAAE,EAAE,CAAA;AAC1B,KAAK,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACxB;;AAEA;AACO,SAAS,2BAA2B;AAC3C,EAAE,QAAQ,GAAW,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,GAAEA,YAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,GAAI,OAAO,CAAC,GAAG,EAAE;AAC/E,EAAE,SAAS,GAAYC,aAAA,KAAQ,IAAI;AACnC,EAAwD;AACxD,EAAE,MAAM,cAAe,GAAE,SAAU,GAAE,oBAAoB,CAAC,QAAQ,CAAE,GAAE,QAAQ;;AAE9E,EAAE,OAAO,CAAC,QAAQ,KAAyB;AAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM;AACN;;AAEA,IAAI,MAAM,kBAAmB,GAAE,SAAU,GAAE,oBAAoB,CAAC,QAAQ,CAAE,GAAE,QAAQ;;AAEpF;AACA,IAAI,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAI,EAAA,GAAIC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC;;AAElE,IAAI,IAAI,GAAI,KAAI,KAAM,IAAG,GAAI,KAAI,MAAO,IAAG,GAAI,KAAI,MAAM,EAAE;AAC3D,MAAM,IAAK,GAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAA,GAAS,EAAE,CAAC;AAC3C;;AAEA;AACA;AACA,IAAI,MAAM,WAAY,GAAE,kBAAkB,CAAC,IAAI,CAAC;;AAEhD,IAAI,IAAI,CAAC,GAAG,EAAE;AACd;AACA,MAAM,GAAA,GAAM,GAAG;AACf;;AAEA,IAAI,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;AAC9C,IAAI,IAAI,CAAA,GAAI,EAAE,EAAE;AAChB,MAAM,OAAO,CAAC,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AACA;;AAEA;AACA;AACA,IAAA,IAAA,GAAA,CAAA,UAAA,CAAA,cAAA,CAAA,EAAA;AACA,MAAA,MAAA,UAAA,GAAA,GAAA,CAAA,KAAA,CAAA,cAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA,OAAA,CAAA,KAAA,EAAA,GAAA,CAAA;AACA,MAAA,OAAA,UAAA,GAAA,CAAA,EAAA,UAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA,GAAA,WAAA;AACA;;AAEA,IAAA,OAAA,WAAA;AACA,GAAA;AACA;;;;"}
@@ -0,0 +1,54 @@
1
+ const replacements = [
2
+ ['january', '1'],
3
+ ['february', '2'],
4
+ ['march', '3'],
5
+ ['april', '4'],
6
+ ['may', '5'],
7
+ ['june', '6'],
8
+ ['july', '7'],
9
+ ['august', '8'],
10
+ ['september', '9'],
11
+ ['october', '10'],
12
+ ['november', '11'],
13
+ ['december', '12'],
14
+ ['jan', '1'],
15
+ ['feb', '2'],
16
+ ['mar', '3'],
17
+ ['apr', '4'],
18
+ ['may', '5'],
19
+ ['jun', '6'],
20
+ ['jul', '7'],
21
+ ['aug', '8'],
22
+ ['sep', '9'],
23
+ ['oct', '10'],
24
+ ['nov', '11'],
25
+ ['dec', '12'],
26
+ ['sunday', '0'],
27
+ ['monday', '1'],
28
+ ['tuesday', '2'],
29
+ ['wednesday', '3'],
30
+ ['thursday', '4'],
31
+ ['friday', '5'],
32
+ ['saturday', '6'],
33
+ ['sun', '0'],
34
+ ['mon', '1'],
35
+ ['tue', '2'],
36
+ ['wed', '3'],
37
+ ['thu', '4'],
38
+ ['fri', '5'],
39
+ ['sat', '6'],
40
+ ];
41
+
42
+ /**
43
+ * Replaces names in cron expressions
44
+ */
45
+ function replaceCronNames(cronExpression) {
46
+ return replacements.reduce(
47
+ // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor
48
+ (acc, [name, replacement]) => acc.replace(new RegExp(name, 'gi'), replacement),
49
+ cronExpression,
50
+ );
51
+ }
52
+
53
+ export { replaceCronNames };
54
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sources":["../../../src/cron/common.ts"],"sourcesContent":["const replacements: [string, string][] = [\n ['january', '1'],\n ['february', '2'],\n ['march', '3'],\n ['april', '4'],\n ['may', '5'],\n ['june', '6'],\n ['july', '7'],\n ['august', '8'],\n ['september', '9'],\n ['october', '10'],\n ['november', '11'],\n ['december', '12'],\n ['jan', '1'],\n ['feb', '2'],\n ['mar', '3'],\n ['apr', '4'],\n ['may', '5'],\n ['jun', '6'],\n ['jul', '7'],\n ['aug', '8'],\n ['sep', '9'],\n ['oct', '10'],\n ['nov', '11'],\n ['dec', '12'],\n ['sunday', '0'],\n ['monday', '1'],\n ['tuesday', '2'],\n ['wednesday', '3'],\n ['thursday', '4'],\n ['friday', '5'],\n ['saturday', '6'],\n ['sun', '0'],\n ['mon', '1'],\n ['tue', '2'],\n ['wed', '3'],\n ['thu', '4'],\n ['fri', '5'],\n ['sat', '6'],\n];\n\n/**\n * Replaces names in cron expressions\n */\nexport function replaceCronNames(cronExpression: string): string {\n return replacements.reduce(\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n (acc, [name, replacement]) => acc.replace(new RegExp(name, 'gi'), replacement),\n cronExpression,\n );\n}\n"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAuB;AACzC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC;AAClB,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC;AACnB,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;AAChB,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;AAChB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;AACf,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;AACf,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;AACjB,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC;AACpB,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;AACnB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC;AACpB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC;AACpB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;AACf,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;AACf,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;AACf,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;AACjB,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;AACjB,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC;AAClB,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC;AACpB,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC;AACnB,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;AACjB,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC;AACnB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;AACd,CAAC;;AAED;AACA;AACA;AACO,SAAS,gBAAgB,CAAC,cAAc,EAAkB;AACjE,EAAE,OAAO,YAAY,CAAC,MAAM;AAC5B;AACA,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC;AAClF,IAAI,cAAc;AAClB,GAAG;AACH;;;;"}
@@ -0,0 +1,110 @@
1
+ import { withMonitor, captureException } from '@sentry/core';
2
+ import { replaceCronNames } from './common.js';
3
+
4
+ const ERROR_TEXT = 'Automatic instrumentation of CronJob only supports crontab string';
5
+
6
+ /**
7
+ * Instruments the `cron` library to send a check-in event to Sentry for each job execution.
8
+ *
9
+ * ```ts
10
+ * import * as Sentry from '@sentry/node';
11
+ * import { CronJob } from 'cron';
12
+ *
13
+ * const CronJobWithCheckIn = Sentry.cron.instrumentCron(CronJob, 'my-cron-job');
14
+ *
15
+ * // use the constructor
16
+ * const job = new CronJobWithCheckIn('* * * * *', () => {
17
+ * console.log('You will see this message every minute');
18
+ * });
19
+ *
20
+ * // or from
21
+ * const job = CronJobWithCheckIn.from({ cronTime: '* * * * *', onTick: () => {
22
+ * console.log('You will see this message every minute');
23
+ * });
24
+ * ```
25
+ */
26
+ function instrumentCron(lib, monitorSlug) {
27
+ let jobScheduled = false;
28
+
29
+ return new Proxy(lib, {
30
+ construct(target, args) {
31
+ const [cronTime, onTick, onComplete, start, timeZone, ...rest] = args;
32
+
33
+ if (typeof cronTime !== 'string') {
34
+ throw new Error(ERROR_TEXT);
35
+ }
36
+
37
+ if (jobScheduled) {
38
+ throw new Error(`A job named '${monitorSlug}' has already been scheduled`);
39
+ }
40
+
41
+ jobScheduled = true;
42
+
43
+ const cronString = replaceCronNames(cronTime);
44
+
45
+ async function monitoredTick(context, onComplete) {
46
+ return withMonitor(
47
+ monitorSlug,
48
+ async () => {
49
+ try {
50
+ await onTick(context, onComplete);
51
+ } catch (e) {
52
+ captureException(e);
53
+ throw e;
54
+ }
55
+ },
56
+ {
57
+ schedule: { type: 'crontab', value: cronString },
58
+ timezone: timeZone || undefined,
59
+ },
60
+ );
61
+ }
62
+
63
+ return new target(cronTime, monitoredTick, onComplete, start, timeZone, ...rest);
64
+ },
65
+ get(target, prop) {
66
+ if (prop === 'from') {
67
+ return (param) => {
68
+ const { cronTime, onTick, timeZone } = param;
69
+
70
+ if (typeof cronTime !== 'string') {
71
+ throw new Error(ERROR_TEXT);
72
+ }
73
+
74
+ if (jobScheduled) {
75
+ throw new Error(`A job named '${monitorSlug}' has already been scheduled`);
76
+ }
77
+
78
+ jobScheduled = true;
79
+
80
+ const cronString = replaceCronNames(cronTime);
81
+
82
+ param.onTick = async (context, onComplete) => {
83
+ return withMonitor(
84
+ monitorSlug,
85
+ async () => {
86
+ try {
87
+ await onTick(context, onComplete);
88
+ } catch (e) {
89
+ captureException(e);
90
+ throw e;
91
+ }
92
+ },
93
+ {
94
+ schedule: { type: 'crontab', value: cronString },
95
+ timezone: timeZone || undefined,
96
+ },
97
+ );
98
+ };
99
+
100
+ return target.from(param);
101
+ };
102
+ } else {
103
+ return target[prop];
104
+ }
105
+ },
106
+ });
107
+ }
108
+
109
+ export { instrumentCron };
110
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sources":["../../../src/cron/cron.ts"],"sourcesContent":["import { captureException, withMonitor } from '@sentry/core';\nimport { replaceCronNames } from './common';\n\nexport type CronJobParams = {\n cronTime: string | Date;\n onTick: (context: unknown, onComplete?: unknown) => void | Promise<void>;\n onComplete?: () => void | Promise<void>;\n start?: boolean | null;\n context?: unknown;\n runOnInit?: boolean | null;\n unrefTimeout?: boolean | null;\n} & (\n | {\n timeZone?: string | null;\n utcOffset?: never;\n }\n | {\n timeZone?: never;\n utcOffset?: number | null;\n }\n);\n\nexport type CronJob = {\n //\n};\n\nexport type CronJobConstructor = {\n from: (param: CronJobParams) => CronJob;\n\n new (\n cronTime: CronJobParams['cronTime'],\n onTick: CronJobParams['onTick'],\n onComplete?: CronJobParams['onComplete'],\n start?: CronJobParams['start'],\n timeZone?: CronJobParams['timeZone'],\n context?: CronJobParams['context'],\n runOnInit?: CronJobParams['runOnInit'],\n utcOffset?: null,\n unrefTimeout?: CronJobParams['unrefTimeout'],\n ): CronJob;\n new (\n cronTime: CronJobParams['cronTime'],\n onTick: CronJobParams['onTick'],\n onComplete?: CronJobParams['onComplete'],\n start?: CronJobParams['start'],\n timeZone?: null,\n context?: CronJobParams['context'],\n runOnInit?: CronJobParams['runOnInit'],\n utcOffset?: CronJobParams['utcOffset'],\n unrefTimeout?: CronJobParams['unrefTimeout'],\n ): CronJob;\n};\n\nconst ERROR_TEXT = 'Automatic instrumentation of CronJob only supports crontab string';\n\n/**\n * Instruments the `cron` library to send a check-in event to Sentry for each job execution.\n *\n * ```ts\n * import * as Sentry from '@sentry/node';\n * import { CronJob } from 'cron';\n *\n * const CronJobWithCheckIn = Sentry.cron.instrumentCron(CronJob, 'my-cron-job');\n *\n * // use the constructor\n * const job = new CronJobWithCheckIn('* * * * *', () => {\n * console.log('You will see this message every minute');\n * });\n *\n * // or from\n * const job = CronJobWithCheckIn.from({ cronTime: '* * * * *', onTick: () => {\n * console.log('You will see this message every minute');\n * });\n * ```\n */\nexport function instrumentCron<T>(lib: T & CronJobConstructor, monitorSlug: string): T {\n let jobScheduled = false;\n\n return new Proxy(lib, {\n construct(target, args: ConstructorParameters<CronJobConstructor>) {\n const [cronTime, onTick, onComplete, start, timeZone, ...rest] = args;\n\n if (typeof cronTime !== 'string') {\n throw new Error(ERROR_TEXT);\n }\n\n if (jobScheduled) {\n throw new Error(`A job named '${monitorSlug}' has already been scheduled`);\n }\n\n jobScheduled = true;\n\n const cronString = replaceCronNames(cronTime);\n\n async function monitoredTick(context: unknown, onComplete?: unknown): Promise<void> {\n return withMonitor(\n monitorSlug,\n async () => {\n try {\n await onTick(context, onComplete);\n } catch (e) {\n captureException(e);\n throw e;\n }\n },\n {\n schedule: { type: 'crontab', value: cronString },\n timezone: timeZone || undefined,\n },\n );\n }\n\n return new target(cronTime, monitoredTick, onComplete, start, timeZone, ...rest);\n },\n get(target, prop: keyof CronJobConstructor) {\n if (prop === 'from') {\n return (param: CronJobParams) => {\n const { cronTime, onTick, timeZone } = param;\n\n if (typeof cronTime !== 'string') {\n throw new Error(ERROR_TEXT);\n }\n\n if (jobScheduled) {\n throw new Error(`A job named '${monitorSlug}' has already been scheduled`);\n }\n\n jobScheduled = true;\n\n const cronString = replaceCronNames(cronTime);\n\n param.onTick = async (context: unknown, onComplete?: unknown) => {\n return withMonitor(\n monitorSlug,\n async () => {\n try {\n await onTick(context, onComplete);\n } catch (e) {\n captureException(e);\n throw e;\n }\n },\n {\n schedule: { type: 'crontab', value: cronString },\n timezone: timeZone || undefined,\n },\n );\n };\n\n return target.from(param);\n };\n } else {\n return target[prop];\n }\n },\n });\n}\n"],"names":[],"mappings":";;;AAqDA,MAAM,UAAA,GAAa,mEAAmE;;AAEtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAI,GAAG,EAA0B,WAAW,EAAa;AACvF,EAAE,IAAI,YAAa,GAAE,KAAK;;AAE1B,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;AACxB,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,EAA6C;AACvE,MAAM,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA,GAAI,IAAI;;AAE3E,MAAM,IAAI,OAAO,QAAS,KAAI,QAAQ,EAAE;AACxC,QAAQ,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;AACnC;;AAEA,MAAM,IAAI,YAAY,EAAE;AACxB,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAClF;;AAEA,MAAM,YAAA,GAAe,IAAI;;AAEzB,MAAM,MAAM,UAAW,GAAE,gBAAgB,CAAC,QAAQ,CAAC;;AAEnD,MAAM,eAAe,aAAa,CAAC,OAAO,EAAW,UAAU,EAA2B;AAC1F,QAAQ,OAAO,WAAW;AAC1B,UAAU,WAAW;AACrB,UAAU,YAAY;AACtB,YAAY,IAAI;AAChB,cAAc,MAAM,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;AAC/C,aAAc,CAAA,OAAO,CAAC,EAAE;AACxB,cAAc,gBAAgB,CAAC,CAAC,CAAC;AACjC,cAAc,MAAM,CAAC;AACrB;AACA,WAAW;AACX,UAAU;AACV,YAAY,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAA,EAAY;AAC5D,YAAY,QAAQ,EAAE,QAAS,IAAG,SAAS;AAC3C,WAAW;AACX,SAAS;AACT;;AAEA,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AACtF,KAAK;AACL,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAA4B;AAChD,MAAM,IAAI,IAAK,KAAI,MAAM,EAAE;AAC3B,QAAQ,OAAO,CAAC,KAAK,KAAoB;AACzC,UAAU,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAA,EAAW,GAAE,KAAK;;AAEtD,UAAU,IAAI,OAAO,QAAS,KAAI,QAAQ,EAAE;AAC5C,YAAY,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;AACvC;;AAEA,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;AACtF;;AAEA,UAAU,YAAA,GAAe,IAAI;;AAE7B,UAAU,MAAM,UAAW,GAAE,gBAAgB,CAAC,QAAQ,CAAC;;AAEvD,UAAU,KAAK,CAAC,MAAA,GAAS,OAAO,OAAO,EAAW,UAAU,KAAe;AAC3E,YAAY,OAAO,WAAW;AAC9B,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,gBAAgB,IAAI;AACpB,kBAAkB,MAAM,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;AACnD,iBAAkB,CAAA,OAAO,CAAC,EAAE;AAC5B,kBAAkB,gBAAgB,CAAC,CAAC,CAAC;AACrC,kBAAkB,MAAM,CAAC;AACzB;AACA,eAAe;AACf,cAAc;AACd,gBAAgB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAA,EAAY;AAChE,gBAAgB,QAAQ,EAAE,QAAS,IAAG,SAAS;AAC/C,eAAe;AACf,aAAa;AACb,WAAW;;AAEX,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,SAAS;AACT,aAAa;AACb,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC;AAC3B;AACA,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,13 @@
1
+ import { instrumentCron } from './cron.js';
2
+ import { instrumentNodeCron } from './node-cron.js';
3
+ import { instrumentNodeSchedule } from './node-schedule.js';
4
+
5
+ /** Methods to instrument cron libraries for Sentry check-ins */
6
+ const cron = {
7
+ instrumentCron,
8
+ instrumentNodeCron,
9
+ instrumentNodeSchedule,
10
+ };
11
+
12
+ export { cron };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/cron/index.ts"],"sourcesContent":["import { instrumentCron } from './cron';\nimport { instrumentNodeCron } from './node-cron';\nimport { instrumentNodeSchedule } from './node-schedule';\n\n/** Methods to instrument cron libraries for Sentry check-ins */\nexport const cron = {\n instrumentCron,\n instrumentNodeCron,\n instrumentNodeSchedule,\n};\n"],"names":[],"mappings":";;;;AAIA;AACO,MAAM,OAAO;AACpB,EAAE,cAAc;AAChB,EAAE,kBAAkB;AACpB,EAAE,sBAAsB;AACxB;;;;"}
@@ -0,0 +1,69 @@
1
+ import { withMonitor, captureException } from '@sentry/core';
2
+ import { replaceCronNames } from './common.js';
3
+
4
+ /**
5
+ * Wraps the `node-cron` library with check-in monitoring.
6
+ *
7
+ * ```ts
8
+ * import * as Sentry from "@sentry/node";
9
+ * import * as cron from "node-cron";
10
+ *
11
+ * const cronWithCheckIn = Sentry.cron.instrumentNodeCron(cron);
12
+ *
13
+ * cronWithCheckIn.schedule(
14
+ * "* * * * *",
15
+ * () => {
16
+ * console.log("running a task every minute");
17
+ * },
18
+ * { name: "my-cron-job" },
19
+ * );
20
+ * ```
21
+ */
22
+ function instrumentNodeCron(lib) {
23
+ return new Proxy(lib, {
24
+ get(target, prop) {
25
+ if (prop === 'schedule' && target.schedule) {
26
+ // When 'get' is called for schedule, return a proxied version of the schedule function
27
+ return new Proxy(target.schedule, {
28
+ apply(target, thisArg, argArray) {
29
+ const [expression, callback, options] = argArray;
30
+
31
+ const name = options?.name;
32
+ const timezone = options?.timezone;
33
+
34
+ if (!name) {
35
+ throw new Error('Missing "name" for scheduled job. A name is required for Sentry check-in monitoring.');
36
+ }
37
+
38
+ const monitoredCallback = async () => {
39
+ return withMonitor(
40
+ name,
41
+ async () => {
42
+ // We have to manually catch here and capture the exception because node-cron swallows errors
43
+ // https://github.com/node-cron/node-cron/issues/399
44
+ try {
45
+ return await callback();
46
+ } catch (e) {
47
+ captureException(e);
48
+ throw e;
49
+ }
50
+ },
51
+ {
52
+ schedule: { type: 'crontab', value: replaceCronNames(expression) },
53
+ timezone,
54
+ },
55
+ );
56
+ };
57
+
58
+ return target.apply(thisArg, [expression, monitoredCallback, options]);
59
+ },
60
+ });
61
+ } else {
62
+ return target[prop ];
63
+ }
64
+ },
65
+ });
66
+ }
67
+
68
+ export { instrumentNodeCron };
69
+ //# sourceMappingURL=node-cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-cron.js","sources":["../../../src/cron/node-cron.ts"],"sourcesContent":["import { captureException, withMonitor } from '@sentry/core';\nimport { replaceCronNames } from './common';\n\nexport interface NodeCronOptions {\n name: string;\n timezone?: string;\n}\n\nexport interface NodeCron {\n schedule: (cronExpression: string, callback: () => void, options: NodeCronOptions | undefined) => unknown;\n}\n\n/**\n * Wraps the `node-cron` library with check-in monitoring.\n *\n * ```ts\n * import * as Sentry from \"@sentry/node\";\n * import * as cron from \"node-cron\";\n *\n * const cronWithCheckIn = Sentry.cron.instrumentNodeCron(cron);\n *\n * cronWithCheckIn.schedule(\n * \"* * * * *\",\n * () => {\n * console.log(\"running a task every minute\");\n * },\n * { name: \"my-cron-job\" },\n * );\n * ```\n */\nexport function instrumentNodeCron<T>(lib: Partial<NodeCron> & T): T {\n return new Proxy(lib, {\n get(target, prop) {\n if (prop === 'schedule' && target.schedule) {\n // When 'get' is called for schedule, return a proxied version of the schedule function\n return new Proxy(target.schedule, {\n apply(target, thisArg, argArray: Parameters<NodeCron['schedule']>) {\n const [expression, callback, options] = argArray;\n\n const name = options?.name;\n const timezone = options?.timezone;\n\n if (!name) {\n throw new Error('Missing \"name\" for scheduled job. A name is required for Sentry check-in monitoring.');\n }\n\n const monitoredCallback = async (): Promise<void> => {\n return withMonitor(\n name,\n async () => {\n // We have to manually catch here and capture the exception because node-cron swallows errors\n // https://github.com/node-cron/node-cron/issues/399\n try {\n return await callback();\n } catch (e) {\n captureException(e);\n throw e;\n }\n },\n {\n schedule: { type: 'crontab', value: replaceCronNames(expression) },\n timezone,\n },\n );\n };\n\n return target.apply(thisArg, [expression, monitoredCallback, options]);\n },\n });\n } else {\n return target[prop as keyof T];\n }\n },\n });\n}\n"],"names":[],"mappings":";;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAI,GAAG,EAA4B;AACrE,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;AACxB,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE;AACtB,MAAM,IAAI,IAAK,KAAI,cAAc,MAAM,CAAC,QAAQ,EAAE;AAClD;AACA,QAAQ,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1C,UAAU,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAoC;AAC7E,YAAY,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAE,GAAE,QAAQ;;AAE5D,YAAY,MAAM,IAAA,GAAO,OAAO,EAAE,IAAI;AACtC,YAAY,MAAM,QAAA,GAAW,OAAO,EAAE,QAAQ;;AAE9C,YAAY,IAAI,CAAC,IAAI,EAAE;AACvB,cAAc,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC;AACrH;;AAEA,YAAY,MAAM,iBAAA,GAAoB,YAA2B;AACjE,cAAc,OAAO,WAAW;AAChC,gBAAgB,IAAI;AACpB,gBAAgB,YAAY;AAC5B;AACA;AACA,kBAAkB,IAAI;AACtB,oBAAoB,OAAO,MAAM,QAAQ,EAAE;AAC3C,mBAAoB,CAAA,OAAO,CAAC,EAAE;AAC9B,oBAAoB,gBAAgB,CAAC,CAAC,CAAC;AACvC,oBAAoB,MAAM,CAAC;AAC3B;AACA,iBAAiB;AACjB,gBAAgB;AAChB,kBAAkB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,CAAC,UAAU,GAAG;AACpF,kBAAkB,QAAQ;AAC1B,iBAAiB;AACjB,eAAe;AACf,aAAa;;AAEb,YAAY,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAClF,WAAW;AACX,SAAS,CAAC;AACV,aAAa;AACb,QAAQ,OAAO,MAAM,CAAC,IAAA,EAAgB;AACtC;AACA,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}