Skip to content

Commit d32dae9

Browse files
committed
test(e2e): Enable ESM loader test
fix? hm Bump node version Bump node version bump ci? hm . . test(e2e): Re-active & fix node-express-esm-loader test app
1 parent 5bd457d commit d32dae9

File tree

10 files changed

+27
-29
lines changed

10 files changed

+27
-29
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ jobs:
10031003
'create-remix-app-express',
10041004
'create-remix-app-express-vite-dev',
10051005
'debug-id-sourcemaps',
1006-
# 'esm-loader-node-express-app', # This is currently broken for upstream reasons. See https://github.com/getsentry/sentry-javascript/pull/11338#issuecomment-2025450675
1006+
'node-express-esm-loader',
10071007
'nextjs-app-dir',
10081008
'nextjs-14',
10091009
'react-create-hash-router',

dev-packages/e2e-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"yaml": "2.2.2"
2828
},
2929
"volta": {
30-
"node": "18.18.0",
30+
"node": "18.19.1",
3131
"yarn": "1.22.19",
3232
"pnpm": "8.15.5"
3333
}

dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/package.json renamed to dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11
{
2-
"name": "node-express-app",
2+
"name": "node-express-esm-loader",
33
"version": "1.0.0",
44
"private": true,
55
"scripts": {
6-
"start": "node --import=@sentry/node/import-hook src/app.mjs",
6+
"start": "node --import ./src/instrument.mjs src/app.mjs",
77
"clean": "npx rimraf node_modules,pnpm-lock.yaml",
88
"test:build": "pnpm install",
99
"test:assert": "playwright test"
1010
},
1111
"dependencies": {
1212
"@sentry/node": "latest || *",
13-
"@sentry/types": "latest || *",
14-
"express": "4.19.2",
15-
"@types/express": "4.17.17",
16-
"@types/node": "18.15.1",
17-
"typescript": "4.9.5"
13+
"@sentry/opentelemetry": "latest || *",
14+
"express": "4.19.2"
1815
},
1916
"devDependencies": {
2017
"@sentry-internal/event-proxy-server": "link:../../../event-proxy-server",
21-
"@playwright/test": "^1.27.1",
22-
"ts-node": "10.9.1"
18+
"@playwright/test": "^1.27.1"
2319
},
2420
"volta": {
2521
"extends": "../../package.json",

dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/playwright.config.ts renamed to dev-packages/e2e-tests/test-applications/node-express-esm-loader/playwright.config.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ const config: PlaywrightTestConfig = {
5353
/* Run your local dev server before starting the tests */
5454
webServer: [
5555
{
56-
command: 'pnpm ts-node-script start-event-proxy.ts',
56+
command: 'pnpm ts-node-script start-event-proxy.mjs',
5757
port: eventProxyPort,
58+
stdout: 'pipe',
59+
stderr: 'pipe',
5860
},
5961
{
6062
command: 'pnpm start',

dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/src/app.mjs renamed to dev-packages/e2e-tests/test-applications/node-express-esm-loader/src/app.mjs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
import * as Sentry from '@sentry/node';
2-
3-
Sentry.init({
4-
environment: 'qa', // dynamic sampling bias to keep transactions
5-
dsn: process.env.E2E_TEST_DSN,
6-
debug: true,
7-
tunnel: `http://localhost:3031/`, // proxy server
8-
tracesSampleRate: 1,
9-
});
1+
// @ts-check
102

3+
import * as Sentry from '@sentry/node';
114
import express from 'express';
125

136
const app = express();
@@ -36,7 +29,6 @@ app.get('/test-error', function (req, res) {
3629

3730
Sentry.setupExpressErrorHandler(app);
3831

39-
// @ts-ignore
4032
app.use(function onError(err, req, res, next) {
4133
// The error id is attached to `res.sentry` to be returned
4234
// and optionally displayed to the user for support.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import * as Sentry from '@sentry/node';
2+
3+
Sentry.init({
4+
environment: 'qa', // dynamic sampling bias to keep transactions
5+
dsn: process.env.E2E_TEST_DSN,
6+
tunnel: `http://localhost:3031/`, // proxy server
7+
tracesSampleRate: 1,
8+
});

dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/start-event-proxy.ts renamed to dev-packages/e2e-tests/test-applications/node-express-esm-loader/start-event-proxy.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ import { startEventProxyServer } from '@sentry-internal/event-proxy-server';
22

33
startEventProxyServer({
44
port: 3031,
5-
proxyServerName: 'esm-loader-node-express-app',
5+
proxyServerName: 'node-express-esm-loader',
66
});

dev-packages/e2e-tests/test-applications/esm-loader-node-express-app/tests/server.test.ts renamed to dev-packages/e2e-tests/test-applications/node-express-esm-loader/tests/server.test.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test';
22
import { waitForError, waitForTransaction } from '@sentry-internal/event-proxy-server';
33

44
test('Should record exceptions captured inside handlers', async ({ request }) => {
5-
const errorEventPromise = waitForError('esm-loader-node-express-app', errorEvent => {
5+
const errorEventPromise = waitForError('node-express-esm-loader', errorEvent => {
66
return !!errorEvent?.exception?.values?.[0]?.value?.includes('This is an error');
77
});
88

@@ -12,8 +12,7 @@ test('Should record exceptions captured inside handlers', async ({ request }) =>
1212
});
1313

1414
test('Should record a transaction for a parameterless route', async ({ request }) => {
15-
const transactionEventPromise = waitForTransaction('esm-loader-node-express-app', transactionEvent => {
16-
console.log('txn', transactionEvent.transaction);
15+
const transactionEventPromise = waitForTransaction('node-express-esm-loader', transactionEvent => {
1716
return transactionEvent?.transaction === 'GET /test-success';
1817
});
1918

@@ -22,9 +21,9 @@ test('Should record a transaction for a parameterless route', async ({ request }
2221
await expect(transactionEventPromise).resolves.toBeDefined();
2322
});
2423

25-
test('Should record a transaction for route with aparameters', async ({ request }) => {
26-
const transactionEventPromise = waitForTransaction('esm-loader-node-express-app', transactionEvent => {
27-
return transactionEvent?.transaction === 'GET /test-transaction/:param';
24+
test('Should record a transaction for route with parameters', async ({ request }) => {
25+
const transactionEventPromise = waitForTransaction('node-express-esm-loader', transactionEvent => {
26+
return transactionEvent?.transaction === 'GET /test-transaction/1';
2827
});
2928

3029
await request.get('/test-transaction/1');

dev-packages/event-proxy-server/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"fix": "eslint . --format stylish --fix",
3535
"lint": "eslint . --format stylish",
3636
"build": "run-s build:transpile build:types",
37+
"build:tarball": "run-s build:transpile build:types",
3738
"build:dev": "yarn build",
3839
"build:transpile": "rollup -c rollup.npm.config.mjs",
3940
"build:types": "tsc -p tsconfig.types.json",

0 commit comments

Comments
 (0)