-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmetro.config.js
56 lines (51 loc) · 1.78 KB
/
metro.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const { mergeConfig } = require("@react-native/metro-config");
const { getSentryExpoConfig } = require("@sentry/react-native/metro");
const defaultConfig = getSentryExpoConfig(__dirname);
const resolveRequestWithPackageExports = (context, moduleName, platform) => {
if (moduleName.startsWith("@privy-io/")) {
const ctx = {
...context,
unstable_enablePackageExports: true,
};
return ctx.resolveRequest(ctx, moduleName, platform);
}
return context.resolveRequest(context, moduleName, platform);
};
const converseMetroConfig = {
...defaultConfig,
transformer: {
...defaultConfig.transformer,
// getTransformOptions: async () => ({
// transform: {
// // Maybe enable this later https://docs.expo.dev/guides/tree-shaking/
// // experimentalImportSupport: true,
// // inlineRequires: true,
// },
// }),
// Enable SVG file transformation into React components
babelTransformerPath: require.resolve("react-native-svg-transformer"),
},
resolver: {
...defaultConfig.resolver,
resolveRequest: resolveRequestWithPackageExports,
assetExts: defaultConfig.resolver.assetExts.filter((ext) => ext !== "svg"),
sourceExts: [
...defaultConfig.resolver.sourceExts,
// Handle SVG files as source code
"svg",
// Support .mjs files (required for Expo 49 compatibility)
"mjs",
],
extraNodeModules: {
// Not sure if this is needed
...require("expo-crypto-polyfills"),
// Not sure if this is needed
zlib: require.resolve("browserify-zlib"),
},
// Not sure if this is needed
unstable_enablePackageExports: true,
// Not sure if this is needed
unstable_conditionNames: ["react-native", "browser", "require"],
},
};
module.exports = converseMetroConfig;