sentry-vir 2.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/LICENSE-MIT +1 -1
  2. package/README.md +3 -6
  3. package/dist/{cjs/auto.d.ts → auto.d.ts} +2 -2
  4. package/dist/{esm/auto.js → auto.js} +2 -2
  5. package/dist/{esm/browser.d.ts → browser.d.ts} +2 -2
  6. package/dist/{esm/browser.js → browser.js} +2 -2
  7. package/dist/{esm/event-context → event-context}/event-context.d.ts +2 -2
  8. package/dist/event-context/event-severity.d.ts +15 -0
  9. package/dist/{esm/event-context → event-context}/event-severity.js +3 -2
  10. package/dist/{cjs/event-context → event-context}/extra-context.error.d.ts +4 -7
  11. package/dist/{esm/event-context → event-context}/extra-context.error.js +4 -14
  12. package/dist/{esm/event-context → event-context}/extra-event-context.d.ts +2 -2
  13. package/dist/{esm/event-context → event-context}/extra-event-context.js +3 -3
  14. package/dist/index.d.ts +13 -0
  15. package/dist/index.js +13 -0
  16. package/dist/{cjs/init-sentry → init-sentry}/base-sentry-init.d.ts +4 -4
  17. package/dist/{esm/init-sentry → init-sentry}/base-sentry-init.js +4 -4
  18. package/dist/{cjs/init-sentry → init-sentry}/sentry-config.d.ts +3 -3
  19. package/dist/{esm/init-sentry → init-sentry}/sentry-config.js +4 -4
  20. package/dist/{cjs/logging → logging}/attach-tags.d.ts +1 -1
  21. package/dist/{esm/logging → logging}/attach-tags.js +2 -2
  22. package/dist/{cjs/logging → logging}/handle-error.d.ts +1 -1
  23. package/dist/{esm/logging → logging}/handle-error.js +5 -5
  24. package/dist/{cjs/logging → logging}/premature-events.d.ts +1 -1
  25. package/dist/{esm/logging → logging}/send-log.d.ts +2 -2
  26. package/dist/{esm/logging → logging}/send-log.js +10 -10
  27. package/dist/{esm/logging → logging}/sentry-client-for-logging.d.ts +2 -2
  28. package/dist/{esm/logging → logging}/sentry-client-for-logging.js +1 -1
  29. package/dist/{cjs/node.d.ts → node.d.ts} +2 -2
  30. package/dist/{esm/node.js → node.js} +2 -2
  31. package/dist/{cjs/processing → processing}/event-processor.d.ts +2 -2
  32. package/dist/{esm/processing → processing}/event-processor.js +3 -3
  33. package/dist/{cjs/processing → processing}/handle-sentry-send.d.ts +2 -2
  34. package/dist/{esm/processing → processing}/handle-sentry-send.js +1 -1
  35. package/dist/{esm/processing → processing}/log-to-console.d.ts +3 -3
  36. package/dist/{esm/processing → processing}/log-to-console.js +13 -11
  37. package/package.json +62 -44
  38. package/dist/cjs/auto.js +0 -62
  39. package/dist/cjs/browser.d.ts +0 -10
  40. package/dist/cjs/browser.js +0 -49
  41. package/dist/cjs/env/execution-env.js +0 -9
  42. package/dist/cjs/event-context/event-context.d.ts +0 -24
  43. package/dist/cjs/event-context/event-context.js +0 -19
  44. package/dist/cjs/event-context/event-severity.d.ts +0 -41
  45. package/dist/cjs/event-context/event-severity.js +0 -34
  46. package/dist/cjs/event-context/extra-context.error.js +0 -43
  47. package/dist/cjs/event-context/extra-event-context.d.ts +0 -23
  48. package/dist/cjs/event-context/extra-event-context.js +0 -52
  49. package/dist/cjs/index.d.ts +0 -13
  50. package/dist/cjs/index.js +0 -29
  51. package/dist/cjs/init-sentry/base-sentry-init.js +0 -24
  52. package/dist/cjs/init-sentry/sentry-config.js +0 -52
  53. package/dist/cjs/logging/attach-tags.js +0 -20
  54. package/dist/cjs/logging/handle-error.js +0 -45
  55. package/dist/cjs/logging/premature-events.js +0 -27
  56. package/dist/cjs/logging/send-log.d.ts +0 -13
  57. package/dist/cjs/logging/send-log.js +0 -62
  58. package/dist/cjs/logging/sentry-client-for-logging.d.ts +0 -17
  59. package/dist/cjs/logging/sentry-client-for-logging.js +0 -22
  60. package/dist/cjs/node.js +0 -49
  61. package/dist/cjs/processing/event-processor.js +0 -41
  62. package/dist/cjs/processing/handle-sentry-send.js +0 -22
  63. package/dist/cjs/processing/log-to-console.d.ts +0 -20
  64. package/dist/cjs/processing/log-to-console.js +0 -49
  65. package/dist/esm/auto.d.ts +0 -15
  66. package/dist/esm/env/execution-env.d.ts +0 -13
  67. package/dist/esm/event-context/event-severity.d.ts +0 -41
  68. package/dist/esm/event-context/extra-context.error.d.ts +0 -24
  69. package/dist/esm/index.d.ts +0 -13
  70. package/dist/esm/index.js +0 -13
  71. package/dist/esm/init-sentry/base-sentry-init.d.ts +0 -39
  72. package/dist/esm/init-sentry/sentry-config.d.ts +0 -10
  73. package/dist/esm/logging/attach-tags.d.ts +0 -5
  74. package/dist/esm/logging/handle-error.d.ts +0 -3
  75. package/dist/esm/logging/premature-events.d.ts +0 -3
  76. package/dist/esm/node.d.ts +0 -10
  77. package/dist/esm/processing/event-processor.d.ts +0 -16
  78. package/dist/esm/processing/handle-sentry-send.d.ts +0 -6
  79. /package/dist/{cjs/env → env}/execution-env.d.ts +0 -0
  80. /package/dist/{esm/env → env}/execution-env.js +0 -0
  81. /package/dist/{esm/event-context → event-context}/event-context.js +0 -0
  82. /package/dist/{esm/logging → logging}/premature-events.js +0 -0
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.attachSentryTags = void 0;
4
- const premature_events_1 = require("./premature-events");
5
- const sentry_client_for_logging_1 = require("./sentry-client-for-logging");
6
- /** Set tags for all future Sentry event handling (errors and logs). */
7
- function attachSentryTags(tags) {
8
- try {
9
- if (!sentry_client_for_logging_1.sentryClientForLogging) {
10
- (0, premature_events_1.addPrematureEvent)(attachSentryTags, [tags]);
11
- return;
12
- }
13
- sentry_client_for_logging_1.sentryClientForLogging.setTags(tags);
14
- }
15
- catch (caught) {
16
- console.error('Error while trying to attach Sentry tags:', caught);
17
- return undefined;
18
- }
19
- }
20
- exports.attachSentryTags = attachSentryTags;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleError = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- const event_context_1 = require("../event-context/event-context");
6
- const event_severity_1 = require("../event-context/event-severity");
7
- const log_to_console_1 = require("../processing/log-to-console");
8
- const premature_events_1 = require("./premature-events");
9
- const sentry_client_for_logging_1 = require("./sentry-client-for-logging");
10
- /** Record an error to Sentry without throwing it. */
11
- function handleError(error, extraContext) {
12
- return internalHandleError(error, extraContext, {
13
- wasSentPrematurely: false,
14
- });
15
- }
16
- exports.handleError = handleError;
17
- function internalHandleError(error, extraContext, options) {
18
- try {
19
- if (!sentry_client_for_logging_1.sentryClientForLogging) {
20
- (0, log_to_console_1.logToConsoleWithoutSentry)(event_severity_1.EventSeverityEnum.Error, log_to_console_1.LoggingState.NoSentryYet, {
21
- message: (0, common_1.extractErrorMessage)(error),
22
- event: undefined,
23
- extra: extraContext,
24
- hint: undefined,
25
- originalException: error,
26
- });
27
- (0, premature_events_1.addPrematureEvent)(internalHandleError, [
28
- error,
29
- extraContext,
30
- { wasSentPrematurely: true },
31
- ]);
32
- return undefined;
33
- }
34
- const scopeContext = (0, event_context_1.convertEventDetailsToSentryContext)({
35
- extraContext,
36
- severity: event_severity_1.EventSeverityEnum.Error,
37
- }, options);
38
- const eventId = sentry_client_for_logging_1.sentryClientForLogging.captureException(error, scopeContext);
39
- return eventId;
40
- }
41
- catch (caught) {
42
- console.error('Error while trying to handle error with Sentry:', caught);
43
- return undefined;
44
- }
45
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addPrematureEvent = exports.sendPrematureEvents = void 0;
4
- /**
5
- * Used to store events before the Sentry client is setup. This is exported for testing purposes
6
- * only, you don't need to do anything with this.
7
- */
8
- const prematureSentryEvents = [];
9
- function sendPrematureEvents() {
10
- while (prematureSentryEvents.length) {
11
- try {
12
- const prematureEvent = prematureSentryEvents.pop();
13
- if (!prematureEvent) {
14
- return;
15
- }
16
- prematureEvent.callback(...prematureEvent.inputs);
17
- }
18
- catch (caught) {
19
- console.error('error while trying to send premature sentry events:', caught);
20
- }
21
- }
22
- }
23
- exports.sendPrematureEvents = sendPrematureEvents;
24
- function addPrematureEvent(callback, inputs) {
25
- prematureSentryEvents.push({ callback, inputs });
26
- }
27
- exports.addPrematureEvent = addPrematureEvent;
@@ -1,13 +0,0 @@
1
- import { Event as SentryEvent } from '@sentry/types';
2
- import { ContextOptions, EventDetails, EventExtraContext } from '../event-context/event-context';
3
- /** Send non-error events to Sentry. */
4
- export declare const sendLog: {
5
- /** Sends an even to Sentry with debug severity. */
6
- readonly debug: (info: Parameters<typeof sendLogToSentry>[0], extraContext?: EventExtraContext) => string | undefined;
7
- /** Sends an even to Sentry with info severity. */
8
- readonly info: (info: Parameters<typeof sendLogToSentry>[0], extraContext?: EventExtraContext) => string | undefined;
9
- /** Sends an even to Sentry with warning severity. */
10
- readonly warning: (info: Parameters<typeof sendLogToSentry>[0], extraContext?: EventExtraContext) => string | undefined;
11
- };
12
- declare function sendLogToSentry(logInfo: string | Omit<SentryEvent, 'extra' | 'level'>, eventDetails: EventDetails, options: ContextOptions): string | undefined;
13
- export {};
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendLog = void 0;
4
- const run_time_assertions_1 = require("run-time-assertions");
5
- const event_context_1 = require("../event-context/event-context");
6
- const event_severity_1 = require("../event-context/event-severity");
7
- const event_processor_1 = require("../processing/event-processor");
8
- const log_to_console_1 = require("../processing/log-to-console");
9
- const premature_events_1 = require("./premature-events");
10
- const sentry_client_for_logging_1 = require("./sentry-client-for-logging");
11
- /** Send non-error events to Sentry. */
12
- exports.sendLog = {
13
- /** Sends an even to Sentry with debug severity. */
14
- [event_severity_1.EventSeverityEnum.Debug]: wrapLogWithSeverity(event_severity_1.EventSeverityEnum.Debug),
15
- /** Sends an even to Sentry with info severity. */
16
- [event_severity_1.EventSeverityEnum.Info]: wrapLogWithSeverity(event_severity_1.EventSeverityEnum.Info),
17
- /** Sends an even to Sentry with warning severity. */
18
- [event_severity_1.EventSeverityEnum.Warning]: wrapLogWithSeverity(event_severity_1.EventSeverityEnum.Warning),
19
- };
20
- function wrapLogWithSeverity(severity) {
21
- return (info, extraContext) => {
22
- return sendLogToSentry(info, {
23
- extraContext,
24
- severity,
25
- }, {
26
- wasSentPrematurely: false,
27
- });
28
- };
29
- }
30
- function sendLogToSentry(logInfo, eventDetails, options) {
31
- try {
32
- if (!sentry_client_for_logging_1.sentryClientForLogging) {
33
- (0, log_to_console_1.logToConsoleWithoutSentry)(eventDetails.severity, log_to_console_1.LoggingState.NoSentryYet, {
34
- message: (0, run_time_assertions_1.isRunTimeType)(logInfo, 'string')
35
- ? logInfo
36
- : (0, event_processor_1.extractOriginalMessage)(logInfo, undefined),
37
- event: (0, run_time_assertions_1.isRunTimeType)(logInfo, 'string') ? undefined : logInfo,
38
- extra: eventDetails.extraContext,
39
- hint: undefined,
40
- originalException: undefined,
41
- });
42
- (0, premature_events_1.addPrematureEvent)(sendLogToSentry, [
43
- logInfo,
44
- eventDetails,
45
- { wasSentPrematurely: true },
46
- ]);
47
- return undefined;
48
- }
49
- const scopeContext = (0, event_context_1.convertEventDetailsToSentryContext)(eventDetails, options);
50
- const eventId = (0, run_time_assertions_1.isRunTimeType)(logInfo, 'string')
51
- ? sentry_client_for_logging_1.sentryClientForLogging.captureMessage(logInfo, scopeContext)
52
- : sentry_client_for_logging_1.sentryClientForLogging.captureEvent({
53
- ...logInfo,
54
- ...scopeContext,
55
- });
56
- return eventId;
57
- }
58
- catch (caught) {
59
- console.error('Error while trying to send Sentry log:', caught);
60
- return undefined;
61
- }
62
- }
@@ -1,17 +0,0 @@
1
- import { MaybePromise } from '@augment-vir/common';
2
- import { SentryDep } from '../env/execution-env';
3
- /** The bare minimum Sentry client needed for logging events. */
4
- export type SentryClientForLogging = Pick<SentryDep, 'captureMessage' | 'captureException' | 'captureEvent' | 'setTags'>;
5
- /** Internal sentry client used for logging. */
6
- export declare let sentryClientForLogging: SentryClientForLogging | undefined;
7
- /**
8
- * Asynchronously set the Sentry client for logging. When this is called, any events that were
9
- * triggered beforehand are handled. Thus, this set can be done at any time, allowing for
10
- * asynchronous Sentry client setup but synchronous log and error handling.
11
- *
12
- * This should be called as soon as possible after you have a return value from initSentry.
13
- *
14
- * This can be safely called multiple times (to overwrite the previously set Sentry client) because
15
- * previous events won't be handled multiple times.
16
- */
17
- export declare function setSentryClientForLogging(client: MaybePromise<SentryClientForLogging>): Promise<void>;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setSentryClientForLogging = exports.sentryClientForLogging = void 0;
4
- const premature_events_1 = require("./premature-events");
5
- /**
6
- * Asynchronously set the Sentry client for logging. When this is called, any events that were
7
- * triggered beforehand are handled. Thus, this set can be done at any time, allowing for
8
- * asynchronous Sentry client setup but synchronous log and error handling.
9
- *
10
- * This should be called as soon as possible after you have a return value from initSentry.
11
- *
12
- * This can be safely called multiple times (to overwrite the previously set Sentry client) because
13
- * previous events won't be handled multiple times.
14
- */
15
- async function setSentryClientForLogging(client) {
16
- const hadClientBefore = !!exports.sentryClientForLogging;
17
- exports.sentryClientForLogging = await client;
18
- if (!hadClientBefore) {
19
- (0, premature_events_1.sendPrematureEvents)();
20
- }
21
- }
22
- exports.setSentryClientForLogging = setSentryClientForLogging;
package/dist/cjs/node.js DELETED
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.initSentry = void 0;
27
- const execution_env_1 = require("./env/execution-env");
28
- const base_sentry_init_1 = require("./init-sentry/base-sentry-init");
29
- /**
30
- * Base Sentry init. Requires the Sentry module to already have been imported. Setup a sentry client
31
- * with all the default sentry-vir integrations and configs.
32
- *
33
- * To override any default sentry-vir settings, include them in the userConfig input.
34
- */
35
- async function initSentry({ dsn, releaseEnv, releaseName, sentryConfigOverrides, createUniversalContext, isDev, }) {
36
- const sentryDep = await Promise.resolve().then(() => __importStar(require('@sentry/node')));
37
- await (0, base_sentry_init_1.baseInitSentry)({
38
- dsn,
39
- releaseEnv,
40
- releaseName,
41
- sentryConfigOverrides,
42
- createUniversalContext,
43
- sentryDep,
44
- executionEnv: execution_env_1.SentryExecutionEnvEnum.Node,
45
- isDev,
46
- });
47
- return sentryDep;
48
- }
49
- exports.initSentry = initSentry;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractOriginalMessage = exports.processSentryEvent = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- const event_context_1 = require("../event-context/event-context");
6
- const event_severity_1 = require("../event-context/event-severity");
7
- const extra_event_context_1 = require("../event-context/extra-event-context");
8
- /** Attach extra event data for a sentry event. */
9
- function processSentryEvent(
10
- /** Event from Sentry. */
11
- event,
12
- /** EventHint generated by Sentry. */
13
- hint,
14
- /** Optional callback for creating extra event context. */
15
- createUniversalContext) {
16
- const extraContext = {
17
- ...(0, extra_event_context_1.extractExtraEventContext)(hint),
18
- ...(0, extra_event_context_1.extractExtraEventContext)(event),
19
- ...createUniversalContext?.(),
20
- originalFullMessage: event.message || (0, common_1.extractErrorMessage)(hint.originalException),
21
- };
22
- const sentryContext = (0, event_context_1.convertEventDetailsToSentryContext)({
23
- severity: (0, event_severity_1.extractEventSeverity)(event),
24
- extraContext,
25
- }, {
26
- wasSentPrematurely: false,
27
- });
28
- Object.assign(event, sentryContext);
29
- return event;
30
- }
31
- exports.processSentryEvent = processSentryEvent;
32
- /** Tries to extract the original event message from different possible Sentry types. */
33
- function extractOriginalMessage(
34
- /** Event from Sentry. */
35
- event,
36
- /** EventHint generated by Sentry. */
37
- hint) {
38
- const message = event.message || (0, common_1.extractErrorMessage)(hint?.originalException);
39
- return message;
40
- }
41
- exports.extractOriginalMessage = extractOriginalMessage;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSentryHandler = void 0;
4
- const log_to_console_1 = require("./log-to-console");
5
- /** Creates a handler for Sentry events based on the given env. */
6
- function createSentryHandler(
7
- /** If in dev, events won't be sent to Sentry. They will only be logged in the console. */
8
- isDev) {
9
- /** The actual function that gets called when handling Sentry events. */
10
- function handleSentrySend(
11
- /** The event from Sentry. */
12
- event,
13
- /** The EventHint generated by Sentry. */
14
- hint) {
15
- if (!event.extra?.wasSentPrematurely) {
16
- (0, log_to_console_1.logToConsoleFromSentry)(event, hint, isDev ? log_to_console_1.LoggingState.Dev : log_to_console_1.LoggingState.Prod);
17
- }
18
- return isDev ? null : event;
19
- }
20
- return handleSentrySend;
21
- }
22
- exports.createSentryHandler = createSentryHandler;
@@ -1,20 +0,0 @@
1
- import { EventHint } from '@sentry/browser';
2
- import { Event, Extras } from '@sentry/types';
3
- import { EventSeverityEnum } from '../event-context/event-severity';
4
- export declare enum LoggingState {
5
- Dev = "dev",
6
- Prod = "prod",
7
- NoSentryYet = "no-sentry-yet"
8
- }
9
- export declare function logToConsoleFromSentry(
10
- /** The event from Sentry. */
11
- event: Event,
12
- /** The EventHint generated by Sentry. */
13
- hint: EventHint, loggingState: LoggingState): void;
14
- export declare function logToConsoleWithoutSentry(severity: EventSeverityEnum, loggingState: LoggingState, logData: {
15
- message: string;
16
- extra: undefined | Extras;
17
- event: Event | undefined;
18
- hint: EventHint | undefined;
19
- originalException: unknown;
20
- }): void;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logToConsoleWithoutSentry = exports.logToConsoleFromSentry = exports.LoggingState = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- const event_severity_1 = require("../event-context/event-severity");
6
- const event_processor_1 = require("./event-processor");
7
- var LoggingState;
8
- (function (LoggingState) {
9
- LoggingState["Dev"] = "dev";
10
- LoggingState["Prod"] = "prod";
11
- LoggingState["NoSentryYet"] = "no-sentry-yet";
12
- })(LoggingState || (exports.LoggingState = LoggingState = {}));
13
- function logToConsoleFromSentry(
14
- /** The event from Sentry. */
15
- event,
16
- /** The EventHint generated by Sentry. */
17
- hint, loggingState) {
18
- logToConsoleWithoutSentry((0, event_severity_1.extractEventSeverity)(event), loggingState, {
19
- event,
20
- extra: event.extra,
21
- hint,
22
- message: (0, event_processor_1.extractOriginalMessage)(event, hint),
23
- originalException: hint.originalException,
24
- });
25
- }
26
- exports.logToConsoleFromSentry = logToConsoleFromSentry;
27
- function logToConsoleWithoutSentry(severity, loggingState, logData) {
28
- const consoleMethod = event_severity_1.consoleLogMethodPerSeverity[severity];
29
- const eventLogArg = {
30
- ...(logData.event ? { event: logData.event } : undefined),
31
- ...(logData.hint ? { hint: logData.hint } : undefined),
32
- };
33
- const logArgs = [
34
- logData.message,
35
- logData.extra,
36
- Object.keys(eventLogArg).length ? eventLogArg : undefined,
37
- logData.originalException,
38
- ].filter(common_1.isTruthy);
39
- if (loggingState === LoggingState.Dev) {
40
- consoleMethod('Would have sent to Sentry:', ...logArgs);
41
- }
42
- else if (loggingState === LoggingState.Prod) {
43
- consoleMethod('Sending to Sentry:', ...logArgs);
44
- }
45
- else if (loggingState === LoggingState.NoSentryYet) {
46
- consoleMethod('Logging before Sentry init:', ...logArgs);
47
- }
48
- }
49
- exports.logToConsoleWithoutSentry = logToConsoleWithoutSentry;
@@ -1,15 +0,0 @@
1
- import { SentryDep, SentryExecutionEnvEnum } from './env/execution-env';
2
- import { InitSentryInput } from './init-sentry/base-sentry-init';
3
- /** A function which imports a Sentry dep. */
4
- export type SentryDepImporter = () => Promise<SentryDep>;
5
- /** The sentry dep import for each execution env. */
6
- export declare const sentryDepByEnv: Record<SentryExecutionEnvEnum, SentryDepImporter>;
7
- /**
8
- * Automatically determines which Sentry module to import based on the given execution env. Warning:
9
- * using this function will likely cause both Sentry modules to be included in your bundles.
10
- *
11
- * Setup a Sentry client with all the default sentry-vir integrations and configs.
12
- *
13
- * To override any default sentry-vir settings, include them in the userConfig input.
14
- */
15
- export declare function autoInitSentry({ executionEnv, dsn, releaseEnv, releaseName, sentryConfigOverrides, createUniversalContext, isDev, }: InitSentryInput): Promise<SentryDep>;
@@ -1,13 +0,0 @@
1
- /** Used to determine which Sentry client dependency to import. */
2
- export declare enum SentryExecutionEnvEnum {
3
- Browser = "browser",
4
- Node = "node"
5
- }
6
- /** Sentry client dependency used only in the browser. */
7
- export type SentryBrowserDep = typeof import('@sentry/browser');
8
- /** Sentry client dependency used only in Node.js. */
9
- export type SentryNodeDep = typeof import('@sentry/node');
10
- /** Any of the Sentry client dependencies. */
11
- export type SentryDep = SentryBrowserDep | SentryNodeDep;
12
- /** Pick a Sentry client dependency based on the given environment. */
13
- export type SentryDepByEnv<ExecutionEnv extends SentryExecutionEnvEnum> = ExecutionEnv extends SentryExecutionEnvEnum.Browser ? SentryBrowserDep : SentryNodeDep;
@@ -1,41 +0,0 @@
1
- import type { Event as SentryEvent } from '@sentry/browser';
2
- /** Mapped from Sentry's values into an enum for convenience of use. */
3
- export declare enum EventSeverityEnum {
4
- Warning = "warning",
5
- Info = "info",
6
- Debug = "debug",
7
- Fatal = "fatal",
8
- Error = "error"
9
- }
10
- /** Event severities that are not error-level. */
11
- export type InfoEventSeverity = EventSeverityEnum.Debug | EventSeverityEnum.Info | EventSeverityEnum.Warning;
12
- /** Maps severities to the console methods used to log them. */
13
- export declare const consoleLogMethodPerSeverity: {
14
- /** Maps to `console.warn`. */
15
- readonly warning: {
16
- (...data: any[]): void;
17
- (message?: any, ...optionalParams: any[]): void;
18
- };
19
- /** Maps to `console.info`. */
20
- readonly info: {
21
- (...data: any[]): void;
22
- (message?: any, ...optionalParams: any[]): void;
23
- };
24
- /** Maps to `console.debug`. */
25
- readonly debug: {
26
- (...data: any[]): void;
27
- (message?: any, ...optionalParams: any[]): void;
28
- };
29
- /** Maps to `console.error`. */
30
- readonly fatal: {
31
- (...data: any[]): void;
32
- (message?: any, ...optionalParams: any[]): void;
33
- };
34
- /** Maps to `console.error`. */
35
- readonly error: {
36
- (...data: any[]): void;
37
- (message?: any, ...optionalParams: any[]): void;
38
- };
39
- };
40
- /** Extracts the severity level from a sentry event while defaulting to an info level severity. */
41
- export declare function extractEventSeverity(event: SentryEvent): EventSeverityEnum;
@@ -1,24 +0,0 @@
1
- import { EventExtraContext } from './event-context';
2
- import { extraEventContextSymbol, HasExtraContext } from './extra-event-context';
3
- /**
4
- * Constructs an error with extra event context attached to it in the same way that
5
- * throwWithExtraContext attaches data.
6
- *
7
- * The following examples are equivalent:
8
- *
9
- * @example
10
- * throw new ExtraContextError('my error', {stuff: 'hi'});
11
- *
12
- * @example
13
- * const myError = new Error('my error');
14
- * throwWithExtraContext(myError, {stuff: 'hi'});
15
- */
16
- export declare class ExtraContextError extends Error implements HasExtraContext {
17
- readonly [extraEventContextSymbol]: EventExtraContext;
18
- constructor(message: string, extraData: EventExtraContext);
19
- }
20
- /**
21
- * Adds extra context to an error without modifying the error's message or stack trace (or any of
22
- * its other properties), then throws the error so it can propagate as usual.
23
- */
24
- export declare function throwWithExtraContext(originalError: unknown, extraData: EventExtraContext): never;
@@ -1,13 +0,0 @@
1
- export * from './env/execution-env';
2
- export * from './event-context/event-context';
3
- export * from './event-context/event-severity';
4
- export * from './event-context/extra-context.error';
5
- export * from './event-context/extra-event-context';
6
- export * from './init-sentry/base-sentry-init';
7
- export * from './init-sentry/sentry-config';
8
- export * from './logging/attach-tags';
9
- export * from './logging/handle-error';
10
- export * from './logging/send-log';
11
- export * from './logging/sentry-client-for-logging';
12
- export * from './processing/event-processor';
13
- export * from './processing/handle-sentry-send';
package/dist/esm/index.js DELETED
@@ -1,13 +0,0 @@
1
- export * from './env/execution-env';
2
- export * from './event-context/event-context';
3
- export * from './event-context/event-severity';
4
- export * from './event-context/extra-context.error';
5
- export * from './event-context/extra-event-context';
6
- export * from './init-sentry/base-sentry-init';
7
- export * from './init-sentry/sentry-config';
8
- export * from './logging/attach-tags';
9
- export * from './logging/handle-error';
10
- export * from './logging/send-log';
11
- export * from './logging/sentry-client-for-logging';
12
- export * from './processing/event-processor';
13
- export * from './processing/handle-sentry-send';
@@ -1,39 +0,0 @@
1
- import type { Options } from '@sentry/types';
2
- import { SentryDep, SentryExecutionEnvEnum } from '../env/execution-env';
3
- import { EventExtraContextCreator } from '../event-context/event-context';
4
- import { UserOverrides } from './sentry-config';
5
- /** Configuration for initializing Sentry. */
6
- export type InitSentryInput = {
7
- /** The release environment, rather than the execution environment (browser vs node). */
8
- releaseEnv: string;
9
- /**
10
- * In dev, events won't be sent to sentry. In either case, events will be logged to the local
11
- * console.
12
- */
13
- isDev: boolean;
14
- /**
15
- * The environment wherein the Sentry client will execute. Used to determine which Sentry client
16
- * to load: browser or node.
17
- */
18
- executionEnv: SentryExecutionEnvEnum;
19
- /** Name for the current release. */
20
- releaseName: Required<Options>['release'];
21
- /** DSN needed for Sentry to hook up to your sentry project. */
22
- dsn: Required<Options>['dsn'];
23
- /**
24
- * Optionally create extra context to be included in all Sentry events. This will execute for
25
- * each event that is processed.
26
- */
27
- createUniversalContext?: EventExtraContextCreator | undefined;
28
- /** Optionally override any Sentry config properties that this package sets. */
29
- sentryConfigOverrides?: UserOverrides;
30
- };
31
- /**
32
- * Base Sentry init. Requires the Sentry module to already have been imported. Setup a sentry client
33
- * with all the default sentry-vir integrations and configs.
34
- *
35
- * To override any default sentry-vir settings, include them in the userConfig input.
36
- */
37
- export declare function baseInitSentry({ dsn, releaseEnv, releaseName, sentryConfigOverrides, createUniversalContext, sentryDep, executionEnv, isDev, }: InitSentryInput & {
38
- sentryDep: SentryDep;
39
- }): Promise<SentryDep>;
@@ -1,10 +0,0 @@
1
- import { type BrowserOptions } from '@sentry/browser';
2
- import type { NodeOptions } from '@sentry/node';
3
- import { type Options } from '@sentry/types';
4
- import { SentryDepByEnv, SentryExecutionEnvEnum } from '../env/execution-env';
5
- /** Optional UserOverrides of Sentry config values. */
6
- export type UserOverrides = Omit<Partial<Options>, keyof RequiredSentryOptions> | undefined;
7
- /** Sentry config options that are required. */
8
- export type RequiredSentryOptions = Pick<Required<Options>, 'dsn' | 'environment' | 'release'>;
9
- /** Creates the sentry config used internally by sentry-vir. */
10
- export declare function createSentryConfig<const ExecutionEnv extends SentryExecutionEnvEnum>(executionEnv: ExecutionEnv, sentryDep: SentryDepByEnv<ExecutionEnv>, requiredSentryOptions: RequiredSentryOptions, userOverrides: UserOverrides, isDev: boolean): Promise<BrowserOptions | NodeOptions>;
@@ -1,5 +0,0 @@
1
- import type { setTags } from '@sentry/core';
2
- /** A list of tag names as keys and their values. Set a tag to undefined to clear it. */
3
- export type SentryTags = Parameters<typeof setTags>[0];
4
- /** Set tags for all future Sentry event handling (errors and logs). */
5
- export declare function attachSentryTags(tags: SentryTags): undefined;
@@ -1,3 +0,0 @@
1
- import { EventExtraContext } from '../event-context/event-context';
2
- /** Record an error to Sentry without throwing it. */
3
- export declare function handleError(error: unknown, extraContext?: EventExtraContext): string | undefined;
@@ -1,3 +0,0 @@
1
- import { AnyFunction } from '@augment-vir/common';
2
- export declare function sendPrematureEvents(): void;
3
- export declare function addPrematureEvent<EntryPointFunction extends AnyFunction = AnyFunction>(callback: EntryPointFunction, inputs: Parameters<EntryPointFunction>): void;
@@ -1,10 +0,0 @@
1
- import type { SentryNodeDep } from './env/execution-env';
2
- import { InitSentryInput } from './init-sentry/base-sentry-init';
3
- export type Sentry = SentryNodeDep;
4
- /**
5
- * Base Sentry init. Requires the Sentry module to already have been imported. Setup a sentry client
6
- * with all the default sentry-vir integrations and configs.
7
- *
8
- * To override any default sentry-vir settings, include them in the userConfig input.
9
- */
10
- export declare function initSentry({ dsn, releaseEnv, releaseName, sentryConfigOverrides, createUniversalContext, isDev, }: Omit<InitSentryInput, 'executionEnv'>): Promise<SentryNodeDep>;
@@ -1,16 +0,0 @@
1
- import { ErrorEvent, EventHint, Event as SentryEvent, TransactionEvent } from '@sentry/types';
2
- import { EventExtraContextCreator } from '../event-context/event-context';
3
- /** Attach extra event data for a sentry event. */
4
- export declare function processSentryEvent(
5
- /** Event from Sentry. */
6
- event: SentryEvent,
7
- /** EventHint generated by Sentry. */
8
- hint: EventHint,
9
- /** Optional callback for creating extra event context. */
10
- createUniversalContext?: EventExtraContextCreator | undefined): SentryEvent;
11
- /** Tries to extract the original event message from different possible Sentry types. */
12
- export declare function extractOriginalMessage(
13
- /** Event from Sentry. */
14
- event: Pick<TransactionEvent | ErrorEvent, 'message'>,
15
- /** EventHint generated by Sentry. */
16
- hint: EventHint | undefined): string;
@@ -1,6 +0,0 @@
1
- import type { EventHint } from '@sentry/browser';
2
- import type { ErrorEvent, TransactionEvent } from '@sentry/types';
3
- /** Creates a handler for Sentry events based on the given env. */
4
- export declare function createSentryHandler<T extends TransactionEvent | ErrorEvent>(
5
- /** If in dev, events won't be sent to Sentry. They will only be logged in the console. */
6
- isDev: boolean): (event: T, hint: EventHint) => T | null;
File without changes
File without changes