|
7 | 7 | Integrations as CoreIntegrations,
|
8 | 8 | setHubOnCarrier,
|
9 | 9 | } from '@sentry/core';
|
10 |
| -import { SessionStatus, StackParser } from '@sentry/types'; |
| 10 | +import { Integration, SessionStatus, StackParser } from '@sentry/types'; |
11 | 11 | import {
|
12 | 12 | createStackParser,
|
13 | 13 | dynamicRequire,
|
@@ -109,29 +109,11 @@ export const defaultIntegrations = [
|
109 | 109 | *
|
110 | 110 | * @see {@link NodeOptions} for documentation on configuration options.
|
111 | 111 | */
|
112 |
| -// eslint-disable-next-line complexity |
113 | 112 | export function init(options: NodeOptions = {}): void {
|
114 | 113 | const carrier = getMainCarrier();
|
115 | 114 | const autoloadedIntegrations = carrier.__SENTRY__?.integrations || [];
|
116 | 115 |
|
117 |
| - options.defaultIntegrations = |
118 |
| - options.defaultIntegrations === false |
119 |
| - ? [] |
120 |
| - : [ |
121 |
| - ...(Array.isArray(options.defaultIntegrations) ? options.defaultIntegrations : defaultIntegrations), |
122 |
| - ...autoloadedIntegrations, |
123 |
| - ]; |
124 |
| - |
125 |
| - const nodeVersion = parseSemver(process.versions.node); |
126 |
| - |
127 |
| - if (options.includeStackLocals && (nodeVersion.major || 0) >= 14) { |
128 |
| - const { LocalVariables } = dynamicRequire( |
129 |
| - module, |
130 |
| - './integrations/localvariables', |
131 |
| - ) as typeof import('./integrations/localvariables'); |
132 |
| - |
133 |
| - options.defaultIntegrations.push(new LocalVariables()); |
134 |
| - } |
| 116 | + options.defaultIntegrations = getDefaultIntegrations(options, autoloadedIntegrations); |
135 | 117 |
|
136 | 118 | if (options.dsn === undefined && process.env.SENTRY_DSN) {
|
137 | 119 | options.dsn = process.env.SENTRY_DSN;
|
@@ -186,6 +168,29 @@ export function init(options: NodeOptions = {}): void {
|
186 | 168 | }
|
187 | 169 | }
|
188 | 170 |
|
| 171 | +function getDefaultIntegrations(options: NodeOptions, autoloadedIntegrations: Integration[]): Integration[] { |
| 172 | + const integrations = |
| 173 | + options.defaultIntegrations === false |
| 174 | + ? [] |
| 175 | + : [ |
| 176 | + ...(Array.isArray(options.defaultIntegrations) ? options.defaultIntegrations : defaultIntegrations), |
| 177 | + ...autoloadedIntegrations, |
| 178 | + ]; |
| 179 | + |
| 180 | + const nodeVersion = parseSemver(process.versions.node); |
| 181 | + |
| 182 | + if (options.includeStackLocals && (nodeVersion.major || 0) >= 14) { |
| 183 | + const { LocalVariables } = dynamicRequire( |
| 184 | + module, |
| 185 | + './integrations/localvariables', |
| 186 | + ) as typeof import('./integrations/localvariables'); |
| 187 | + |
| 188 | + integrations.push(new LocalVariables()); |
| 189 | + } |
| 190 | + |
| 191 | + return integrations; |
| 192 | +} |
| 193 | + |
189 | 194 | /**
|
190 | 195 | * This is the getter for lastEventId.
|
191 | 196 | *
|
|
0 commit comments