Skip to content

Commit bbbb2b7

Browse files
authored
ref: Remove dynamicRequire, Fix require call (getsentry#2521)
* ref: Remove dynamicRequire, Fix require call * meta: Changelog * feat: Add webpack bundle tests for node * ref: Add additional test case
1 parent 54cc984 commit bbbb2b7

File tree

9 files changed

+2854
-13
lines changed

9 files changed

+2854
-13
lines changed

CHANGELOG.md

+4
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+
## 5.15.2
8+
9+
- [hub] fix: Remove dynamicRequire, Fix require call (#2521)
10+
711
## 5.15.1
812

913
- [browser] fix: Prevent crash for react native instrumenting fetch (#2510)

packages/hub/src/hub.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,8 @@ export function getCurrentHub(): Hub {
454454
*/
455455
function getHubFromActiveDomain(registry: Carrier): Hub {
456456
try {
457-
const domain = require('domain');
457+
const req = require;
458+
const domain = req('domain');
458459
const activeDomain = domain.active;
459460

460461
// If there no active domain, just return global hub

packages/node/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,11 @@
5656
"fix": "run-s fix:tslint fix:prettier",
5757
"fix:prettier": "prettier --write \"{src,test}/**/*.ts\"",
5858
"fix:tslint": "tslint --fix -t stylish -p .",
59-
"test": "run-s test:jest test:express",
59+
"test": "run-s test:jest test:express test:webpack",
6060
"test:jest": "jest",
6161
"test:watch": "jest --watch",
6262
"test:express": "node test/manual/express-scope-separation/start.js",
63+
"test:webpack": "cd test/manual/webpack-domain/ && yarn && yarn webpack && node dist/bundle.js",
6364
"version": "node ../../scripts/versionbump.js src/version.ts"
6465
},
6566
"jest": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import * as Sentry from '@sentry/node';
2+
3+
let remaining = 2;
4+
5+
class DummyTransport {
6+
sendEvent(event) {
7+
--remaining;
8+
9+
if (!remaining) {
10+
console.error('SUCCESS: Webpack Node Domain test OK!');
11+
process.exit(0);
12+
}
13+
14+
return Promise.resolve({
15+
status: 'success',
16+
});
17+
}
18+
}
19+
20+
Sentry.init({
21+
dsn: 'https://a@example.com/1',
22+
transport: DummyTransport,
23+
beforeSend(event) {
24+
if (event.message === 'inside') {
25+
if (event.tags.a !== 'x' && event.tags.b !== 'c') {
26+
console.error('FAILED: Scope contains incorrect tags');
27+
process.exit(1);
28+
}
29+
}
30+
if (event.message === 'outside') {
31+
if (event.tags.a !== 'b') {
32+
console.error('FAILED: Scope contains incorrect tags');
33+
process.exit(1);
34+
}
35+
}
36+
return event;
37+
},
38+
});
39+
40+
Sentry.configureScope(scope => {
41+
scope.setTag('a', 'b');
42+
});
43+
44+
const d = require('domain').create();
45+
d.run(() => {
46+
Sentry.configureScope(scope => {
47+
scope.setTag('a', 'x');
48+
scope.setTag('b', 'c');
49+
});
50+
Sentry.captureMessage('inside');
51+
});
52+
53+
Sentry.captureMessage('outside');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"name": "webpack-domain",
3+
"version": "1.0.0",
4+
"main": "index.js",
5+
"license": "MIT",
6+
"dependencies": {
7+
"@sentry/node": "../../../",
8+
"webpack": "^4.42.1"
9+
},
10+
"devDependencies": {
11+
"webpack-cli": "^3.3.11"
12+
}
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const path = require('path');
2+
3+
module.exports = {
4+
entry: './index.js',
5+
output: {
6+
path: path.resolve(__dirname, 'dist'),
7+
filename: 'bundle.js'
8+
},
9+
target: "node",
10+
};

0 commit comments

Comments
 (0)