@sentry/wasm 7.94.1 → 7.97.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.
package/cjs/index.js CHANGED
@@ -1,13 +1,63 @@
1
- var {
2
- _optionalChain
3
- } = require('@sentry/utils');
4
-
5
1
  Object.defineProperty(exports, '__esModule', { value: true });
6
2
 
3
+ const core = require('@sentry/core');
7
4
  const patchWebAssembly = require('./patchWebAssembly.js');
8
5
  const registry = require('./registry.js');
9
6
 
10
- /** plz don't */
7
+ const INTEGRATION_NAME = 'Wasm';
8
+
9
+ const _wasmIntegration = (() => {
10
+ return {
11
+ name: INTEGRATION_NAME,
12
+ setupOnce() {
13
+ patchWebAssembly.patchWebAssembly();
14
+ },
15
+ processEvent(event) {
16
+ let haveWasm = false;
17
+
18
+ if (event.exception && event.exception.values) {
19
+ event.exception.values.forEach(exception => {
20
+ if (exception.stacktrace && exception.stacktrace.frames) {
21
+ haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);
22
+ }
23
+ });
24
+ }
25
+
26
+ if (haveWasm) {
27
+ event.debug_meta = event.debug_meta || {};
28
+ event.debug_meta.images = [...(event.debug_meta.images || []), ...registry.getImages()];
29
+ }
30
+
31
+ return event;
32
+ },
33
+ };
34
+ }) ;
35
+
36
+ const wasmIntegration = core.defineIntegration(_wasmIntegration);
37
+
38
+ /**
39
+ * Process WASM stack traces to support server-side symbolication.
40
+ *
41
+ * This also hooks the WebAssembly loading browser API so that module
42
+ * registrations are intercepted.
43
+ *
44
+ * @deprecated Use `wasmIntegration` export instead
45
+ *
46
+ * import { wasmIntegration } from '@sentry/wasm';
47
+ *
48
+ * ```
49
+ * Sentry.init({ integrations: [wasmIntegration()] });
50
+ * ```
51
+ */
52
+ // eslint-disable-next-line deprecation/deprecation
53
+ const Wasm = core.convertIntegrationFnToClass(INTEGRATION_NAME, wasmIntegration)
54
+
55
+ ;
56
+
57
+ /**
58
+ * Patches a list of stackframes with wasm data needed for server-side symbolication
59
+ * if applicable. Returns true if any frames were patched.
60
+ */
11
61
  function patchFrames(frames) {
12
62
  let haveWasm = false;
13
63
  frames.forEach(frame => {
@@ -29,53 +79,6 @@ function patchFrames(frames) {
29
79
  return haveWasm;
30
80
  }
31
81
 
32
- /**
33
- * Process WASM stack traces to support server-side symbolication.
34
- *
35
- * This also hooks the WebAssembly loading browser API so that module
36
- * registraitons are intercepted.
37
- */
38
- class Wasm {
39
- /**
40
- * @inheritDoc
41
- */
42
- static __initStatic() {this.id = 'Wasm';}
43
-
44
- /**
45
- * @inheritDoc
46
- */
47
-
48
- constructor() {
49
- this.name = Wasm.id;
50
- }
51
-
52
- /**
53
- * @inheritDoc
54
- */
55
- setupOnce(_addGlobalEventProcessor, _getCurrentHub) {
56
- patchWebAssembly.patchWebAssembly();
57
- }
58
-
59
- /** @inheritDoc */
60
- processEvent(event) {
61
- let haveWasm = false;
62
-
63
- if (event.exception && event.exception.values) {
64
- event.exception.values.forEach(exception => {
65
- if (_optionalChain([exception, 'optionalAccess', _ => _.stacktrace, 'optionalAccess', _2 => _2.frames])) {
66
- haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);
67
- }
68
- });
69
- }
70
-
71
- if (haveWasm) {
72
- event.debug_meta = event.debug_meta || {};
73
- event.debug_meta.images = [...(event.debug_meta.images || []), ...registry.getImages()];
74
- }
75
-
76
- return event;
77
- }
78
- }Wasm.__initStatic();
79
-
80
82
  exports.Wasm = Wasm;
83
+ exports.wasmIntegration = wasmIntegration;
81
84
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":["import type { Event, Integration, StackFrame } from '@sentry/types';\n\nimport { patchWebAssembly } from './patchWebAssembly';\nimport { getImage, getImages } from './registry';\n\n/** plz don't */\nfunction patchFrames(frames: Array<StackFrame>): boolean {\n let haveWasm = false;\n frames.forEach(frame => {\n if (!frame.filename) {\n return;\n }\n const match = frame.filename.match(/^(.*?):wasm-function\\[\\d+\\]:(0x[a-fA-F0-9]+)$/);\n if (match !== null) {\n const index = getImage(match[1]);\n if (index >= 0) {\n frame.instruction_addr = match[2];\n frame.addr_mode = `rel:${index}`;\n frame.filename = match[1];\n frame.platform = 'native';\n haveWasm = true;\n }\n }\n });\n return haveWasm;\n}\n\n/**\n * Process WASM stack traces to support server-side symbolication.\n *\n * This also hooks the WebAssembly loading browser API so that module\n * registraitons are intercepted.\n */\nexport class Wasm implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Wasm';\n\n /**\n * @inheritDoc\n */\n public name: string;\n\n public constructor() {\n this.name = Wasm.id;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(_addGlobalEventProcessor: unknown, _getCurrentHub: unknown): void {\n patchWebAssembly();\n }\n\n /** @inheritDoc */\n public processEvent(event: Event): Event {\n let haveWasm = false;\n\n if (event.exception && event.exception.values) {\n event.exception.values.forEach(exception => {\n if (exception?.stacktrace?.frames) {\n haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);\n }\n });\n }\n\n if (haveWasm) {\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = [...(event.debug_meta.images || []), ...getImages()];\n }\n\n return event;\n }\n}\n"],"names":["getImage","patchWebAssembly","getImages"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":["import { convertIntegrationFnToClass, defineIntegration } from '@sentry/core';\nimport type { Event, Integration, IntegrationClass, IntegrationFn, StackFrame } from '@sentry/types';\n\nimport { patchWebAssembly } from './patchWebAssembly';\nimport { getImage, getImages } from './registry';\n\nconst INTEGRATION_NAME = 'Wasm';\n\nconst _wasmIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n patchWebAssembly();\n },\n processEvent(event: Event): Event {\n let haveWasm = false;\n\n if (event.exception && event.exception.values) {\n event.exception.values.forEach(exception => {\n if (exception.stacktrace && exception.stacktrace.frames) {\n haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);\n }\n });\n }\n\n if (haveWasm) {\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = [...(event.debug_meta.images || []), ...getImages()];\n }\n\n return event;\n },\n };\n}) satisfies IntegrationFn;\n\nexport const wasmIntegration = defineIntegration(_wasmIntegration);\n\n/**\n * Process WASM stack traces to support server-side symbolication.\n *\n * This also hooks the WebAssembly loading browser API so that module\n * registrations are intercepted.\n *\n * @deprecated Use `wasmIntegration` export instead\n *\n * import { wasmIntegration } from '@sentry/wasm';\n *\n * ```\n * Sentry.init({ integrations: [wasmIntegration()] });\n * ```\n */\n// eslint-disable-next-line deprecation/deprecation\nexport const Wasm = convertIntegrationFnToClass(INTEGRATION_NAME, wasmIntegration) as IntegrationClass<\n Integration & { processEvent: (event: Event) => Event }\n>;\n\n/**\n * Patches a list of stackframes with wasm data needed for server-side symbolication\n * if applicable. Returns true if any frames were patched.\n */\nfunction patchFrames(frames: Array<StackFrame>): boolean {\n let haveWasm = false;\n frames.forEach(frame => {\n if (!frame.filename) {\n return;\n }\n const match = frame.filename.match(/^(.*?):wasm-function\\[\\d+\\]:(0x[a-fA-F0-9]+)$/);\n if (match !== null) {\n const index = getImage(match[1]);\n if (index >= 0) {\n frame.instruction_addr = match[2];\n frame.addr_mode = `rel:${index}`;\n frame.filename = match[1];\n frame.platform = 'native';\n haveWasm = true;\n }\n }\n });\n return haveWasm;\n}\n"],"names":["patchWebAssembly","getImages","defineIntegration","convertIntegrationFnToClass","getImage"],"mappings":";;;;;;AAMA,MAAM,gBAAA,GAAmB,MAAM,CAAA;AAC/B;AACA,MAAM,gBAAiB,IAAG,MAAM;AAChC,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,SAAS,GAAG;AAChB,MAAMA,iCAAgB,EAAE,CAAA;AACxB,KAAK;AACL,IAAI,YAAY,CAAC,KAAK,EAAgB;AACtC,MAAM,IAAI,QAAS,GAAE,KAAK,CAAA;AAC1B;AACA,MAAM,IAAI,KAAK,CAAC,SAAA,IAAa,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;AACrD,QAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAA,IAAa;AACpD,UAAU,IAAI,SAAS,CAAC,UAAA,IAAc,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE;AACnE,YAAY,QAAA,GAAW,QAAA,IAAY,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;AAC3E,WAAU;AACV,SAAS,CAAC,CAAA;AACV,OAAM;AACN;AACA,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,KAAK,CAAC,UAAW,GAAE,KAAK,CAAC,UAAA,IAAc,EAAE,CAAA;AACjD,QAAQ,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAA,IAAU,EAAE,CAAC,EAAE,GAAGC,kBAAS,EAAE,CAAC,CAAA;AACtF,OAAM;AACN;AACA,MAAM,OAAO,KAAK,CAAA;AAClB,KAAK;AACL,GAAG,CAAA;AACH,CAAC,CAAE,EAAA;AACH;MACa,eAAgB,GAAEC,sBAAiB,CAAC,gBAAgB,EAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAOC,gCAA2B,CAAC,gBAAgB,EAAE,eAAe,CAAE;;CAEnF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,MAAM,EAA8B;AACzD,EAAE,IAAI,QAAS,GAAE,KAAK,CAAA;AACtB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;AAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACzB,MAAM,OAAM;AACZ,KAAI;AACJ,IAAI,MAAM,KAAM,GAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;AACvF,IAAI,IAAI,KAAM,KAAI,IAAI,EAAE;AACxB,MAAM,MAAM,QAAQC,iBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,MAAM,IAAI,KAAM,IAAG,CAAC,EAAE;AACtB,QAAQ,KAAK,CAAC,gBAAA,GAAmB,KAAK,CAAC,CAAC,CAAC,CAAA;AACzC,QAAQ,KAAK,CAAC,SAAU,GAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,QAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,QAAA,GAAA,QAAA,CAAA;AACA,QAAA,QAAA,GAAA,IAAA,CAAA;AACA,OAAA;AACA,KAAA;AACA,GAAA,CAAA,CAAA;AACA,EAAA,OAAA,QAAA,CAAA;AACA;;;;;"}
package/esm/index.js CHANGED
@@ -1,8 +1,61 @@
1
- import { _optionalChain } from '@sentry/utils';
1
+ import { defineIntegration, convertIntegrationFnToClass } from '@sentry/core';
2
2
  import { patchWebAssembly } from './patchWebAssembly.js';
3
3
  import { getImages, getImage } from './registry.js';
4
4
 
5
- /** plz don't */
5
+ const INTEGRATION_NAME = 'Wasm';
6
+
7
+ const _wasmIntegration = (() => {
8
+ return {
9
+ name: INTEGRATION_NAME,
10
+ setupOnce() {
11
+ patchWebAssembly();
12
+ },
13
+ processEvent(event) {
14
+ let haveWasm = false;
15
+
16
+ if (event.exception && event.exception.values) {
17
+ event.exception.values.forEach(exception => {
18
+ if (exception.stacktrace && exception.stacktrace.frames) {
19
+ haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);
20
+ }
21
+ });
22
+ }
23
+
24
+ if (haveWasm) {
25
+ event.debug_meta = event.debug_meta || {};
26
+ event.debug_meta.images = [...(event.debug_meta.images || []), ...getImages()];
27
+ }
28
+
29
+ return event;
30
+ },
31
+ };
32
+ }) ;
33
+
34
+ const wasmIntegration = defineIntegration(_wasmIntegration);
35
+
36
+ /**
37
+ * Process WASM stack traces to support server-side symbolication.
38
+ *
39
+ * This also hooks the WebAssembly loading browser API so that module
40
+ * registrations are intercepted.
41
+ *
42
+ * @deprecated Use `wasmIntegration` export instead
43
+ *
44
+ * import { wasmIntegration } from '@sentry/wasm';
45
+ *
46
+ * ```
47
+ * Sentry.init({ integrations: [wasmIntegration()] });
48
+ * ```
49
+ */
50
+ // eslint-disable-next-line deprecation/deprecation
51
+ const Wasm = convertIntegrationFnToClass(INTEGRATION_NAME, wasmIntegration)
52
+
53
+ ;
54
+
55
+ /**
56
+ * Patches a list of stackframes with wasm data needed for server-side symbolication
57
+ * if applicable. Returns true if any frames were patched.
58
+ */
6
59
  function patchFrames(frames) {
7
60
  let haveWasm = false;
8
61
  frames.forEach(frame => {
@@ -24,53 +77,5 @@ function patchFrames(frames) {
24
77
  return haveWasm;
25
78
  }
26
79
 
27
- /**
28
- * Process WASM stack traces to support server-side symbolication.
29
- *
30
- * This also hooks the WebAssembly loading browser API so that module
31
- * registraitons are intercepted.
32
- */
33
- class Wasm {
34
- /**
35
- * @inheritDoc
36
- */
37
- static __initStatic() {this.id = 'Wasm';}
38
-
39
- /**
40
- * @inheritDoc
41
- */
42
-
43
- constructor() {
44
- this.name = Wasm.id;
45
- }
46
-
47
- /**
48
- * @inheritDoc
49
- */
50
- setupOnce(_addGlobalEventProcessor, _getCurrentHub) {
51
- patchWebAssembly();
52
- }
53
-
54
- /** @inheritDoc */
55
- processEvent(event) {
56
- let haveWasm = false;
57
-
58
- if (event.exception && event.exception.values) {
59
- event.exception.values.forEach(exception => {
60
- if (_optionalChain([exception, 'optionalAccess', _ => _.stacktrace, 'optionalAccess', _2 => _2.frames])) {
61
- haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);
62
- }
63
- });
64
- }
65
-
66
- if (haveWasm) {
67
- event.debug_meta = event.debug_meta || {};
68
- event.debug_meta.images = [...(event.debug_meta.images || []), ...getImages()];
69
- }
70
-
71
- return event;
72
- }
73
- }Wasm.__initStatic();
74
-
75
- export { Wasm };
80
+ export { Wasm, wasmIntegration };
76
81
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":["import type { Event, Integration, StackFrame } from '@sentry/types';\n\nimport { patchWebAssembly } from './patchWebAssembly';\nimport { getImage, getImages } from './registry';\n\n/** plz don't */\nfunction patchFrames(frames: Array<StackFrame>): boolean {\n let haveWasm = false;\n frames.forEach(frame => {\n if (!frame.filename) {\n return;\n }\n const match = frame.filename.match(/^(.*?):wasm-function\\[\\d+\\]:(0x[a-fA-F0-9]+)$/);\n if (match !== null) {\n const index = getImage(match[1]);\n if (index >= 0) {\n frame.instruction_addr = match[2];\n frame.addr_mode = `rel:${index}`;\n frame.filename = match[1];\n frame.platform = 'native';\n haveWasm = true;\n }\n }\n });\n return haveWasm;\n}\n\n/**\n * Process WASM stack traces to support server-side symbolication.\n *\n * This also hooks the WebAssembly loading browser API so that module\n * registraitons are intercepted.\n */\nexport class Wasm implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Wasm';\n\n /**\n * @inheritDoc\n */\n public name: string;\n\n public constructor() {\n this.name = Wasm.id;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(_addGlobalEventProcessor: unknown, _getCurrentHub: unknown): void {\n patchWebAssembly();\n }\n\n /** @inheritDoc */\n public processEvent(event: Event): Event {\n let haveWasm = false;\n\n if (event.exception && event.exception.values) {\n event.exception.values.forEach(exception => {\n if (exception?.stacktrace?.frames) {\n haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);\n }\n });\n }\n\n if (haveWasm) {\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = [...(event.debug_meta.images || []), ...getImages()];\n }\n\n return event;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":["import { convertIntegrationFnToClass, defineIntegration } from '@sentry/core';\nimport type { Event, Integration, IntegrationClass, IntegrationFn, StackFrame } from '@sentry/types';\n\nimport { patchWebAssembly } from './patchWebAssembly';\nimport { getImage, getImages } from './registry';\n\nconst INTEGRATION_NAME = 'Wasm';\n\nconst _wasmIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n patchWebAssembly();\n },\n processEvent(event: Event): Event {\n let haveWasm = false;\n\n if (event.exception && event.exception.values) {\n event.exception.values.forEach(exception => {\n if (exception.stacktrace && exception.stacktrace.frames) {\n haveWasm = haveWasm || patchFrames(exception.stacktrace.frames);\n }\n });\n }\n\n if (haveWasm) {\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = [...(event.debug_meta.images || []), ...getImages()];\n }\n\n return event;\n },\n };\n}) satisfies IntegrationFn;\n\nexport const wasmIntegration = defineIntegration(_wasmIntegration);\n\n/**\n * Process WASM stack traces to support server-side symbolication.\n *\n * This also hooks the WebAssembly loading browser API so that module\n * registrations are intercepted.\n *\n * @deprecated Use `wasmIntegration` export instead\n *\n * import { wasmIntegration } from '@sentry/wasm';\n *\n * ```\n * Sentry.init({ integrations: [wasmIntegration()] });\n * ```\n */\n// eslint-disable-next-line deprecation/deprecation\nexport const Wasm = convertIntegrationFnToClass(INTEGRATION_NAME, wasmIntegration) as IntegrationClass<\n Integration & { processEvent: (event: Event) => Event }\n>;\n\n/**\n * Patches a list of stackframes with wasm data needed for server-side symbolication\n * if applicable. Returns true if any frames were patched.\n */\nfunction patchFrames(frames: Array<StackFrame>): boolean {\n let haveWasm = false;\n frames.forEach(frame => {\n if (!frame.filename) {\n return;\n }\n const match = frame.filename.match(/^(.*?):wasm-function\\[\\d+\\]:(0x[a-fA-F0-9]+)$/);\n if (match !== null) {\n const index = getImage(match[1]);\n if (index >= 0) {\n frame.instruction_addr = match[2];\n frame.addr_mode = `rel:${index}`;\n frame.filename = match[1];\n frame.platform = 'native';\n haveWasm = true;\n }\n }\n });\n return haveWasm;\n}\n"],"names":[],"mappings":";;;;AAMA,MAAM,gBAAA,GAAmB,MAAM,CAAA;AAC/B;AACA,MAAM,gBAAiB,IAAG,MAAM;AAChC,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,SAAS,GAAG;AAChB,MAAM,gBAAgB,EAAE,CAAA;AACxB,KAAK;AACL,IAAI,YAAY,CAAC,KAAK,EAAgB;AACtC,MAAM,IAAI,QAAS,GAAE,KAAK,CAAA;AAC1B;AACA,MAAM,IAAI,KAAK,CAAC,SAAA,IAAa,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;AACrD,QAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAA,IAAa;AACpD,UAAU,IAAI,SAAS,CAAC,UAAA,IAAc,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE;AACnE,YAAY,QAAA,GAAW,QAAA,IAAY,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;AAC3E,WAAU;AACV,SAAS,CAAC,CAAA;AACV,OAAM;AACN;AACA,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,KAAK,CAAC,UAAW,GAAE,KAAK,CAAC,UAAA,IAAc,EAAE,CAAA;AACjD,QAAQ,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAA,IAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;AACtF,OAAM;AACN;AACA,MAAM,OAAO,KAAK,CAAA;AAClB,KAAK;AACL,GAAG,CAAA;AACH,CAAC,CAAE,EAAA;AACH;MACa,eAAgB,GAAE,iBAAiB,CAAC,gBAAgB,EAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,2BAA2B,CAAC,gBAAgB,EAAE,eAAe,CAAE;;CAEnF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,MAAM,EAA8B;AACzD,EAAE,IAAI,QAAS,GAAE,KAAK,CAAA;AACtB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;AAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACzB,MAAM,OAAM;AACZ,KAAI;AACJ,IAAI,MAAM,KAAM,GAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;AACvF,IAAI,IAAI,KAAM,KAAI,IAAI,EAAE;AACxB,MAAM,MAAM,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,MAAM,IAAI,KAAM,IAAG,CAAC,EAAE;AACtB,QAAQ,KAAK,CAAC,gBAAA,GAAmB,KAAK,CAAC,CAAC,CAAC,CAAA;AACzC,QAAQ,KAAK,CAAC,SAAU,GAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,QAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,QAAA,GAAA,QAAA,CAAA;AACA,QAAA,QAAA,GAAA,IAAA,CAAA;AACA,OAAA;AACA,KAAA;AACA,GAAA,CAAA,CAAA;AACA,EAAA,OAAA,QAAA,CAAA;AACA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/wasm",
3
- "version": "7.94.1",
3
+ "version": "7.97.0",
4
4
  "description": "Support for WASM.",
5
5
  "repository": "git://github.com/getsentry/sentry-javascript.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/wasm",
@@ -29,9 +29,10 @@
29
29
  "access": "public"
30
30
  },
31
31
  "dependencies": {
32
- "@sentry/browser": "7.94.1",
33
- "@sentry/types": "7.94.1",
34
- "@sentry/utils": "7.94.1"
32
+ "@sentry/browser": "7.97.0",
33
+ "@sentry/core": "7.97.0",
34
+ "@sentry/types": "7.97.0",
35
+ "@sentry/utils": "7.97.0"
35
36
  },
36
37
  "sideEffects": false
37
38
  }
package/types/index.d.ts CHANGED
@@ -1,25 +1,20 @@
1
- import type { Event, Integration } from '@sentry/types';
1
+ import type { Event, Integration, IntegrationClass } from '@sentry/types';
2
+ export declare const wasmIntegration: () => import("@sentry/types").IntegrationFnResult;
2
3
  /**
3
4
  * Process WASM stack traces to support server-side symbolication.
4
5
  *
5
6
  * This also hooks the WebAssembly loading browser API so that module
6
- * registraitons are intercepted.
7
+ * registrations are intercepted.
8
+ *
9
+ * @deprecated Use `wasmIntegration` export instead
10
+ *
11
+ * import { wasmIntegration } from '@sentry/wasm';
12
+ *
13
+ * ```
14
+ * Sentry.init({ integrations: [wasmIntegration()] });
15
+ * ```
7
16
  */
8
- export declare class Wasm implements Integration {
9
- /**
10
- * @inheritDoc
11
- */
12
- static id: string;
13
- /**
14
- * @inheritDoc
15
- */
16
- name: string;
17
- constructor();
18
- /**
19
- * @inheritDoc
20
- */
21
- setupOnce(_addGlobalEventProcessor: unknown, _getCurrentHub: unknown): void;
22
- /** @inheritDoc */
23
- processEvent(event: Event): Event;
24
- }
17
+ export declare const Wasm: IntegrationClass<Integration & {
18
+ processEvent: (event: Event) => Event;
19
+ }>;
25
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AA2BpE;;;;;GAKG;AACH,qBAAa,IAAK,YAAW,WAAW;IACtC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAU;IAElC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;;IAMpB;;OAEG;IACI,SAAS,CAAC,wBAAwB,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAIlF,kBAAkB;IACX,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;CAkBzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAA6B,MAAM,eAAe,CAAC;AAkCrG,eAAO,MAAM,eAAe,mDAAsC,CAAC;AAEnE;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,IAAI;0BACuB,KAAK,KAAK,KAAK;EACtD,CAAC"}
@@ -1,25 +1,20 @@
1
- import { Event, Integration } from '@sentry/types';
1
+ import { Event, Integration, IntegrationClass } from '@sentry/types';
2
+ export declare const wasmIntegration: () => import("@sentry/types").IntegrationFnResult;
2
3
  /**
3
4
  * Process WASM stack traces to support server-side symbolication.
4
5
  *
5
6
  * This also hooks the WebAssembly loading browser API so that module
6
- * registraitons are intercepted.
7
+ * registrations are intercepted.
8
+ *
9
+ * @deprecated Use `wasmIntegration` export instead
10
+ *
11
+ * import { wasmIntegration } from '@sentry/wasm';
12
+ *
13
+ * ```
14
+ * Sentry.init({ integrations: [wasmIntegration()] });
15
+ * ```
7
16
  */
8
- export declare class Wasm implements Integration {
9
- /**
10
- * @inheritDoc
11
- */
12
- static id: string;
13
- /**
14
- * @inheritDoc
15
- */
16
- name: string;
17
- constructor();
18
- /**
19
- * @inheritDoc
20
- */
21
- setupOnce(_addGlobalEventProcessor: unknown, _getCurrentHub: unknown): void;
22
- /** @inheritDoc */
23
- processEvent(event: Event): Event;
24
- }
17
+ export declare const Wasm: IntegrationClass<Integration & {
18
+ processEvent: (event: Event) => Event;
19
+ }>;
25
20
  //# sourceMappingURL=index.d.ts.map