-
Notifications
You must be signed in to change notification settings - Fork 1
/
metro.config.js
80 lines (73 loc) · 2.53 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**
* Metro configuration for React Native
* https://github.com/facebook/react-native
*
* @format
*/
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
const defaultConfig = getDefaultConfig(__dirname);
const {
resolver: { sourceExts, assetExts },
} = getDefaultConfig(__dirname);
const config = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
babelTransformerPath: require.resolve('react-native-svg-transformer'),
},
resolver: {
extraNodeModules: {
crypto: require.resolve('react-native-crypto'),
fs: require.resolve('react-native-level-fs'),
http: require.resolve('@tradle/react-native-http'),
https: require.resolve('https-browserify'),
net: require.resolve('react-native-tcp'),
os: require.resolve('react-native-os'),
path: require.resolve('path-browserify'),
stream: require.resolve('stream-browserify'),
vm: require.resolve('vm-browserify'),
zlib: require.resolve('react-zlib-js'),
},
assetExts: assetExts.filter(ext => ext !== 'svg'),
sourceExts: [...sourceExts, 'svg'],
},
};
module.exports = mergeConfig(defaultConfig, config);
// const extraNodeModules = require('node-libs-browser');
// const {getDefaultConfig} = require('@react-native/metro-config');
// module.exports = (async () => {
// const {
// resolver: {sourceExts, assetExts},
// } = await getDefaultConfig();
// return {
// //resetCache: true,
// transformer: {
// babelTransformerPath: require.resolve('react-native-svg-transformer'),
// getTransformOptions: async () => ({
// transform: {
// experimentalImportSupport: false,
// inlineRequires: false,
// },
// }),
// },
// resolver: {
// extraNodeModules: {
// crypto: require.resolve('react-native-crypto'),
// fs: require.resolve('react-native-level-fs'),
// http: require.resolve('@tradle/react-native-http'),
// https: require.resolve('https-browserify'),
// net: require.resolve('react-native-tcp'),
// os: require.resolve('react-native-os'),
// path: require.resolve('path-browserify'),
// stream: require.resolve('stream-browserify'),
// vm: require.resolve('vm-browserify'),
// },
// assetExts: assetExts.filter((ext) => ext !== 'svg'),
// sourceExts: [...sourceExts, 'js', 'json', 'ts', 'tsx', 'cjs', 'svg'],
// },
// };
// })();