Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

React Native Error Cannot find module 'metro-config/src/defaults/blacklist'

I'm currently working on a project in React Native, yesterday it was working perfectly with no errors, and now all of a sudden I'm getting this error.

error Cannot find module 'metro-config/src/defaults/blacklist'
Require stack:
- /Users/sri/Downloads/cc_x/reactnativelcsapp/VitalitiApp/metro.config.js

I've tried soo many solutions, removing the node modules and installing it back, updating the modules, looking to change the backlist. I've checked my files and I can't find the blacklist file but I'm trying to fix it but honestly have no idea how to fix it. I was wondering if anyone would know what to do.

like image 209
Sri Amin Avatar asked Jun 18 '21 17:06

Sri Amin


3 Answers

the blacklist file seems to be renamed as exclusionList

const blacklist = require('metro-config/src/defaults/exclusionList');

use this line instead in metro.config.js

like image 76
vinay sandesh Avatar answered Oct 18 '22 03:10

vinay sandesh


In newer versions of metro-config the function is now called exclusionList. So change the blacklist reference with exclusionList in metro-config.js file which is located in the project root directory.

const exclusionList = require('metro-config/src/defaults/exclusionList');

If still issue persists, then add metro-config as a dev dependency:

npm install -D metro-config
like image 3
Codemaker Avatar answered Oct 18 '22 02:10

Codemaker


I had the same Issue as others. Changing it to

const exclusionList = require('metro-config/src/defaults/exclusionList');

Fixed my issue.

I had to create metro.config.js and insert the following code since I was using AWS Amplify:

const blacklist = require('metro-config/src/defaults/exclusionList');

module.exports = {
    resolver: {
        blacklistRE: blacklist([/amplify\/#current-cloud-backend\/.*/]),
    },
    transformer: {
        getTransformOptions: async () => ({
            transform: {
                experimentalImportSupport: false,
                inlineRequires: false,
            },
        }),
    },
};
like image 3
Micah Katz Avatar answered Oct 18 '22 02:10

Micah Katz