Skip to content

Commit 9109494

Browse files
authored
Merge branch 'master' into feat/next-js
2 parents 1110fdb + 478af3a commit 9109494

File tree

30 files changed

+247
-126
lines changed

30 files changed

+247
-126
lines changed

.craft.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,5 @@ targets:
6666
versions:
6767
- nodejs10.x
6868
- nodejs12.x
69+
- nodejs14.x
6970
license: MIT

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
66

7+
## 6.2.1
8+
9+
- [core] fix: Moves SDK metadata-setting into the `NodeClient/BrowserClient` to protect it from being overwritten by other classes extending `BaseClient` like @sentry/serverless (#3279)
10+
711
## 6.2.0
812

913
- [tracing] feat: Mongoose tracing support added to MongoDB (#3252)

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"lerna": "3.4.0",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"packages": "packages/*",
55
"npmClient": "yarn",
66
"useWorkspaces": true

packages/angular/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/angular",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Offical Sentry SDK for Angular",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/angular",
@@ -21,17 +21,17 @@
2121
"@angular/router": "10.x || 11.x"
2222
},
2323
"dependencies": {
24-
"@sentry/browser": "6.1.0",
25-
"@sentry/types": "6.1.0",
26-
"@sentry/utils": "6.1.0",
24+
"@sentry/browser": "6.2.1",
25+
"@sentry/types": "6.2.1",
26+
"@sentry/utils": "6.2.1",
2727
"rxjs": "^6.6.0",
2828
"tslib": "^1.9.3"
2929
},
3030
"devDependencies": {
3131
"@angular/common": "^10.0.3",
3232
"@angular/core": "^10.0.3",
3333
"@angular/router": "^10.0.3",
34-
"@sentry-internal/eslint-config-sdk": "6.1.0",
34+
"@sentry-internal/eslint-config-sdk": "6.2.1",
3535
"eslint": "7.6.0",
3636
"npm-run-all": "^4.1.2",
3737
"prettier": "1.19.0",

packages/browser/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/browser",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Official Sentry SDK for browsers",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/browser",
@@ -16,13 +16,13 @@
1616
"access": "public"
1717
},
1818
"dependencies": {
19-
"@sentry/core": "6.1.0",
20-
"@sentry/types": "6.1.0",
21-
"@sentry/utils": "6.1.0",
19+
"@sentry/core": "6.2.1",
20+
"@sentry/types": "6.2.1",
21+
"@sentry/utils": "6.2.1",
2222
"tslib": "^1.9.3"
2323
},
2424
"devDependencies": {
25-
"@sentry-internal/eslint-config-sdk": "6.1.0",
25+
"@sentry-internal/eslint-config-sdk": "6.2.1",
2626
"@types/eslint": "^7.2.0",
2727
"@types/md5": "2.1.33",
2828
"btoa": "^1.2.1",

packages/browser/src/client.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BaseClient, Scope } from '@sentry/core';
1+
import { BaseClient, Scope, SDK_VERSION } from '@sentry/core';
22
import { Event, EventHint } from '@sentry/types';
33
import { getGlobalObject, logger } from '@sentry/utils';
44

@@ -19,6 +19,18 @@ export class BrowserClient extends BaseClient<BrowserBackend, BrowserOptions> {
1919
* @param options Configuration options for this SDK.
2020
*/
2121
public constructor(options: BrowserOptions = {}) {
22+
options._metadata = options._metadata || {};
23+
options._metadata.sdk = options._metadata.sdk || {
24+
name: 'sentry.javascript.browser',
25+
packages: [
26+
{
27+
name: 'npm:@sentry/browser',
28+
version: SDK_VERSION,
29+
},
30+
],
31+
version: SDK_VERSION,
32+
};
33+
2234
super(BrowserBackend, options);
2335
}
2436

packages/browser/src/sdk.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { getCurrentHub, initAndBind, Integrations as CoreIntegrations, SDK_VERSION } from '@sentry/core';
1+
import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';
22
import { addInstrumentationHandler, getGlobalObject, logger, SyncPromise } from '@sentry/utils';
33

44
import { BrowserOptions } from './backend';
@@ -88,18 +88,6 @@ export function init(options: BrowserOptions = {}): void {
8888
options.autoSessionTracking = true;
8989
}
9090

91-
options._metadata = options._metadata || {};
92-
options._metadata.sdk = {
93-
name: 'sentry.javascript.browser',
94-
packages: [
95-
{
96-
name: 'npm:@sentry/browser',
97-
version: SDK_VERSION,
98-
},
99-
],
100-
version: SDK_VERSION,
101-
};
102-
10391
initAndBind(BrowserClient, options);
10492

10593
if (options.autoSessionTracking) {

packages/browser/test/unit/index.test.ts

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { SDK_VERSION } from '@sentry/core';
12
import { expect } from 'chai';
23
import { SinonSpy, spy } from 'sinon';
34

@@ -177,11 +178,67 @@ describe('SentryBrowser initialization', () => {
177178
expect(global.__SENTRY__.hub._stack[0].client.getOptions().release).to.equal('foobar');
178179
delete global.SENTRY_RELEASE;
179180
});
181+
180182
it('should have initialization proceed as normal if window.SENTRY_RELEASE is not set', () => {
181183
// This is mostly a happy-path test to ensure that the initialization doesn't throw an error.
182184
init({ dsn });
183185
expect(global.__SENTRY__.hub._stack[0].client.getOptions().release).to.be.undefined;
184186
});
187+
188+
describe('SDK metadata', () => {
189+
it('should set SDK data when Sentry.init() is called', () => {
190+
init({ dsn });
191+
192+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
193+
const sdkData = (getCurrentHub().getClient() as any)._backend._transport._api.metadata?.sdk;
194+
195+
expect(sdkData.name).to.equal('sentry.javascript.browser');
196+
expect(sdkData.packages[0].name).to.equal('npm:@sentry/browser');
197+
expect(sdkData.packages[0].version).to.equal(SDK_VERSION);
198+
expect(sdkData.version).to.equal(SDK_VERSION);
199+
});
200+
201+
it('should set SDK data when instantiating a client directly', () => {
202+
const client = new BrowserClient({ dsn });
203+
204+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
205+
const sdkData = (client as any)._backend._transport._api.metadata?.sdk;
206+
207+
expect(sdkData.name).to.equal('sentry.javascript.browser');
208+
expect(sdkData.packages[0].name).to.equal('npm:@sentry/browser');
209+
expect(sdkData.packages[0].version).to.equal(SDK_VERSION);
210+
expect(sdkData.version).to.equal(SDK_VERSION);
211+
});
212+
213+
// wrapper packages (like @sentry/angular and @sentry/react) set their SDK data in their `init` methods, which are
214+
// called before the client is instantiated, and we don't want to clobber that data
215+
it("shouldn't overwrite SDK data that's already there", () => {
216+
init({
217+
dsn,
218+
// this would normally be set by the wrapper SDK in init()
219+
_metadata: {
220+
sdk: {
221+
name: 'sentry.javascript.angular',
222+
packages: [
223+
{
224+
name: 'npm:@sentry/angular',
225+
version: SDK_VERSION,
226+
},
227+
],
228+
version: SDK_VERSION,
229+
},
230+
},
231+
});
232+
233+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
234+
const sdkData = (getCurrentHub().getClient() as any)._backend._transport._api.metadata?.sdk;
235+
236+
expect(sdkData.name).to.equal('sentry.javascript.angular');
237+
expect(sdkData.packages[0].name).to.equal('npm:@sentry/angular');
238+
expect(sdkData.packages[0].version).to.equal(SDK_VERSION);
239+
expect(sdkData.version).to.equal(SDK_VERSION);
240+
});
241+
});
185242
});
186243

187244
describe('wrap()', () => {

packages/core/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/core",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Base implementation for all Sentry JavaScript SDKs",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/core",
@@ -16,14 +16,14 @@
1616
"access": "public"
1717
},
1818
"dependencies": {
19-
"@sentry/hub": "6.1.0",
20-
"@sentry/minimal": "6.1.0",
21-
"@sentry/types": "6.1.0",
22-
"@sentry/utils": "6.1.0",
19+
"@sentry/hub": "6.2.1",
20+
"@sentry/minimal": "6.2.1",
21+
"@sentry/types": "6.2.1",
22+
"@sentry/utils": "6.2.1",
2323
"tslib": "^1.9.3"
2424
},
2525
"devDependencies": {
26-
"@sentry-internal/eslint-config-sdk": "6.1.0",
26+
"@sentry-internal/eslint-config-sdk": "6.2.1",
2727
"eslint": "7.6.0",
2828
"jest": "^24.7.1",
2929
"npm-run-all": "^4.1.2",

packages/core/src/version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const SDK_VERSION = '6.1.0';
1+
export const SDK_VERSION = '6.2.1';

packages/ember/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/ember",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Offical Sentry SDK for Ember.js",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/ember",
@@ -33,10 +33,10 @@
3333
"dependencies": {
3434
"@embroider/macros": ">=0.25.0",
3535
"@embroider/test-setup": "^0.35.1",
36-
"@sentry/browser": "6.1.0",
37-
"@sentry/tracing": "6.1.0",
38-
"@sentry/types": "6.1.0",
39-
"@sentry/utils": "6.1.0",
36+
"@sentry/browser": "6.2.1",
37+
"@sentry/tracing": "6.2.1",
38+
"@sentry/types": "6.2.1",
39+
"@sentry/utils": "6.2.1",
4040
"ember-auto-import": "^1.6.0",
4141
"ember-cli-babel": "^7.20.5",
4242
"ember-cli-htmlbars": "^5.1.2",
@@ -47,7 +47,7 @@
4747
"@embroider/compat": "^0.35.1",
4848
"@glimmer/component": "^1.0.0",
4949
"@glimmer/tracking": "^1.0.0",
50-
"@sentry-internal/eslint-config-sdk": "6.1.0",
50+
"@sentry-internal/eslint-config-sdk": "6.2.1",
5151
"@types/ember": "^3.16.3",
5252
"@types/ember-qunit": "^3.4.9",
5353
"@types/ember__test-helpers": "^1.7.0",

packages/eslint-config-sdk/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/eslint-config-sdk",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Official Sentry SDK eslint config",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/eslint-config-sdk",
@@ -19,8 +19,8 @@
1919
"access": "public"
2020
},
2121
"dependencies": {
22-
"@sentry-internal/eslint-plugin-sdk": "6.1.0",
23-
"@sentry-internal/typescript": "6.1.0",
22+
"@sentry-internal/eslint-plugin-sdk": "6.2.1",
23+
"@sentry-internal/typescript": "6.2.1",
2424
"@typescript-eslint/eslint-plugin": "^3.9.0",
2525
"@typescript-eslint/parser": "^3.9.0",
2626
"eslint-config-prettier": "^6.11.0",

packages/eslint-plugin-sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/eslint-plugin-sdk",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Official Sentry SDK eslint plugin",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/eslint-plugin-sdk",

packages/gatsby/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/gatsby",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Offical Sentry SDK for Gatsby.js",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/gatsby",
@@ -26,14 +26,14 @@
2626
"access": "public"
2727
},
2828
"dependencies": {
29-
"@sentry/react": "6.1.0",
30-
"@sentry/tracing": "6.1.0"
29+
"@sentry/react": "6.2.1",
30+
"@sentry/tracing": "6.2.1"
3131
},
3232
"peerDependencies": {
3333
"gatsby": "*"
3434
},
3535
"devDependencies": {
36-
"@sentry-internal/eslint-config-sdk": "6.1.0",
36+
"@sentry-internal/eslint-config-sdk": "6.2.1",
3737
"@testing-library/react": "^10.4.9",
3838
"eslint": "7.6.0",
3939
"jest": "^24.7.1",

packages/hub/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/hub",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Sentry hub which handles global state managment.",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/hub",
@@ -16,12 +16,12 @@
1616
"access": "public"
1717
},
1818
"dependencies": {
19-
"@sentry/types": "6.1.0",
20-
"@sentry/utils": "6.1.0",
19+
"@sentry/types": "6.2.1",
20+
"@sentry/utils": "6.2.1",
2121
"tslib": "^1.9.3"
2222
},
2323
"devDependencies": {
24-
"@sentry-internal/eslint-config-sdk": "6.1.0",
24+
"@sentry-internal/eslint-config-sdk": "6.2.1",
2525
"eslint": "7.6.0",
2626
"jest": "^24.7.1",
2727
"npm-run-all": "^4.1.2",

packages/integrations/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/integrations",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Pluggable integrations that can be used to enhance JS SDKs",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/integrations",
@@ -16,13 +16,13 @@
1616
"module": "esm/index.js",
1717
"types": "dist/index.d.ts",
1818
"dependencies": {
19-
"@sentry/types": "6.1.0",
20-
"@sentry/utils": "6.1.0",
19+
"@sentry/types": "6.2.1",
20+
"@sentry/utils": "6.2.1",
2121
"localforage": "^1.8.1",
2222
"tslib": "^1.9.3"
2323
},
2424
"devDependencies": {
25-
"@sentry-internal/eslint-config-sdk": "6.1.0",
25+
"@sentry-internal/eslint-config-sdk": "6.2.1",
2626
"chai": "^4.1.2",
2727
"eslint": "7.6.0",
2828
"jest": "^24.7.1",

packages/minimal/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/minimal",
3-
"version": "6.1.0",
3+
"version": "6.2.1",
44
"description": "Sentry minimal library that can be used in other packages",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/minimal",
@@ -16,12 +16,12 @@
1616
"access": "public"
1717
},
1818
"dependencies": {
19-
"@sentry/hub": "6.1.0",
20-
"@sentry/types": "6.1.0",
19+
"@sentry/hub": "6.2.1",
20+
"@sentry/types": "6.2.1",
2121
"tslib": "^1.9.3"
2222
},
2323
"devDependencies": {
24-
"@sentry-internal/eslint-config-sdk": "6.1.0",
24+
"@sentry-internal/eslint-config-sdk": "6.2.1",
2525
"eslint": "7.6.0",
2626
"jest": "^24.7.1",
2727
"npm-run-all": "^4.1.2",

0 commit comments

Comments
 (0)