36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
|
const modulePaths = require('./modulePaths');
|
||
|
const resolve = require('path').resolve;
|
||
|
const fs = require('fs');
|
||
|
const { getDefaultConfig } = require("metro-config");
|
||
|
|
||
|
// Update the following line if the root folder of your app is somewhere else.
|
||
|
const ROOT_FOLDER = resolve(__dirname, '..');
|
||
|
|
||
|
module.exports = (async () => {
|
||
|
const {
|
||
|
resolver: { sourceExts, assetExts }
|
||
|
} = await getDefaultConfig();
|
||
|
return {
|
||
|
transformer: {
|
||
|
babelTransformerPath: require.resolve("react-native-svg-transformer"),
|
||
|
getTransformOptions: async () => {
|
||
|
const moduleMap = {};
|
||
|
modulePaths.forEach(path => {
|
||
|
if (fs.existsSync(path)) {
|
||
|
moduleMap[resolve(path)] = true;
|
||
|
}
|
||
|
});
|
||
|
return {
|
||
|
preloadedModules: moduleMap,
|
||
|
transform: { inlineRequires: { blacklist: moduleMap } },
|
||
|
}
|
||
|
},
|
||
|
},
|
||
|
projectRoot:ROOT_FOLDER,
|
||
|
resolver: {
|
||
|
assetExts: assetExts.filter(ext => ext !== "svg"),
|
||
|
sourceExts: [...sourceExts, "svg"]
|
||
|
}
|
||
|
};
|
||
|
})();
|