@sentry/node 8.0.0-alpha.1 → 8.0.0-alpha.3

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 (239) hide show
  1. package/README.md +14 -93
  2. package/cjs/index.js +3665 -77
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +3614 -31
  5. package/esm/index.js.map +1 -1
  6. package/esm/integrations/anr/worker-script.js +2 -2
  7. package/esm/package.json +1 -0
  8. package/package.json +21 -6
  9. package/types/index.d.ts +6 -5
  10. package/types/index.d.ts.map +1 -1
  11. package/types/integrations/anr/index.d.ts.map +1 -1
  12. package/types/integrations/anr/worker-script.d.ts +1 -1
  13. package/types/integrations/anr/worker-script.d.ts.map +1 -1
  14. package/types/integrations/http.d.ts +4 -0
  15. package/types/integrations/http.d.ts.map +1 -1
  16. package/types/integrations/local-variables/common.d.ts +1 -0
  17. package/types/integrations/local-variables/common.d.ts.map +1 -1
  18. package/types/integrations/local-variables/local-variables-sync.d.ts +1 -0
  19. package/types/integrations/local-variables/local-variables-sync.d.ts.map +1 -1
  20. package/types/integrations/tracing/fastify.d.ts +9 -0
  21. package/types/integrations/tracing/fastify.d.ts.map +1 -1
  22. package/types/integrations/tracing/hapi/index.d.ts.map +1 -1
  23. package/types/integrations/tracing/prisma.d.ts.map +1 -1
  24. package/types/proxy/helpers.d.ts +2 -2
  25. package/types/proxy/helpers.d.ts.map +1 -1
  26. package/types/proxy/index.d.ts.map +1 -1
  27. package/types/sdk/hub.d.ts.map +1 -1
  28. package/types/sdk/init.d.ts.map +1 -1
  29. package/types/transports/http-module.d.ts +2 -2
  30. package/types/transports/http-module.d.ts.map +1 -1
  31. package/types/types.d.ts +12 -4
  32. package/types/types.d.ts.map +1 -1
  33. package/types-ts3.8/index.d.ts +6 -5
  34. package/types-ts3.8/integrations/anr/worker-script.d.ts +1 -1
  35. package/types-ts3.8/integrations/http.d.ts +4 -0
  36. package/types-ts3.8/integrations/local-variables/common.d.ts +1 -0
  37. package/types-ts3.8/integrations/local-variables/local-variables-sync.d.ts +1 -0
  38. package/types-ts3.8/integrations/tracing/fastify.d.ts +9 -0
  39. package/types-ts3.8/proxy/helpers.d.ts +2 -2
  40. package/types-ts3.8/transports/http-module.d.ts +2 -2
  41. package/types-ts3.8/types.d.ts +12 -4
  42. package/cjs/cron/common.js +0 -56
  43. package/cjs/cron/common.js.map +0 -1
  44. package/cjs/cron/cron.js +0 -102
  45. package/cjs/cron/cron.js.map +0 -1
  46. package/cjs/cron/index.js +0 -15
  47. package/cjs/cron/index.js.map +0 -1
  48. package/cjs/cron/node-cron.js +0 -61
  49. package/cjs/cron/node-cron.js.map +0 -1
  50. package/cjs/cron/node-schedule.js +0 -57
  51. package/cjs/cron/node-schedule.js.map +0 -1
  52. package/cjs/debug-build.js +0 -11
  53. package/cjs/debug-build.js.map +0 -1
  54. package/cjs/integrations/anr/index.js +0 -145
  55. package/cjs/integrations/anr/index.js.map +0 -1
  56. package/cjs/integrations/anr/worker-script.js +0 -2
  57. package/cjs/integrations/anr/worker-script.js.map +0 -1
  58. package/cjs/integrations/console.js +0 -40
  59. package/cjs/integrations/console.js.map +0 -1
  60. package/cjs/integrations/context.js +0 -435
  61. package/cjs/integrations/context.js.map +0 -1
  62. package/cjs/integrations/contextlines.js +0 -137
  63. package/cjs/integrations/contextlines.js.map +0 -1
  64. package/cjs/integrations/http.js +0 -137
  65. package/cjs/integrations/http.js.map +0 -1
  66. package/cjs/integrations/local-variables/common.js +0 -87
  67. package/cjs/integrations/local-variables/common.js.map +0 -1
  68. package/cjs/integrations/local-variables/index.js +0 -8
  69. package/cjs/integrations/local-variables/index.js.map +0 -1
  70. package/cjs/integrations/local-variables/local-variables-sync.js +0 -400
  71. package/cjs/integrations/local-variables/local-variables-sync.js.map +0 -1
  72. package/cjs/integrations/modules.js +0 -99
  73. package/cjs/integrations/modules.js.map +0 -1
  74. package/cjs/integrations/node-fetch.js +0 -82
  75. package/cjs/integrations/node-fetch.js.map +0 -1
  76. package/cjs/integrations/onuncaughtexception.js +0 -137
  77. package/cjs/integrations/onuncaughtexception.js.map +0 -1
  78. package/cjs/integrations/onunhandledrejection.js +0 -90
  79. package/cjs/integrations/onunhandledrejection.js.map +0 -1
  80. package/cjs/integrations/spotlight.js +0 -109
  81. package/cjs/integrations/spotlight.js.map +0 -1
  82. package/cjs/integrations/tracing/express.js +0 -103
  83. package/cjs/integrations/tracing/express.js.map +0 -1
  84. package/cjs/integrations/tracing/fastify.js +0 -33
  85. package/cjs/integrations/tracing/fastify.js.map +0 -1
  86. package/cjs/integrations/tracing/graphql.js +0 -34
  87. package/cjs/integrations/tracing/graphql.js.map +0 -1
  88. package/cjs/integrations/tracing/hapi/index.js +0 -81
  89. package/cjs/integrations/tracing/hapi/index.js.map +0 -1
  90. package/cjs/integrations/tracing/index.js +0 -37
  91. package/cjs/integrations/tracing/index.js.map +0 -1
  92. package/cjs/integrations/tracing/koa.js +0 -21
  93. package/cjs/integrations/tracing/koa.js.map +0 -1
  94. package/cjs/integrations/tracing/mongo.js +0 -33
  95. package/cjs/integrations/tracing/mongo.js.map +0 -1
  96. package/cjs/integrations/tracing/mongoose.js +0 -33
  97. package/cjs/integrations/tracing/mongoose.js.map +0 -1
  98. package/cjs/integrations/tracing/mysql.js +0 -26
  99. package/cjs/integrations/tracing/mysql.js.map +0 -1
  100. package/cjs/integrations/tracing/mysql2.js +0 -33
  101. package/cjs/integrations/tracing/mysql2.js.map +0 -1
  102. package/cjs/integrations/tracing/nest.js +0 -26
  103. package/cjs/integrations/tracing/nest.js.map +0 -1
  104. package/cjs/integrations/tracing/postgres.js +0 -34
  105. package/cjs/integrations/tracing/postgres.js.map +0 -1
  106. package/cjs/integrations/tracing/prisma.js +0 -33
  107. package/cjs/integrations/tracing/prisma.js.map +0 -1
  108. package/cjs/nodeVersion.js +0 -12
  109. package/cjs/nodeVersion.js.map +0 -1
  110. package/cjs/otel/contextManager.js +0 -16
  111. package/cjs/otel/contextManager.js.map +0 -1
  112. package/cjs/proxy/base.js +0 -126
  113. package/cjs/proxy/base.js.map +0 -1
  114. package/cjs/proxy/index.js +0 -209
  115. package/cjs/proxy/index.js.map +0 -1
  116. package/cjs/proxy/parse-proxy-response.js +0 -104
  117. package/cjs/proxy/parse-proxy-response.js.map +0 -1
  118. package/cjs/sdk/api.js +0 -74
  119. package/cjs/sdk/api.js.map +0 -1
  120. package/cjs/sdk/client.js +0 -57
  121. package/cjs/sdk/client.js.map +0 -1
  122. package/cjs/sdk/hub.js +0 -104
  123. package/cjs/sdk/hub.js.map +0 -1
  124. package/cjs/sdk/init.js +0 -224
  125. package/cjs/sdk/init.js.map +0 -1
  126. package/cjs/sdk/initOtel.js +0 -70
  127. package/cjs/sdk/initOtel.js.map +0 -1
  128. package/cjs/sdk/scope.js +0 -18
  129. package/cjs/sdk/scope.js.map +0 -1
  130. package/cjs/transports/http.js +0 -160
  131. package/cjs/transports/http.js.map +0 -1
  132. package/cjs/utils/addOriginToSpan.js +0 -11
  133. package/cjs/utils/addOriginToSpan.js.map +0 -1
  134. package/cjs/utils/errorhandling.js +0 -44
  135. package/cjs/utils/errorhandling.js.map +0 -1
  136. package/cjs/utils/getRequestUrl.js +0 -18
  137. package/cjs/utils/getRequestUrl.js.map +0 -1
  138. package/cjs/utils/module.js +0 -62
  139. package/cjs/utils/module.js.map +0 -1
  140. package/esm/cron/common.js +0 -54
  141. package/esm/cron/common.js.map +0 -1
  142. package/esm/cron/cron.js +0 -100
  143. package/esm/cron/cron.js.map +0 -1
  144. package/esm/cron/index.js +0 -13
  145. package/esm/cron/index.js.map +0 -1
  146. package/esm/cron/node-cron.js +0 -56
  147. package/esm/cron/node-cron.js.map +0 -1
  148. package/esm/cron/node-schedule.js +0 -55
  149. package/esm/cron/node-schedule.js.map +0 -1
  150. package/esm/debug-build.js +0 -9
  151. package/esm/debug-build.js.map +0 -1
  152. package/esm/integrations/anr/index.js +0 -139
  153. package/esm/integrations/anr/index.js.map +0 -1
  154. package/esm/integrations/anr/worker-script.js.map +0 -1
  155. package/esm/integrations/console.js +0 -38
  156. package/esm/integrations/console.js.map +0 -1
  157. package/esm/integrations/context.js +0 -427
  158. package/esm/integrations/context.js.map +0 -1
  159. package/esm/integrations/contextlines.js +0 -131
  160. package/esm/integrations/contextlines.js.map +0 -1
  161. package/esm/integrations/http.js +0 -132
  162. package/esm/integrations/http.js.map +0 -1
  163. package/esm/integrations/local-variables/common.js +0 -81
  164. package/esm/integrations/local-variables/common.js.map +0 -1
  165. package/esm/integrations/local-variables/index.js +0 -6
  166. package/esm/integrations/local-variables/index.js.map +0 -1
  167. package/esm/integrations/local-variables/local-variables-sync.js +0 -394
  168. package/esm/integrations/local-variables/local-variables-sync.js.map +0 -1
  169. package/esm/integrations/modules.js +0 -97
  170. package/esm/integrations/modules.js.map +0 -1
  171. package/esm/integrations/node-fetch.js +0 -80
  172. package/esm/integrations/node-fetch.js.map +0 -1
  173. package/esm/integrations/onuncaughtexception.js +0 -134
  174. package/esm/integrations/onuncaughtexception.js.map +0 -1
  175. package/esm/integrations/onunhandledrejection.js +0 -87
  176. package/esm/integrations/onunhandledrejection.js.map +0 -1
  177. package/esm/integrations/spotlight.js +0 -106
  178. package/esm/integrations/spotlight.js.map +0 -1
  179. package/esm/integrations/tracing/express.js +0 -96
  180. package/esm/integrations/tracing/express.js.map +0 -1
  181. package/esm/integrations/tracing/fastify.js +0 -31
  182. package/esm/integrations/tracing/fastify.js.map +0 -1
  183. package/esm/integrations/tracing/graphql.js +0 -32
  184. package/esm/integrations/tracing/graphql.js.map +0 -1
  185. package/esm/integrations/tracing/hapi/index.js +0 -77
  186. package/esm/integrations/tracing/hapi/index.js.map +0 -1
  187. package/esm/integrations/tracing/index.js +0 -35
  188. package/esm/integrations/tracing/index.js.map +0 -1
  189. package/esm/integrations/tracing/koa.js +0 -19
  190. package/esm/integrations/tracing/koa.js.map +0 -1
  191. package/esm/integrations/tracing/mongo.js +0 -31
  192. package/esm/integrations/tracing/mongo.js.map +0 -1
  193. package/esm/integrations/tracing/mongoose.js +0 -31
  194. package/esm/integrations/tracing/mongoose.js.map +0 -1
  195. package/esm/integrations/tracing/mysql.js +0 -24
  196. package/esm/integrations/tracing/mysql.js.map +0 -1
  197. package/esm/integrations/tracing/mysql2.js +0 -31
  198. package/esm/integrations/tracing/mysql2.js.map +0 -1
  199. package/esm/integrations/tracing/nest.js +0 -24
  200. package/esm/integrations/tracing/nest.js.map +0 -1
  201. package/esm/integrations/tracing/postgres.js +0 -32
  202. package/esm/integrations/tracing/postgres.js.map +0 -1
  203. package/esm/integrations/tracing/prisma.js +0 -31
  204. package/esm/integrations/tracing/prisma.js.map +0 -1
  205. package/esm/nodeVersion.js +0 -9
  206. package/esm/nodeVersion.js.map +0 -1
  207. package/esm/otel/contextManager.js +0 -14
  208. package/esm/otel/contextManager.js.map +0 -1
  209. package/esm/proxy/base.js +0 -121
  210. package/esm/proxy/base.js.map +0 -1
  211. package/esm/proxy/index.js +0 -203
  212. package/esm/proxy/index.js.map +0 -1
  213. package/esm/proxy/parse-proxy-response.js +0 -102
  214. package/esm/proxy/parse-proxy-response.js.map +0 -1
  215. package/esm/sdk/api.js +0 -69
  216. package/esm/sdk/api.js.map +0 -1
  217. package/esm/sdk/client.js +0 -52
  218. package/esm/sdk/client.js.map +0 -1
  219. package/esm/sdk/hub.js +0 -102
  220. package/esm/sdk/hub.js.map +0 -1
  221. package/esm/sdk/init.js +0 -221
  222. package/esm/sdk/init.js.map +0 -1
  223. package/esm/sdk/initOtel.js +0 -67
  224. package/esm/sdk/initOtel.js.map +0 -1
  225. package/esm/sdk/scope.js +0 -16
  226. package/esm/sdk/scope.js.map +0 -1
  227. package/esm/transports/http.js +0 -155
  228. package/esm/transports/http.js.map +0 -1
  229. package/esm/utils/addOriginToSpan.js +0 -9
  230. package/esm/utils/addOriginToSpan.js.map +0 -1
  231. package/esm/utils/errorhandling.js +0 -42
  232. package/esm/utils/errorhandling.js.map +0 -1
  233. package/esm/utils/getRequestUrl.js +0 -16
  234. package/esm/utils/getRequestUrl.js.map +0 -1
  235. package/esm/utils/module.js +0 -60
  236. package/esm/utils/module.js.map +0 -1
  237. package/types/integrations/local-variables/local-variables-async.d.ts +0 -14
  238. package/types/integrations/local-variables/local-variables-async.d.ts.map +0 -1
  239. package/types-ts3.8/integrations/local-variables/local-variables-async.d.ts +0 -14
package/README.md CHANGED
@@ -4,36 +4,28 @@
4
4
  </a>
5
5
  </p>
6
6
 
7
- # Official Sentry SDK for Node (EXPERIMENTAL)
7
+ # Official Sentry SDK for Node
8
8
 
9
- [![npm version](https://img.shields.io/npm/v/@sentry/node-experimental.svg)](https://www.npmjs.com/package/@sentry/node-experimental)
10
- [![npm dm](https://img.shields.io/npm/dm/@sentry/node-experimental.svg)](https://www.npmjs.com/package/@sentry/node-experimental)
11
- [![npm dt](https://img.shields.io/npm/dt/@sentry/node-experimental.svg)](https://www.npmjs.com/package/@sentry/node-experimental)
12
-
13
- This is a WIP, proof of concept implementation of a Node SDK that uses OpenTelemetry for performance instrumentation under the hood.
14
-
15
- THIS MAY/WILL BREAK IN MANY UNEXPECTED WAYS. We may remove, add, change any of the integrations, add/remove any exports, etc.
16
- This package is **NOT READY TO USE IN ANY FORM OF PRODUCTION ENVIRONMENT**!
17
-
18
- This SDK is **considered experimental and in an alpha state**. It may experience breaking changes, and may be discontinued at any time. Please reach out on
19
- [GitHub](https://github.com/getsentry/sentry-javascript/issues/new/choose) if you have any feedback/concerns.
9
+ [![npm version](https://img.shields.io/npm/v/@sentry/node.svg)](https://www.npmjs.com/package/@sentry/node)
10
+ [![npm dm](https://img.shields.io/npm/dm/@sentry/node.svg)](https://www.npmjs.com/package/@sentry/node)
11
+ [![npm dt](https://img.shields.io/npm/dt/@sentry/node.svg)](https://www.npmjs.com/package/@sentry/node)
20
12
 
21
13
  ## Installation
22
14
 
23
15
  ```bash
24
- npm install @sentry/node-experimental
16
+ npm install @sentry/node
25
17
 
26
18
  # Or yarn
27
- yarn add @sentry/node-experimental
19
+ yarn add @sentry/node
28
20
  ```
29
21
 
30
22
  ## Usage
31
23
 
32
24
  ```js
33
25
  // CJS Syntax
34
- const Sentry = require('@sentry/node-experimental');
26
+ const Sentry = require('@sentry/node');
35
27
  // ESM Syntax
36
- import * as Sentry from '@sentry/node-experimental';
28
+ import * as Sentry from '@sentry/node';
37
29
 
38
30
  Sentry.init({
39
31
  dsn: '__DSN__',
@@ -43,65 +35,12 @@ Sentry.init({
43
35
 
44
36
  Note that it is necessary to initialize Sentry **before you import any package that may be instrumented by us**.
45
37
 
46
- ## Status of this Experiment
47
-
48
- Currently, this SDK:
49
-
50
- * Will capture errors (same as @sentry/node)
51
- * Auto-instrument for performance - see below for which performance integrations are available.
52
- * Provide _some_ manual instrumentation APIs
53
- * Sync OpenTelemetry Context with our Sentry Hub/Scope
54
-
55
- ### Manual Instrumentation
56
-
57
- You can manual instrument using the following APIs:
58
-
59
- ```js
60
- const Sentry = require('@sentry/node-experimental');
61
-
62
- Sentry.startSpan({ description: 'outer' }, function (span) {
63
- span.setData(customData);
64
- doSomethingSlow();
65
- Sentry.startSpan({ description: 'inner' }, function() {
66
- // inner span is a child of outer span
67
- doSomethingVerySlow();
68
- // inner span is auto-ended when this callback ends
69
- });
70
- // outer span is auto-ended when this callback ends
71
- });
72
- ```
73
-
74
- You can also create spans without marking them as the active span.
75
- Note that for most scenarios, we recommend the `startSpan` syntax.
76
-
77
- ```js
78
- const Sentry = require('@sentry/node-experimental');
79
-
80
- // This will _not_ be put on the scope/set as active, so no other spans will be attached to it
81
- const span = Sentry.startInactiveSpan({ description: 'non-active span' });
82
-
83
- doSomethingSlow();
84
-
85
- span.end();
86
- ```
87
-
88
- Finally you can also get the currently active span, if you need to do more with it:
89
-
90
- ```js
91
- const Sentry = require('@sentry/node-experimental');
92
- const span = Sentry.getActiveSpan();
93
- ```
94
-
95
- ### Async Context
96
-
97
- We leverage the OpenTelemetry context forking in order to ensure isolation of parallel requests.
98
- This means that as long as you are using an OpenTelemetry instrumentation for your framework of choice
99
- (currently: Express or Fastify), you do not need to setup any `requestHandler` or similar.
38
+ [More information on how to set up Sentry for Node in v8.](./../../docs/v8-node.md)
100
39
 
101
40
  ### ESM Support
102
41
 
103
- Due to the way OpenTelemetry handles instrumentation, this only works out of the box for CommonJS (`require`) applications.
104
-
42
+ Due to the way OpenTelemetry handles instrumentation, this only works out of the box for CommonJS (`require`)
43
+ applications.
105
44
 
106
45
  There is experimental support for running OpenTelemetry with ESM (`"type": "module"`):
107
46
 
@@ -111,27 +50,9 @@ node --experimental-loader=@opentelemetry/instrumentation/hook.mjs ./app.js
111
50
 
112
51
  You'll need to install `@opentelemetry/instrumentation` in your app to ensure this works.
113
52
 
114
- See [OpenTelemetry Instrumentation Docs](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation#instrumentation-for-es-modules-in-nodejs-experimental) for details on this -
115
- but note that this is a) experimental, and b) does not work with all integrations.
116
-
117
-
118
- ## Available (Performance) Integrations
119
-
120
- * Http
121
- * Express
122
- * Fastify
123
- * Nest
124
- * Mysql
125
- * Mysql2
126
- * GraphQL
127
- * Mongo
128
- * Mongoose
129
- * Postgres
130
- * Prisma
131
-
132
- All of these are auto-discovered, you don't need to configure anything for performance.
133
- You still need to register middlewares etc. for error capturing.
134
- Other, non-performance integrations from `@sentry/node` are also available (except for Undici).
53
+ See
54
+ [OpenTelemetry Instrumentation Docs](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation#instrumentation-for-es-modules-in-nodejs-experimental)
55
+ for details on this - but note that this is a) experimental, and b) does not work with all integrations.
135
56
 
136
57
  ## Links
137
58