Skip to content

Commit 156da01

Browse files
committed
update e2e test to test for new node
1 parent 914316c commit 156da01

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
},
1414
"dependencies": {
1515
"@sentry/node-experimental": "latest || *",
16+
"@sentry/node": "latest || *",
1617
"@sentry/sveltekit": "latest || *",
1718
"@sentry/remix": "latest || *",
1819
"@sentry/astro": "latest || *",

dev-packages/e2e-tests/test-applications/node-exports-test-app/scripts/consistentExports.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,49 @@
11
import * as SentryAstro from '@sentry/astro';
22
import * as SentryBun from '@sentry/bun';
33
import * as SentryNextJs from '@sentry/nextjs';
4-
import * as SentryNode from '@sentry/node-experimental';
4+
import * as SentryNode from '@sentry/node';
5+
import * as SentryNodeExperimental from '@sentry/node-experimental';
56
import * as SentryRemix from '@sentry/remix';
67
import * as SentryServerless from '@sentry/serverless';
78
import * as SentrySvelteKit from '@sentry/sveltekit';
89

10+
/* List of exports that are safe to ignore / we don't require in any depending package */
11+
const NODE_EXPERIMENTAL_EXPORTS_IGNORE = [
12+
'default',
13+
// Probably generated by transpilation, no need to require it
14+
'__esModule',
15+
];
16+
917
/* List of exports that are safe to ignore / we don't require in any depending package */
1018
const NODE_EXPORTS_IGNORE = [
1119
'default',
1220
// Probably generated by transpilation, no need to require it
1321
'__esModule',
14-
// These Node exports were only made for type definition fixes (see #10339)
15-
'Undici',
16-
'Http',
17-
'DebugSession',
18-
'AnrIntegrationOptions',
19-
'LocalVariablesIntegrationOptions',
2022
];
2123

24+
/* Sanitized list of node exports */
25+
const nodeExperimentalExports = Object.keys(SentryNodeExperimental).filter(
26+
e => !NODE_EXPERIMENTAL_EXPORTS_IGNORE.includes(e),
27+
);
28+
const nodeExports = Object.keys(SentryNode).filter(e => !NODE_EXPORTS_IGNORE.includes(e));
29+
2230
type Dependent = {
2331
package: string;
2432
exports: string[];
2533
ignoreExports?: string[];
2634
skip?: boolean;
35+
compareWith: string[];
2736
};
2837

2938
const DEPENDENTS: Dependent[] = [
3039
{
3140
package: '@sentry/astro',
41+
compareWith: nodeExports,
3242
exports: Object.keys(SentryAstro),
3343
},
3444
{
3545
package: '@sentry/bun',
46+
compareWith: nodeExperimentalExports,
3647
exports: Object.keys(SentryBun),
3748
ignoreExports: [
3849
// not supported in bun:
@@ -44,35 +55,36 @@ const DEPENDENTS: Dependent[] = [
4455
},
4556
{
4657
package: '@sentry/nextjs',
58+
compareWith: nodeExperimentalExports,
4759
// Next.js doesn't require explicit exports, so we can just merge top level and `default` exports:
4860
// @ts-expect-error: `default` is not in the type definition but it's defined
4961
exports: Object.keys({ ...SentryNextJs, ...SentryNextJs.default }),
5062
},
5163
{
5264
package: '@sentry/remix',
65+
compareWith: nodeExperimentalExports,
5366
exports: Object.keys(SentryRemix),
5467
},
5568
{
5669
package: '@sentry/serverless',
70+
compareWith: nodeExperimentalExports,
5771
exports: Object.keys(SentryServerless),
5872
ignoreExports: ['cron', 'hapiErrorPlugin'],
5973
},
6074
{
6175
package: '@sentry/sveltekit',
76+
compareWith: nodeExperimentalExports,
6277
exports: Object.keys(SentrySvelteKit),
6378
},
6479
];
6580

66-
/* Sanitized list of node exports */
67-
const nodeExports = Object.keys(SentryNode).filter(e => !NODE_EXPORTS_IGNORE.includes(e));
68-
6981
console.log('🔎 Checking for consistent exports of @sentry/node exports in depending packages');
7082

7183
const missingExports: Record<string, string[]> = {};
7284
const dependentsToCheck = DEPENDENTS.filter(d => !d.skip);
7385

74-
for (const nodeExport of nodeExports) {
75-
for (const dependent of dependentsToCheck) {
86+
for (const dependent of dependentsToCheck) {
87+
for (const nodeExport of dependent.compareWith) {
7688
if (dependent.ignoreExports?.includes(nodeExport)) {
7789
continue;
7890
}

0 commit comments

Comments
 (0)