'Metro extend @expo/metro-config with sass & svg transformers

I am not able to run eas build -p android in a React Native project created with expo. This is what I get:

It looks like that you are using a custom metro.config.js that does not extend @expo/metro-config.

My metro.config.js file:

const { getDefaultConfig } = require('@expo/metro-config');

module.exports = (async () => {
    const {
        resolver: { sourceExts, assetExts }
    } = await getDefaultConfig(__dirname);
    return {
        transformer: {
            babelTransformerPath: require.resolve('./transformersBundle.js')
        },
        resolver: {
            assetExts: assetExts.filter(
                (ext) => ext !== 'svg' && ext !== 'scss'
            ),
            sourceExts: [...sourceExts, 'svg', 'scss', 'sass']
        }
    };
})();

The transformersBundle.js code:

var sassTransformer = require('react-native-sass-transformer');
var svgTransformer = require('react-native-svg-transformer');

module.exports.transform = function ({ src, filename, options }) {
    if (filename.endsWith('.scss') || filename.endsWith('.sass')) {
        return sassTransformer.transform({ src, filename, options });
    } /* if (filename.endsWith('.svg')) */ else {
        return svgTransformer.transform({ src, filename, options });
    }
};



Solution 1:[1]

in datafile.upload_from_filename(filedata) can you try replace filedata with filename or path of needed file

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Nguyen