@nativescript-community/sentry 2.1.0 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,55 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.0.3](https://github.com/nativescript-community/sentry/compare/v3.0.2...v3.0.3) (2022-01-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **android:** build fix by adding mavenCentral ([2d61ffc](https://github.com/nativescript-community/sentry/commit/2d61ffc755ef7fe396ae7a16e585d461bd025eb3))
12
+
13
+
14
+
15
+
16
+
17
+ ## [3.0.2](https://github.com/nativescript-community/sentry/compare/v3.0.1...v3.0.2) (2022-01-24)
18
+
19
+ **Note:** Version bump only for package @nativescript-community/sentry
20
+
21
+
22
+
23
+
24
+
25
+ ## [3.0.1](https://github.com/nativescript-community/sentry/compare/v3.0.0...v3.0.1) (2021-10-31)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **android:** gradle 7.0 support ([23a60b4](https://github.com/nativescript-community/sentry/commit/23a60b49b6ac26c4930ef153d38026a2ceadf522))
31
+
32
+
33
+
34
+
35
+
36
+ # [3.0.0](https://github.com/nativescript-community/sentry/compare/v2.1.1...v3.0.0) (2021-09-21)
37
+
38
+ **Note:** Version bump only for package @nativescript-community/sentry
39
+
40
+
41
+
42
+
43
+
44
+ ## [2.1.1](https://github.com/nativescript-community/sentry/compare/v2.1.0...v2.1.1) (2021-09-21)
45
+
46
+
47
+ ### Bug Fixes
48
+
49
+ * move to latest SDKs ([34e37fd](https://github.com/nativescript-community/sentry/commit/34e37fdea216741f76a99bf748c036b5319e3218))
50
+
51
+
52
+
53
+
54
+
6
55
  # [2.1.0](https://github.com/nativescript-community/sentry/compare/v2.0.8...v2.1.0) (2021-02-24)
7
56
 
8
57
 
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
- [![npm](https://img.shields.io/npm/v/nativescript-community/sentry.svg)](https://www.npmjs.com/package/nativescript-community/sentry)
2
- [![npm](https://img.shields.io/npm/dt/nativescript-community/sentry.svg?label=npm%20downloads)](https://www.npmjs.com/package/nativescript-community/sentry)
1
+ [![npm](https://img.shields.io/npm/v/@nativescript-community/sentry.svg)](https://www.npmjs.com/package/@nativescript-community/sentry)
2
+ [![npm](https://img.shields.io/npm/dt/@nativescript-community/sentry.svg?label=npm%20downloads)](https://www.npmjs.com/package/@nativescript-community/sentry)
3
3
  [![GitHub forks](https://img.shields.io/github/forks/nativescript-community/sentry.svg)](https://github.com/nativescript-community/sentry/network)
4
4
  [![GitHub stars](https://img.shields.io/github/stars/nativescript-community/sentry.svg)](https://github.com/nativescript-community/sentry/stargazers)
5
5
 
@@ -9,12 +9,96 @@
9
9
 
10
10
  Be sure to run a new build after adding plugins to avoid any issues.
11
11
 
12
- # Usage
12
+ # Configuration
13
+
14
+ ## Webpack
15
+
16
+ You will need to add something like this to your webpack config so that the source maps gets uploaded. I dont set `auth` or `project` in the options as i use a `.sentryclirc` config file.
17
+ * `SOURCEMAP_REL_DIR`: i almost always set it to `../../sourcemaps`
18
+ * `SENTRY_PREFIX`: i almost always set it to `app:///`
19
+ ```javascript
20
+ if (!!sentry && !!uploadSentry) {
21
+ config.devtool = false;
22
+ config.plugins.push(
23
+ new webpack.SourceMapDevToolPlugin({
24
+ append: `\n//# sourceMappingURL=${process.env.SENTRY_PREFIX}[name].js.map`,
25
+ filename: join(process.env.SOURCEMAP_REL_DIR, '[name].js.map')
26
+ })
27
+ );
28
+ let appVersion;
29
+ let buildNumber;
30
+ if (isAndroid) {
31
+ const gradlePath = `${appResourcesPath}/Android/app.gradle`;
32
+ const gradleData = readFileSync(gradlePath, 'utf8');
33
+ appVersion = gradleData.match(/versionName "((?:[0-9]+\.?)+)"/)[1];
34
+ buildNumber = gradleData.match(/versionCode ([0-9]+)/)[1];
35
+ } else if (isIOS) {
36
+ const plistPath = `${appResourcesPath}/iOS/Info.plist`;
37
+ const plistData = readFileSync(plistPath, 'utf8');
38
+ appVersion = plistData.match(/<key>CFBundleShortVersionString<\/key>[\s\n]*<string>(.*?)<\/string>/)[1];
39
+ buildNumber = plistData.match(/<key>CFBundleVersion<\/key>[\s\n]*<string>([0-9]*)<\/string>/)[1];
40
+ }
41
+ config.plugins.push(
42
+ new SentryCliPlugin({
43
+ release: appVersion,
44
+ urlPrefix: 'app:///',
45
+ rewrite: true,
46
+ release: `${nconfig.id}@${appVersion}+${buildNumber}`,
47
+ dist: `${buildNumber}.${platform}`,
48
+ ignoreFile: '.sentrycliignore',
49
+ include: [join(dist, process.env.SOURCEMAP_REL_DIR)]
50
+ })
51
+ );
52
+ }
53
+ ```
54
+
55
+ ## Fastlane
56
+
57
+ If you use fastlane you can use it to create release and upload dsyms
58
+ To do that you need to install it:
59
+ ```sh
60
+ fastlane add_plugin sentry
61
+ ```
62
+ Also for now you should install `nativescript-set-version` as it is needed to read app version, build number.
63
+ ```sh
64
+ npm install -D nativescript-set-version
65
+ ```
66
+
67
+ Now you can setup your `Fastfile`
68
+ * create release
69
+ ```
70
+ version = ""
71
+ versionCode = ""
72
+
73
+ Dir.chdir("..") do
74
+ version = sh("./node_modules/.bin/get-version", platform, "version").gsub(/\n/,'')
75
+ versionCode = sh("./node_modules/.bin/get-version", platform, "code").gsub(/\n/,'')
76
+ end
77
+ sentry_create_release(
78
+ version: version, # release version to create
79
+ )
80
+ ```
81
+
82
+ * upload dsyms
83
+ ```
84
+ sentry_upload_dsym
85
+ ```
86
+
87
+ # Usage in the app
13
88
 
14
89
  ```typescript
15
90
  import * as Sentry from '@nativescript-community/sentry';
91
+ import { getBuildNumber } from '@nativescript-community/extendedinfo';
92
+
93
+ const buildNumber = await getBuildNumber();
94
+ // setting the platform in dist allows to have
95
+ // android and ios dist inside the same release
96
+ const dist = `${buildNumber}.${global.isAndroid ? 'android' : 'ios'}`;
16
97
  Sentry.init({
17
- dsn: "__DSN__"
98
+ dsn: "__DSN__",
99
+ // SENTRY_PREFIX is the same as the one you use in webpack config
100
+ appPrefix: SENTRY_PREFIX,
101
+ dist
18
102
  });
19
103
  ```
20
104
 
package/backend.d.ts CHANGED
@@ -23,6 +23,16 @@ export interface NativescriptOptions extends BrowserOptions {
23
23
  /** Maximum time to wait to drain the request queue, before the process is allowed to exit. */
24
24
  shutdownTimeout?: number;
25
25
  sessionTrackingIntervalMillis?: number;
26
+ /** Enable scope sync from Java to NDK on Android */
27
+ enableNdkScopeSync?: boolean;
28
+ /** When enabled, all the threads are automatically attached to all logged events on Android */
29
+ attachThreads?: boolean;
30
+ /**
31
+ * When enabled, certain personally identifiable information (PII) is added by active integrations.
32
+ *
33
+ * @default false
34
+ * */
35
+ sendDefaultPii?: boolean;
26
36
  /** Should the native nagger alert be shown or not. */
27
37
  /**
28
38
  * Optional prefix to add while rewriting frames
@@ -38,6 +48,9 @@ export interface NativescriptOptions extends BrowserOptions {
38
48
  sentry?: boolean;
39
49
  xhr?: boolean;
40
50
  };
51
+ /** Enable auto performance tracking by default. */
52
+ enableAutoPerformanceTracking?: boolean;
53
+ flushSendEvent?: boolean;
41
54
  }
42
55
  /** The Sentry Nativescript SDK Backend. */
43
56
  export declare class NativescriptBackend extends BaseBackend<BrowserOptions> {
@@ -68,8 +81,8 @@ export declare class NativescriptBackend extends BaseBackend<BrowserOptions> {
68
81
  eventFromMessage(message: string, level?: Severity, hint?: EventHint): SyncPromise<Event>;
69
82
  }
70
83
  /**
71
- * Convert js severity level which has critical and log to more widely supported levels.
72
- * @param level
73
- * @returns More widely supported Severity level strings
74
- */
84
+ * Convert js severity level which has critical and log to more widely supported levels.
85
+ * @param level
86
+ * @returns More widely supported Severity level strings
87
+ */
75
88
  export declare function _processLevel(level: Severity): Severity;
package/backend.js CHANGED
@@ -12,17 +12,7 @@ export class NativescriptBackend extends BaseBackend {
12
12
  this._options = _options;
13
13
  this._browserBackend = new BrowserBackend(_options);
14
14
  if (_options.enableNative !== false) {
15
- NSSentry.startWithDsnString(_options.dsn, _options).then(() => {
16
- NSSentry.setLogLevel(_options.debug ? 2 : 1);
17
- });
18
- }
19
- else {
20
- // if (__DEV__ && _options.enableNativeNagger) {
21
- // Alert.alert(
22
- // 'Sentry',
23
- // 'Warning, could not connect to Sentry native SDK.\nIf you do not want to use the native component please pass `enableNative: false` in the options.\nVisit: https://docs.sentry.io/clients/react-native/ for more details.'
24
- // );
25
- // }
15
+ NSSentry.startWithDsnString(_options.dsn, _options);
26
16
  }
27
17
  }
28
18
  /**
@@ -72,10 +62,10 @@ export class NativescriptBackend extends BaseBackend {
72
62
  }
73
63
  }
74
64
  /**
75
- * Convert js severity level which has critical and log to more widely supported levels.
76
- * @param level
77
- * @returns More widely supported Severity level strings
78
- */
65
+ * Convert js severity level which has critical and log to more widely supported levels.
66
+ * @param level
67
+ * @returns More widely supported Severity level strings
68
+ */
79
69
  export function _processLevel(level) {
80
70
  if (level === Severity.Critical) {
81
71
  return Severity.Fatal;
package/backend.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAoB,QAAQ,EAAa,MAAM,eAAe,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkDtC,2CAA2C;AAC3C,MAAM,OAAO,mBAAoB,SAAQ,WAA2B;IAGhE,mDAAmD;IACnD,YAAsC,QAA6B;QAC/D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADkB,aAAQ,GAAR,QAAQ,CAAqB;QAE/D,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,QAAQ,CAAC,YAAY,KAAK,KAAK,EAAE;YACjC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1D,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;SACN;aAAM;YACH,gDAAgD;YAChD,mBAAmB;YACnB,oBAAoB;YACpB,sOAAsO;YACtO,SAAS;YACT,IAAI;SACP;IACL,CAAC;IAED;;OAEG;IACO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpB,6DAA6D;YAC7D,OAAO,IAAI,aAAa,EAAE,CAAC;SAC9B;QAED,MAAM,gBAAgB,mCACf,IAAI,CAAC,QAAQ,CAAC,gBAAgB,KACjC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,GACzB,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACzB,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SACxD;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE;YACpC,OAAO,IAAI,eAAe,EAAE,CAAC;SAChC;QAED,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,2BAA2B;QAC/B,OAAO,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,eAAe,CAAC;IACtE,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC5B,0CAA0C;YAC1C,QAAQ,CAAC,KAAK,EAAE,CAAC;SACpB;IACL,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,SAAc,EAAE,IAAgB;QACtD,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;IAC3E,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAe,EAAE,QAAkB,QAAQ,CAAC,IAAI,EAAE,IAAgB;QACtF,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAQ,CAAC;IAC9E,CAAC;CACJ;AAGD;;;;EAIE;AACF,MAAM,UAAU,aAAa,CAAC,KAAe;IACzC,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,EAAE;QAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC;KACzB;IACD,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,EAAE;QACxB,OAAO,QAAQ,CAAC,KAAK,CAAC;KACzB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAoB,QAAQ,EAAa,MAAM,eAAe,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAoEtC,2CAA2C;AAC3C,MAAM,OAAO,mBAAoB,SAAQ,WAA2B;IAGhE,mDAAmD;IACnD,YAAsC,QAA6B;QAC/D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADkB,aAAQ,GAAR,QAAQ,CAAqB;QAE/D,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,QAAQ,CAAC,YAAY,KAAK,KAAK,EAAE;YACjC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACvD;IACL,CAAC;IAED;;OAEG;IACO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpB,6DAA6D;YAC7D,OAAO,IAAI,aAAa,EAAE,CAAC;SAC9B;QAED,MAAM,gBAAgB,mCACf,IAAI,CAAC,QAAQ,CAAC,gBAAgB,KACjC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,GACzB,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACzB,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SACxD;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE;YACpC,OAAO,IAAI,eAAe,EAAE,CAAC;SAChC;QAED,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,2BAA2B;QAC/B,OAAO,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,eAAe,CAAC;IACtE,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC5B,0CAA0C;YAC1C,QAAQ,CAAC,KAAK,EAAE,CAAC;SACpB;IACL,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,SAAc,EAAE,IAAgB;QACtD,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;IAC3E,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,OAAe,EAAE,QAAkB,QAAQ,CAAC,IAAI,EAAE,IAAgB;QACtF,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAQ,CAAC;IAC9E,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAe;IACzC,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,EAAE;QAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC;KACzB;IACD,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,EAAE;QACxB,OAAO,QAAQ,CAAC,KAAK,CAAC;KACzB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
package/client.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { BaseClient, Scope } from '@sentry/core';
2
- import { Event, EventHint } from '@sentry/types';
3
- import { SyncPromise } from '@sentry/utils';
1
+ import { BaseClient } from '@sentry/core';
4
2
  import { NativescriptBackend, NativescriptOptions } from './backend';
5
3
  /**
6
4
  * The Sentry React Native SDK Client.
@@ -15,12 +13,12 @@ export declare class NativescriptClient extends BaseClient<NativescriptBackend,
15
13
  */
16
14
  constructor(options: NativescriptOptions);
17
15
  /**
18
- * @inheritDoc
19
- */
20
- protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): SyncPromise<Event | null>;
21
- /**
22
- * If native client is available it will trigger a native crash.
23
- * Use this only for testing purposes.
24
- */
16
+ * If native client is available it will trigger a native crash.
17
+ * Use this only for testing purposes.
18
+ */
25
19
  nativeCrash(): void;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ close(): PromiseLike<boolean>;
26
24
  }
package/client.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BaseClient } from '@sentry/core';
2
2
  import { NativescriptBackend } from './backend';
3
- import { SDK_NAME, SDK_VERSION } from './version';
3
+ import { NSSentry } from './nssentry';
4
4
  /**
5
5
  * The Sentry React Native SDK Client.
6
6
  *
@@ -16,25 +16,18 @@ export class NativescriptClient extends BaseClient {
16
16
  super(NativescriptBackend, options);
17
17
  }
18
18
  /**
19
- * @inheritDoc
20
- */
21
- _prepareEvent(event, scope, hint) {
22
- event.platform = event.platform || 'javascript';
23
- event.sdk = Object.assign(Object.assign({}, event.sdk), { name: SDK_NAME, packages: [
24
- ...((event.sdk && event.sdk.packages) || []),
25
- {
26
- name: 'npm:@nativescript-community/sentry',
27
- version: SDK_VERSION
28
- }
29
- ], version: SDK_VERSION });
30
- return super._prepareEvent(event, scope, hint);
31
- }
32
- /**
33
- * If native client is available it will trigger a native crash.
34
- * Use this only for testing purposes.
35
- */
19
+ * If native client is available it will trigger a native crash.
20
+ * Use this only for testing purposes.
21
+ */
36
22
  nativeCrash() {
37
23
  this._getBackend().nativeCrash();
38
24
  }
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ close() {
29
+ // As super.close() flushes queued events, we wait for that to finish before closing the native SDK.
30
+ return super.close().then((result) => NSSentry.closeNativeSdk().then(() => result));
31
+ }
39
32
  }
40
33
  //# sourceMappingURL=client.js.map
package/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,cAAc,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,UAAoD;IACxF;;;OAGG;IACH,YAAmB,OAA4B;QAC3C,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,KAAY,EAAE,KAAa,EAAE,IAAgB;QACjE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;QAChD,KAAK,CAAC,GAAG,mCACF,KAAK,CAAC,GAAG,KACZ,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE;gBACN,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5C;oBACI,IAAI,EAAE,oCAAoC;oBAC1C,OAAO,EAAE,WAAW;iBACvB;aACJ,EACD,OAAO,EAAE,WAAW,GACvB,CAAC;QAEF,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAQ,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;CACJ"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,UAAoD;IACxF;;;OAGG;IACH,YAAmB,OAA4B;QAC3C,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;KAGC;IACM,WAAW;QACd,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;KAEC;IACM,KAAK;QACZ,oGAAoG;QAChG,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,MAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAyB,CAAC,CAAC;IACzH,CAAC;CACJ"}
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
+ import '@sentry/tracing';
1
2
  import * as Integrations from './integrations';
2
3
  import { NSSentry } from './nssentry';
3
4
  export { addBreadcrumb, addGlobalEventProcessor, captureEvent, captureException, captureMessage, configureScope, getCurrentHub, getHubFromCarrier, Hub, Scope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope } from '@sentry/core';
4
- import '@sentry/tracing';
5
5
  export { Breadcrumb, Event, Exception, Request, Response, SdkInfo, Severity, StackFrame, Stacktrace, Status, Thread, User } from '@sentry/types';
6
6
  export { NativescriptBackend, NativescriptOptions } from './backend';
7
7
  export { NativescriptClient as NativescriptClient } from './client';
@@ -9,5 +9,5 @@ export { init, nativeCrash, setDist, setRelease } from './sdk';
9
9
  export { NSTracing } from './tracing';
10
10
  export { SDK_NAME, SDK_VERSION } from './version';
11
11
  export { Integrations };
12
- declare const captureUserFeedback: typeof NSSentry.captureUserFeedback;
13
12
  export { captureUserFeedback };
13
+ declare const captureUserFeedback: typeof NSSentry.captureUserFeedback;
package/index.js CHANGED
@@ -1,10 +1,10 @@
1
+ // We need to import it so we patch the hub with global functions
2
+ // aka. this has side effects
3
+ import '@sentry/tracing';
1
4
  import * as Integrations from './integrations';
2
5
  import { NSSentry } from './nssentry';
3
6
  // logger.disable(); // this crashes for {N} for now
4
7
  export { addBreadcrumb, addGlobalEventProcessor, captureEvent, captureException, captureMessage, configureScope, getCurrentHub, getHubFromCarrier, Hub, Scope, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope } from '@sentry/core';
5
- // We need to import it so we patch the hub with global functions
6
- // aka. this has side effects
7
- import '@sentry/tracing';
8
8
  export { Severity, Status } from '@sentry/types';
9
9
  export { NativescriptBackend } from './backend';
10
10
  export { NativescriptClient as NativescriptClient } from './client';
@@ -12,6 +12,6 @@ export { init, nativeCrash, setDist, setRelease } from './sdk';
12
12
  export { NSTracing } from './tracing';
13
13
  export { SDK_NAME, SDK_VERSION } from './version';
14
14
  export { Integrations };
15
- const captureUserFeedback = NSSentry.captureUserFeedback;
16
15
  export { captureUserFeedback };
16
+ const captureUserFeedback = NSSentry.captureUserFeedback;
17
17
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,oDAAoD;AACpD,OAAO,EACH,aAAa,EAAE,uBAAuB,EAGtC,YAAY,EAAE,gBAAgB,EAE9B,cAAc,EACd,cAAc,EAEd,aAAa,EAAE,iBAAiB,EAEhC,GAAG,EACH,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACZ,MAAM,cAAc,CAAC;AAEtB,iEAAiE;AACjE,6BAA6B;AAC7B,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAA4D,QAAQ,EAA0B,MAAM,EAAgB,MAAM,eAAe,CAAC;AACjJ,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EACH,SAAS,EACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AACzD,OAAO,EACH,mBAAmB,EACtB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,6BAA6B;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,oDAAoD;AACpD,OAAO,EACH,aAAa,EAAE,uBAAuB,EACtC,YAAY,EAAE,gBAAgB,EAC9B,cAAc,EACd,cAAc,EACd,aAAa,EAAE,iBAAiB,EAChC,GAAG,EACH,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAA4D,QAAQ,EAA0B,MAAM,EAAgB,MAAM,eAAe,CAAC;AACjJ,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EACH,SAAS,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EACH,mBAAmB,EACtB,CAAC;AAEF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EventProcessor, Integration } from "@sentry/types";
2
+ /** Default EventOrigin instrumentation */
3
+ export declare class EventOrigin implements Integration {
4
+ /**
5
+ * @inheritDoc
6
+ */
7
+ static id: string;
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ name: string;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ setupOnce(addGlobalEventProcessor: (e: EventProcessor) => void): void;
16
+ }
@@ -0,0 +1,26 @@
1
+ /** Default EventOrigin instrumentation */
2
+ export class EventOrigin {
3
+ constructor() {
4
+ /**
5
+ * @inheritDoc
6
+ */
7
+ this.name = EventOrigin.id;
8
+ }
9
+ /**
10
+ * @inheritDoc
11
+ */
12
+ setupOnce(addGlobalEventProcessor) {
13
+ addGlobalEventProcessor((event) => {
14
+ var _a;
15
+ event.tags = (_a = event.tags) !== null && _a !== void 0 ? _a : {};
16
+ event.tags["event.origin"] = "javascript";
17
+ event.tags["event.environment"] = "javascript";
18
+ return event;
19
+ });
20
+ }
21
+ }
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ EventOrigin.id = "EventOrigin";
26
+ //# sourceMappingURL=eventorigin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventorigin.js","sourceRoot":"","sources":["../../src/integrations/eventorigin.ts"],"names":[],"mappings":"AAEA,0CAA0C;AAC1C,MAAM,OAAO,WAAW;IAAxB;QAME;;WAEG;QACI,SAAI,GAAW,WAAW,CAAC,EAAE,CAAC;IAevC,CAAC;IAbC;;OAEG;IACI,SAAS,CAAC,uBAAoD;QACnE,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE;;YAChC,KAAK,CAAC,IAAI,SAAG,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;YAE9B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC;YAE/C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;;AAtBD;;GAEG;AACW,cAAE,GAAW,aAAa,CAAC"}
@@ -13,31 +13,41 @@ export class Release {
13
13
  */
14
14
  setupOnce() {
15
15
  addGlobalEventProcessor(async (event) => {
16
+ var _a, _b, _c;
16
17
  const self = getCurrentHub().getIntegration(Release);
17
18
  if (!self) {
18
19
  return event;
19
20
  }
21
+ const options = (_a = getCurrentHub().getClient()) === null || _a === void 0 ? void 0 : _a.getOptions();
22
+ /*
23
+ __sentry_release and __sentry_dist is set by the user with setRelease and setDist. If this is used then this is the strongest.
24
+ Otherwise we check for the release and dist in the options passed on init, as this is stronger than the release/dist from the native build.
25
+ */
26
+ if (typeof ((_b = event.extra) === null || _b === void 0 ? void 0 : _b.__sentry_release) === 'string') {
27
+ event.release = `${event.extra.__sentry_release}`;
28
+ }
29
+ else if (typeof (options === null || options === void 0 ? void 0 : options.release) === 'string') {
30
+ event.release = options.release;
31
+ }
32
+ if (typeof ((_c = event.extra) === null || _c === void 0 ? void 0 : _c.__sentry_dist) === 'string') {
33
+ event.dist = `${event.extra.__sentry_dist}`;
34
+ }
35
+ else if (typeof (options === null || options === void 0 ? void 0 : options.dist) === 'string') {
36
+ event.dist = options.dist;
37
+ }
38
+ if (event.release && event.dist) {
39
+ return event;
40
+ }
20
41
  try {
21
- const release = (await NSSentry.fetchRelease());
42
+ const release = (await NSSentry.fetchNativeRelease());
22
43
  if (release) {
23
- if (!event.release) {
24
- event.release = `${release.id}-${release.version}`;
25
- }
26
- if (!event.dist) {
27
- event.dist = `${release.build}`;
28
- }
44
+ event.release = `${release.id}@${release.version}+${release.build}`;
45
+ event.dist = `${release.build}`;
29
46
  }
30
47
  }
31
48
  catch (_Oo) {
32
49
  // Something went wrong, we just continue
33
50
  }
34
- // If __sentry_release or __sentry_dist it should be stronger because the user set it
35
- if (event.extra && event.extra.__sentry_release) {
36
- event.release = `${event.extra.__sentry_release}`;
37
- }
38
- if (event.extra && event.extra.__sentry_dist) {
39
- event.dist = `${event.extra.__sentry_dist}`;
40
- }
41
51
  return event;
42
52
  });
43
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/integrations/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,iEAAiE;AACjE,MAAM,OAAO,OAAO;IAApB;QACI;;WAEG;QACI,SAAI,GAAW,OAAO,CAAC,EAAE,CAAC;IA6CrC,CAAC;IAvCG;;OAEG;IACI,SAAS;QACZ,uBAAuB,CAAC,KAAK,EAAE,KAAY,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO,KAAK,CAAC;aAChB;YAED,IAAI;gBACA,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,CAI7C,CAAC;gBACF,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBAChB,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;qBACtD;oBACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBACb,KAAK,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;qBACnC;iBACJ;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,yCAAyC;aAC5C;YAED,qFAAqF;YACrF,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC7C,KAAK,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;aACrD;YACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC1C,KAAK,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC/C;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;;AA3CD;;GAEG;AACW,UAAE,GAAW,SAAS,CAAC"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/integrations/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,iEAAiE;AACjE,MAAM,OAAO,OAAO;IAApB;QACI;;WAEG;QACI,SAAI,GAAW,OAAO,CAAC,EAAE,CAAC;IAmDrC,CAAC;IA7CG;;OAEG;IACI,SAAS;QACZ,uBAAuB,CAAC,KAAK,EAAE,KAAY,EAAE,EAAE;;YAC3C,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO,KAAK,CAAC;aAChB;YACD,MAAM,OAAO,SAAG,aAAa,EAAE,CAAC,SAAS,EAAE,0CAAE,UAAU,EAAE,CAAC;YAC1D;;;QAGJ;YACI,IAAI,cAAO,KAAK,CAAC,KAAK,0CAAE,gBAAgB,CAAA,KAAK,QAAQ,EAAE;gBACnD,KAAK,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;aACrD;iBAAM,IAAI,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,KAAK,QAAQ,EAAE;gBAC7C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;aACnC;YAED,IAAI,cAAO,KAAK,CAAC,KAAK,0CAAE,aAAa,CAAA,KAAK,QAAQ,EAAE;gBAChD,KAAK,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC/C;iBAAM,IAAI,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;gBAC1C,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;aAC7B;YAED,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;gBAC7B,OAAO,KAAK,CAAC;aAChB;YACD,IAAI;gBACA,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAInD,CAAC;gBACF,IAAI,OAAO,EAAE;oBACT,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACpE,KAAK,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;iBACnC;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,yCAAyC;aAC5C;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;;AAjDD;;GAEG;AACW,UAAE,GAAW,SAAS,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { EventProcessor, Integration } from "@sentry/types";
2
+ /** Default SdkInfo instrumentation */
3
+ export declare class SdkInfo implements Integration {
4
+ /**
5
+ * @inheritDoc
6
+ */
7
+ static id: string;
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ name: string;
12
+ private _nativeSdkInfo;
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ setupOnce(addGlobalEventProcessor: (e: EventProcessor) => void): void;
17
+ }
@@ -0,0 +1,48 @@
1
+ import { logger } from "@sentry/utils";
2
+ import { SDK_NAME, SDK_VERSION } from "../version";
3
+ import { NSSentry } from '../nssentry';
4
+ /** Default SdkInfo instrumentation */
5
+ export class SdkInfo {
6
+ constructor() {
7
+ /**
8
+ * @inheritDoc
9
+ */
10
+ this.name = SdkInfo.id;
11
+ this._nativeSdkInfo = null;
12
+ }
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ setupOnce(addGlobalEventProcessor) {
17
+ addGlobalEventProcessor(async (event) => {
18
+ var _a;
19
+ // The native SDK info package here is only used on iOS as `beforeSend` is not called on `captureEnvelope`.
20
+ // this._nativeSdkInfo should be defined a following time so this call won't always be awaited.
21
+ if (global.isIOS && this._nativeSdkInfo === null) {
22
+ try {
23
+ this._nativeSdkInfo = await NSSentry.fetchNativeSdkInfo();
24
+ }
25
+ catch (e) {
26
+ // If this fails, go ahead as usual as we would rather have the event be sent with a package missing.
27
+ logger.warn("[SdkInfo] Native SDK Info retrieval failed...something could be wrong with your Sentry installation:");
28
+ logger.warn(e);
29
+ }
30
+ }
31
+ event.platform = event.platform || "javascript";
32
+ event.sdk = Object.assign(Object.assign({}, ((_a = event.sdk) !== null && _a !== void 0 ? _a : {})), { name: SDK_NAME, packages: [
33
+ ...((event.sdk && event.sdk.packages) || []),
34
+ ...((this._nativeSdkInfo && [this._nativeSdkInfo]) || []),
35
+ {
36
+ name: "npm:@nativescript-community/sentry",
37
+ version: SDK_VERSION,
38
+ },
39
+ ], version: SDK_VERSION });
40
+ return event;
41
+ });
42
+ }
43
+ }
44
+ /**
45
+ * @inheritDoc
46
+ */
47
+ SdkInfo.id = "SdkInfo";
48
+ //# sourceMappingURL=sdkinfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkinfo.js","sourceRoot":"","sources":["../../src/integrations/sdkinfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,sCAAsC;AACtC,MAAM,OAAO,OAAO;IAApB;QAME;;WAEG;QACI,SAAI,GAAW,OAAO,CAAC,EAAE,CAAC;QAEzB,mBAAc,GAAmB,IAAI,CAAC;IAuChD,CAAC;IArCC;;OAEG;IACI,SAAS,CAAC,uBAAoD;QACnE,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;YACtC,2GAA2G;YAC3G,+FAA+F;YAC/F,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;gBAChD,IAAI;oBACF,IAAI,CAAC,cAAc,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;iBAC3D;gBAAC,OAAO,CAAC,EAAE;oBACV,qGAAqG;oBACrG,MAAM,CAAC,IAAI,CACT,sGAAsG,CACvG,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChB;aACF;YAED,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;YAChD,KAAK,CAAC,GAAG,mCACJ,OAAC,KAAK,CAAC,GAAG,mCAAI,EAAE,CAAC,KACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE;oBACR,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC5C,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzD;wBACE,IAAI,EAAE,oCAAoC;wBAC1C,OAAO,EAAE,WAAW;qBACrB;iBACF,EACD,OAAO,EAAE,WAAW,GACrB,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;;AAhDD;;GAEG;AACW,UAAE,GAAW,SAAS,CAAC"}
@@ -1,20 +1,29 @@
1
- import { Event, Response } from '@sentry/types';
1
+ import { Breadcrumb, Event, Response, User } from '@sentry/types';
2
2
  import { NativescriptOptions } from './backend';
3
3
  import { UserFeedback } from './nssentry';
4
4
  export declare namespace NSSentry {
5
5
  const nativeClientAvailable = true;
6
6
  const nativeTransport = true;
7
- function fetchRelease(): {
8
- id: string;
9
- version: string;
10
- build: number;
11
- };
12
7
  function sendEvent(event: Event): Promise<Response>;
13
8
  function captureEnvelope(envelope: string): Promise<void>;
14
9
  function flush(timeout: number): void;
15
- function startWithDsnString(dsnString: string, options: NativescriptOptions): Promise<Response>;
16
- function setLogLevel(level: number): void;
10
+ function startWithDsnString(dsnString: string, options?: NativescriptOptions): Promise<Response>;
11
+ function fetchNativeSdkInfo(): {};
12
+ function fetchNativeRelease(): {
13
+ id: any;
14
+ version: any;
15
+ build: string;
16
+ };
17
+ function closeNativeSdk(): void;
17
18
  function crash(): void;
18
19
  function deviceContexts(): Promise<any>;
19
20
  function captureUserFeedback(feedback: UserFeedback): void;
21
+ function setUser(user: User | null, otherUserKeys: any): void;
22
+ function setTag(key: string, value: string): void;
23
+ function setExtra(key: string, extra: string): void;
24
+ function addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): void;
25
+ function clearBreadcrumbs(): void;
26
+ function setContext(key: string, context: {
27
+ [key: string]: any;
28
+ } | null): void;
20
29
  }