sentry-vir 2.0.0 → 3.0.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 (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 +5 -4
  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
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "sentry-vir",
3
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
+ "description": "Easily use Sentry.",
4
5
  "keywords": [
5
6
  "config",
6
7
  "helper",
@@ -13,68 +14,85 @@
13
14
  },
14
15
  "repository": {
15
16
  "type": "git",
16
- "url": "https://github.com/electrovir/sentry-vir"
17
+ "url": "git+https://github.com/electrovir/sentry-vir.git"
17
18
  },
18
19
  "license": "(MIT or CC0 1.0)",
19
20
  "author": {
20
21
  "name": "electrovir",
21
22
  "url": "https://github.com/electrovir"
22
23
  },
23
- "main": "dist/cjs/index.js",
24
- "module": "dist/esm/index.js",
25
- "types": "dist/esm/index.d.ts",
24
+ "sideEffects": false,
25
+ "type": "module",
26
+ "main": "dist/index.js",
27
+ "module": "dist/index.js",
28
+ "types": "dist/index.d.ts",
26
29
  "scripts": {
27
- "compile": "rm -rf dist && tsc --project tsconfig.json && npm i && tsc --project tsconfig.cjs.json",
30
+ "build": "virmator frontend build",
31
+ "compile": "virmator compile",
28
32
  "docs": "virmator docs",
29
33
  "format": "virmator format",
30
- "publish": "virmator publish \"npm run compile && npm run test:all\"",
34
+ "lint": "virmator lint fix",
35
+ "publish": "virmator publish npm run test:all",
31
36
  "start": "virmator frontend",
32
- "test": "virmator test-web",
33
- "test:all": "concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"",
34
- "test:coverage": "npm run test coverage",
37
+ "test": "virmator test web",
38
+ "test:all": "npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"",
35
39
  "test:deps": "virmator deps check",
36
40
  "test:docs": "virmator docs check",
37
41
  "test:format": "virmator format check",
42
+ "test:lint": "virmator lint",
38
43
  "test:spelling": "virmator spellcheck",
39
- "test:types": "tsc --noEmit"
44
+ "test:update": "npm test update"
40
45
  },
41
46
  "dependencies": {
42
- "@augment-vir/common": "^28.2.2",
43
- "@sentry/browser": "^8.10.0",
44
- "@sentry/core": "^8.10.0",
45
- "@sentry/node": "^8.10.0",
46
- "@sentry/types": "^8.10.0",
47
- "type-fest": "^4.20.1"
47
+ "@augment-vir/assert": "^31.15.0",
48
+ "@augment-vir/common": "^31.15.0",
49
+ "@sentry/browser": "^9.15.0",
50
+ "@sentry/core": "^9.15.0",
51
+ "@sentry/node": "^9.15.0",
52
+ "type-fest": "^4.40.1"
48
53
  },
49
54
  "devDependencies": {
50
- "@augment-vir/browser-testing": "^28.2.2",
51
- "@augment-vir/node-js": "^28.2.2",
52
- "@open-wc/testing": "^4.0.0",
53
- "@types/mocha": "^10.0.6",
54
- "@web/dev-server-esbuild": "^1.0.2",
55
- "@web/test-runner": "^0.18.2",
55
+ "@augment-vir/test": "^31.15.0",
56
+ "@eslint/eslintrc": "^3.3.1",
57
+ "@eslint/js": "^9.25.1",
58
+ "@stylistic/eslint-plugin": "^4.2.0",
59
+ "@stylistic/eslint-plugin-ts": "^4.2.0",
60
+ "@typescript-eslint/eslint-plugin": "^8.31.1",
61
+ "@web/dev-server-esbuild": "^1.0.4",
62
+ "@web/test-runner": "^0.20.1",
56
63
  "@web/test-runner-commands": "^0.9.0",
57
64
  "@web/test-runner-playwright": "^0.11.0",
58
- "@web/test-runner-visual-regression": "^0.9.0",
59
- "cspell": "^8.9.0",
60
- "dependency-cruiser": "^16.3.3",
61
- "esbuild": "^0.21.5",
62
- "istanbul-smart-text-reporter": "^1.1.4",
63
- "markdown-code-example-inserter": "^1.0.0",
64
- "npm-check-updates": "~16.12.3",
65
- "prettier": "^3.3.2",
66
- "prettier-plugin-interpolated-html-tags": "^1.0.5",
67
- "prettier-plugin-jsdoc": "^1.3.0",
68
- "prettier-plugin-multiline-arrays": "^3.0.6",
69
- "prettier-plugin-organize-imports": "^3.2.4",
70
- "prettier-plugin-packagejson": "^2.5.0",
71
- "prettier-plugin-sort-json": "^4.0.0",
72
- "prettier-plugin-toml": "^2.0.1",
73
- "run-time-assertions": "^1.5.1",
74
- "typedoc": "^0.25.13",
75
- "typescript": "^5.4.5",
76
- "virmator": "^12.0.1",
77
- "vite": "^4.5.2",
78
- "vite-tsconfig-paths": "^4.3.2"
65
+ "@web/test-runner-visual-regression": "^0.10.0",
66
+ "cspell": "^8.19.3",
67
+ "dependency-cruiser": "^16.10.1",
68
+ "esbuild": "^0.25.3",
69
+ "eslint": "^9.25.1",
70
+ "eslint-config-prettier": "^10.1.2",
71
+ "eslint-plugin-jsdoc": "^50.6.11",
72
+ "eslint-plugin-monorepo-cop": "^1.0.2",
73
+ "eslint-plugin-playwright": "^2.2.0",
74
+ "eslint-plugin-prettier": "^5.2.6",
75
+ "eslint-plugin-require-extensions": "^0.1.3",
76
+ "eslint-plugin-sonarjs": "^3.0.2",
77
+ "eslint-plugin-unicorn": "^59.0.0",
78
+ "istanbul-smart-text-reporter": "^1.1.5",
79
+ "markdown-code-example-inserter": "^3.0.3",
80
+ "npm-check-updates": "^18.0.1",
81
+ "prettier": "~3.3.3",
82
+ "prettier-plugin-interpolated-html-tags": "^2.0.1",
83
+ "prettier-plugin-jsdoc": "^1.3.2",
84
+ "prettier-plugin-multiline-arrays": "^4.0.3",
85
+ "prettier-plugin-organize-imports": "^4.1.0",
86
+ "prettier-plugin-packagejson": "^2.5.10",
87
+ "prettier-plugin-sort-json": "^4.1.1",
88
+ "prettier-plugin-toml": "^2.0.4",
89
+ "typedoc": "^0.28.3",
90
+ "typescript": "^5.8.3",
91
+ "typescript-eslint": "^8.31.1",
92
+ "virmator": "^13.14.1",
93
+ "vite": "^6.3.4"
94
+ },
95
+ "engines": {
96
+ "node": ">=22"
79
97
  }
80
98
  }
package/dist/cjs/auto.js DELETED
@@ -1,62 +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.autoInitSentry = exports.sentryDepByEnv = void 0;
27
- const execution_env_1 = require("./env/execution-env");
28
- const base_sentry_init_1 = require("./init-sentry/base-sentry-init");
29
- /** The sentry dep import for each execution env. */
30
- exports.sentryDepByEnv = {
31
- /** Sentry client for the browser. */
32
- [execution_env_1.SentryExecutionEnvEnum.Browser]: () => Promise.resolve().then(() => __importStar(require('@sentry/browser'))),
33
- /** Sentry client for the Node.js. */
34
- [execution_env_1.SentryExecutionEnvEnum.Node]: () => Promise.resolve().then(() => __importStar(require('@sentry/node'))),
35
- };
36
- /** Determine which Sentry client dependency to use and then import it. */
37
- async function getSentryByEnv(executionEnv) {
38
- return (await exports.sentryDepByEnv[executionEnv]());
39
- }
40
- /**
41
- * Automatically determines which Sentry module to import based on the given execution env. Warning:
42
- * using this function will likely cause both Sentry modules to be included in your bundles.
43
- *
44
- * Setup a Sentry client with all the default sentry-vir integrations and configs.
45
- *
46
- * To override any default sentry-vir settings, include them in the userConfig input.
47
- */
48
- async function autoInitSentry({ executionEnv, dsn, releaseEnv, releaseName, sentryConfigOverrides, createUniversalContext, isDev, }) {
49
- const sentryDep = await getSentryByEnv(executionEnv);
50
- await (0, base_sentry_init_1.baseInitSentry)({
51
- dsn,
52
- releaseEnv,
53
- releaseName,
54
- sentryConfigOverrides,
55
- createUniversalContext,
56
- sentryDep,
57
- executionEnv,
58
- isDev,
59
- });
60
- return sentryDep;
61
- }
62
- exports.autoInitSentry = autoInitSentry;
@@ -1,10 +0,0 @@
1
- import type { SentryBrowserDep } from './env/execution-env';
2
- import { InitSentryInput } from './init-sentry/base-sentry-init';
3
- export type Sentry = SentryBrowserDep;
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<Sentry>;
@@ -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/browser')));
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.Browser,
45
- isDev,
46
- });
47
- return sentryDep;
48
- }
49
- exports.initSentry = initSentry;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SentryExecutionEnvEnum = void 0;
4
- /** Used to determine which Sentry client dependency to import. */
5
- var SentryExecutionEnvEnum;
6
- (function (SentryExecutionEnvEnum) {
7
- SentryExecutionEnvEnum["Browser"] = "browser";
8
- SentryExecutionEnvEnum["Node"] = "node";
9
- })(SentryExecutionEnvEnum || (exports.SentryExecutionEnvEnum = SentryExecutionEnvEnum = {}));
@@ -1,24 +0,0 @@
1
- import type { ScopeContext } from '@sentry/types';
2
- import { EventSeverityEnum } from './event-severity';
3
- /**
4
- * Used for all extra context types. While keys must be strings, values can be whatever but must be
5
- * JSON compatible.
6
- */
7
- export type EventExtraContext = Record<string, unknown>;
8
- /** Function that generates extra event context. */
9
- export type EventExtraContextCreator = () => EventExtraContext;
10
- /** Event details before getting sent to Sentry. */
11
- export type EventDetails = {
12
- extraContext?: EventExtraContext | undefined;
13
- severity: EventSeverityEnum;
14
- };
15
- /** Options for creating contexts. Used internally. */
16
- export type ContextOptions = {
17
- /**
18
- * If true, this means the message was sent before Sentry was initialized, which slightly
19
- * changes how the event is logged in the browser.
20
- */
21
- wasSentPrematurely: boolean;
22
- };
23
- /** Maps internal EventDetails type to Sentry's required type for event severity and extra context. */
24
- export declare function convertEventDetailsToSentryContext(eventDetails: EventDetails, options: ContextOptions): Pick<ScopeContext, 'extra' | 'level'>;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertEventDetailsToSentryContext = void 0;
4
- /** Maps internal EventDetails type to Sentry's required type for event severity and extra context. */
5
- function convertEventDetailsToSentryContext(eventDetails, options) {
6
- const extra = {
7
- ...(options.wasSentPrematurely
8
- ? {
9
- wasSentPrematurely: true,
10
- }
11
- : {}),
12
- ...eventDetails.extraContext,
13
- };
14
- return {
15
- extra,
16
- level: eventDetails.severity,
17
- };
18
- }
19
- exports.convertEventDetailsToSentryContext = convertEventDetailsToSentryContext;
@@ -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,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractEventSeverity = exports.consoleLogMethodPerSeverity = exports.EventSeverityEnum = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- /** Mapped from Sentry's values into an enum for convenience of use. */
6
- var EventSeverityEnum;
7
- (function (EventSeverityEnum) {
8
- EventSeverityEnum["Warning"] = "warning";
9
- EventSeverityEnum["Info"] = "info";
10
- EventSeverityEnum["Debug"] = "debug";
11
- EventSeverityEnum["Fatal"] = "fatal";
12
- EventSeverityEnum["Error"] = "error";
13
- })(EventSeverityEnum || (exports.EventSeverityEnum = EventSeverityEnum = {}));
14
- /** Maps severities to the console methods used to log them. */
15
- exports.consoleLogMethodPerSeverity = {
16
- /** Maps to `console.warn`. */
17
- [EventSeverityEnum.Warning]: console.warn,
18
- /** Maps to `console.info`. */
19
- [EventSeverityEnum.Info]: console.info,
20
- /** Maps to `console.debug`. */
21
- [EventSeverityEnum.Debug]: console.debug,
22
- /** Maps to `console.error`. */
23
- [EventSeverityEnum.Fatal]: console.error,
24
- /** Maps to `console.error`. */
25
- [EventSeverityEnum.Error]: console.error,
26
- };
27
- /** Extracts the severity level from a sentry event while defaulting to an info level severity. */
28
- function extractEventSeverity(event) {
29
- if (!(0, common_1.isEnumValue)(event.level, EventSeverityEnum)) {
30
- return EventSeverityEnum.Info;
31
- }
32
- return event.level;
33
- }
34
- exports.extractEventSeverity = extractEventSeverity;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.throwWithExtraContext = exports.ExtraContextError = void 0;
5
- const common_1 = require("@augment-vir/common");
6
- const extra_event_context_1 = require("./extra-event-context");
7
- /**
8
- * Constructs an error with extra event context attached to it in the same way that
9
- * throwWithExtraContext attaches data.
10
- *
11
- * The following examples are equivalent:
12
- *
13
- * @example
14
- * throw new ExtraContextError('my error', {stuff: 'hi'});
15
- *
16
- * @example
17
- * const myError = new Error('my error');
18
- * throwWithExtraContext(myError, {stuff: 'hi'});
19
- */
20
- class ExtraContextError extends Error {
21
- constructor(message, extraData) {
22
- super(message);
23
- Object.defineProperty(this, _a, {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: void 0
28
- });
29
- this[extra_event_context_1.extraEventContextSymbol] = extraData;
30
- }
31
- }
32
- exports.ExtraContextError = ExtraContextError;
33
- _a = extra_event_context_1.extraEventContextSymbol;
34
- /**
35
- * Adds extra context to an error without modifying the error's message or stack trace (or any of
36
- * its other properties), then throws the error so it can propagate as usual.
37
- */
38
- function throwWithExtraContext(originalError, extraData) {
39
- const error = (0, common_1.ensureError)(originalError);
40
- error[extra_event_context_1.extraEventContextSymbol] = extraData;
41
- throw error;
42
- }
43
- exports.throwWithExtraContext = throwWithExtraContext;
@@ -1,23 +0,0 @@
1
- import { Event, EventHint } from '@sentry/types';
2
- import { EventExtraContext } from './event-context';
3
- /**
4
- * Symbol used to attach extra event context to events. This is particularly useful for errors so
5
- * they can be thrown while attaching this extra context to them.
6
- */
7
- export declare const extraEventContextSymbol: unique symbol;
8
- /** Simply describes an object that has extra event context. */
9
- export type HasExtraContext = {
10
- [extraEventContextSymbol]: EventExtraContext;
11
- };
12
- /** Type guard for whether any given input has extra event context. */
13
- export declare function hasExtraEventContext(input: unknown): input is HasExtraContext;
14
- /**
15
- * Checks if extra event context has been injected into the input via extraEventContextSymbol and,
16
- * if so, extracts it.
17
- */
18
- export declare function extractExtraContentFromSymbol(input: unknown): EventExtraContext | undefined;
19
- /**
20
- * Tries to extract extra event context via extraEventContextSymbol. Returns undefined if there is
21
- * no extra event context.
22
- */
23
- export declare function extractExtraEventContext(event: EventHint | Event): EventExtraContext | undefined;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractExtraEventContext = exports.extractExtraContentFromSymbol = exports.hasExtraEventContext = exports.extraEventContextSymbol = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- /**
6
- * Symbol used to attach extra event context to events. This is particularly useful for errors so
7
- * they can be thrown while attaching this extra context to them.
8
- */
9
- exports.extraEventContextSymbol = Symbol('extra-event-context');
10
- /** Type guard for whether any given input has extra event context. */
11
- function hasExtraEventContext(input) {
12
- return (0, common_1.typedHasProperty)(input, exports.extraEventContextSymbol);
13
- }
14
- exports.hasExtraEventContext = hasExtraEventContext;
15
- /**
16
- * Checks if extra event context has been injected into the input via extraEventContextSymbol and,
17
- * if so, extracts it.
18
- */
19
- function extractExtraContentFromSymbol(input) {
20
- if (hasExtraEventContext(input)) {
21
- return input[exports.extraEventContextSymbol];
22
- }
23
- else {
24
- return undefined;
25
- }
26
- }
27
- exports.extractExtraContentFromSymbol = extractExtraContentFromSymbol;
28
- /**
29
- * Tries to extract extra event context via extraEventContextSymbol. Returns undefined if there is
30
- * no extra event context.
31
- */
32
- function extractExtraEventContext(event) {
33
- const fromRootSymbol = extractExtraContentFromSymbol(event);
34
- const fromSubSymbol = 'originalException' in event
35
- ? extractExtraContentFromSymbol(event.originalException)
36
- : undefined;
37
- const fromCapture = 'captureContext' in event && 'extra' in event.captureContext
38
- ? event.captureContext?.extra
39
- : undefined;
40
- const combined = {
41
- ...fromRootSymbol,
42
- ...fromSubSymbol,
43
- ...fromCapture,
44
- };
45
- if (Object.keys(combined).length) {
46
- return combined;
47
- }
48
- else {
49
- return undefined;
50
- }
51
- }
52
- exports.extractExtraEventContext = extractExtraEventContext;
@@ -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/cjs/index.js DELETED
@@ -1,29 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./env/execution-env"), exports);
18
- __exportStar(require("./event-context/event-context"), exports);
19
- __exportStar(require("./event-context/event-severity"), exports);
20
- __exportStar(require("./event-context/extra-context.error"), exports);
21
- __exportStar(require("./event-context/extra-event-context"), exports);
22
- __exportStar(require("./init-sentry/base-sentry-init"), exports);
23
- __exportStar(require("./init-sentry/sentry-config"), exports);
24
- __exportStar(require("./logging/attach-tags"), exports);
25
- __exportStar(require("./logging/handle-error"), exports);
26
- __exportStar(require("./logging/send-log"), exports);
27
- __exportStar(require("./logging/sentry-client-for-logging"), exports);
28
- __exportStar(require("./processing/event-processor"), exports);
29
- __exportStar(require("./processing/handle-sentry-send"), exports);
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.baseInitSentry = void 0;
4
- const sentry_client_for_logging_1 = require("../logging/sentry-client-for-logging");
5
- const event_processor_1 = require("../processing/event-processor");
6
- const sentry_config_1 = require("./sentry-config");
7
- /**
8
- * Base Sentry init. Requires the Sentry module to already have been imported. Setup a sentry client
9
- * with all the default sentry-vir integrations and configs.
10
- *
11
- * To override any default sentry-vir settings, include them in the userConfig input.
12
- */
13
- async function baseInitSentry({ dsn, releaseEnv, releaseName, sentryConfigOverrides, createUniversalContext, sentryDep, executionEnv, isDev, }) {
14
- const finalSentryConfig = await (0, sentry_config_1.createSentryConfig)(executionEnv, sentryDep, {
15
- dsn,
16
- environment: releaseEnv,
17
- release: releaseName,
18
- }, sentryConfigOverrides, isDev);
19
- sentryDep.init(finalSentryConfig);
20
- sentryDep.addEventProcessor((event, hint) => (0, event_processor_1.processSentryEvent)(event, hint, createUniversalContext));
21
- (0, sentry_client_for_logging_1.setSentryClientForLogging)(sentryDep);
22
- return sentryDep;
23
- }
24
- exports.baseInitSentry = baseInitSentry;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSentryConfig = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- const execution_env_1 = require("../env/execution-env");
6
- const handle_sentry_send_1 = require("../processing/handle-sentry-send");
7
- /** Creates the sentry config used internally by sentry-vir. */
8
- async function createSentryConfig(executionEnv, sentryDep, requiredSentryOptions, userOverrides, isDev) {
9
- const sharedSentryConfig = {
10
- beforeSend: (0, handle_sentry_send_1.createSentryHandler)(isDev),
11
- beforeSendTransaction: (0, handle_sentry_send_1.createSentryHandler)(isDev),
12
- defaultIntegrations: false,
13
- enabled: true,
14
- maxValueLength: 10_000,
15
- };
16
- const envSentryConfig = sentryConfigByEnv[executionEnv](
17
- /**
18
- * As cast needed because env and sentryDep are tightly coupled and there's not a good way
19
- * to check that they match with a type guard. This is okay, however, because the types of
20
- * this functions parameters already imposes the requirement that they are coupled.
21
- */
22
- sentryDep);
23
- const combinedConfig = (0, common_1.mergeDeep)(sharedSentryConfig, envSentryConfig, requiredSentryOptions, userOverrides || {});
24
- return combinedConfig;
25
- }
26
- exports.createSentryConfig = createSentryConfig;
27
- const sentryConfigByEnv = {
28
- [execution_env_1.SentryExecutionEnvEnum.Browser](BrowserSentry) {
29
- const options = {
30
- integrations: [
31
- BrowserSentry.httpContextIntegration(),
32
- BrowserSentry.dedupeIntegration(),
33
- BrowserSentry.inboundFiltersIntegration(),
34
- BrowserSentry.functionToStringIntegration(),
35
- BrowserSentry.globalHandlersIntegration(),
36
- ],
37
- };
38
- return options;
39
- },
40
- [execution_env_1.SentryExecutionEnvEnum.Node](NodeSentry) {
41
- const options = {
42
- integrations: [
43
- NodeSentry.onUncaughtExceptionIntegration(),
44
- NodeSentry.onUnhandledRejectionIntegration(),
45
- NodeSentry.contextLinesIntegration(),
46
- NodeSentry.nodeContextIntegration(),
47
- NodeSentry.functionToStringIntegration(),
48
- ],
49
- };
50
- return options;
51
- },
52
- };