Files
iNaturalistReactNative/metro.config.js
2025-12-02 21:01:50 +01:00

42 lines
1.2 KiB
JavaScript

/**
* Metro configuration for React Native
* https://reactnative.dev/docs/metro
* with added config for react-native-svg-transformer
* https://www.npmjs.com/package/react-native-svg-transformer?activeTab
*
* @format
*/
// eslint-disable-next-line import/no-unresolved
const { getDefaultConfig, mergeConfig } = require( "@react-native/metro-config" );
const {
resolver: { sourceExts, assetExts }
} = getDefaultConfig();
const localPackagePaths = [
// If you reference any local paths in package.json, you'll need to list them here
];
/**
* Metro configuration
* https://facebook.github.io/metro/docs/configuration
*
* @type {import('@react-native/metro-config').MetroConfig}
*/
const config = {
transformer: {
babelTransformerPath: require.resolve( "react-native-svg-transformer/react-native" )
},
resolver: {
assetExts: assetExts.filter( ext => ext !== "svg" ),
sourceExts:
process.env.MOCK_MODE === "e2e"
? ["e2e-mock", ...sourceExts, "svg"]
: [...sourceExts, "svg"],
nodeModulesPaths: [...localPackagePaths]
},
watchFolders: [...localPackagePaths]
};
module.exports = mergeConfig( getDefaultConfig( __dirname ), config );