Skip to content

Commit 00080db

Browse files
committed
fix(metro): Fixes Metro 0.83.2 breakages (#5206)
1 parent 3734864 commit 00080db

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
99
## Unreleased
1010

11+
### Fixes
12+
13+
- Fix baseJSBundle and bundleToString TypeErrors with Metro 0.83.2 ([#5206](https://github.com/getsentry/sentry-react-native/pull/5206))
14+
1115
### Dependencies
1216

1317
- Bump Cocoa SDK from v8.53.2 to v8.56.2 ([#5214](https://github.com/getsentry/sentry-react-native/pull/5214))

packages/core/src/js/tools/vendor/metro/utils.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ import type * as baseJSBundleType from 'metro/private/DeltaBundler/Serializers/b
3030
import type * as sourceMapStringType from 'metro/private/DeltaBundler/Serializers/sourceMapString';
3131
import type * as bundleToStringType from 'metro/private/lib/bundleToString';
3232

33-
let baseJSBundle: typeof baseJSBundleType;
33+
let baseJSBundleModule: any;
3434
try {
35-
baseJSBundle = require('metro/private/DeltaBundler/Serializers/baseJSBundle');
36-
} catch (e) {
37-
baseJSBundle = require('metro/src/DeltaBundler/Serializers/baseJSBundle');
35+
baseJSBundleModule = require('metro/private/DeltaBundler/Serializers/baseJSBundle');
36+
} catch {
37+
baseJSBundleModule = require('metro/src/DeltaBundler/Serializers/baseJSBundle');
3838
}
3939

40+
const baseJSBundle: typeof baseJSBundleType =
41+
typeof baseJSBundleModule === 'function'
42+
? baseJSBundleModule
43+
: // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
44+
baseJSBundleModule?.baseJSBundle ?? baseJSBundleModule?.default;
45+
4046
let sourceMapString: typeof sourceMapStringType;
4147
try {
4248
// eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -51,14 +57,22 @@ try {
5157
}
5258
}
5359

54-
let bundleToString: typeof bundleToStringType;
60+
let bundleToStringModule: any;
5561
try {
56-
bundleToString = require('metro/private/lib/bundleToString');
57-
} catch (e) {
58-
bundleToString = require('metro/src/lib/bundleToString');
62+
bundleToStringModule = require('metro/private/lib/bundleToString');
63+
} catch {
64+
bundleToStringModule = require('metro/src/lib/bundleToString');
5965
}
6066

67+
<<<<<<< HEAD
6168
import type { MetroSerializer } from '../../utils';
69+
=======
70+
const bundleToString: typeof bundleToStringType =
71+
typeof bundleToStringModule === 'function'
72+
? bundleToStringModule
73+
: // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
74+
bundleToStringModule?.bundleToString ?? bundleToStringModule?.default;
75+
>>>>>>> 1b4d7642 (fix(metro): Fixes Metro 0.83.2 breakages (#5206))
6276

6377
type NewSourceMapStringExport = {
6478
// Since Metro v0.80.10 https://github.com/facebook/metro/compare/v0.80.9...v0.80.10#diff-1b836d1729e527a725305eef0cec22e44605af2700fa413f4c2489ea1a03aebcL28

0 commit comments

Comments
 (0)