Check if a node.js module is available

javascript, node.js

Solution

There is a more clever way if you only want to check whether a module is available (but not load it if it's not):

function moduleAvailable(name) {
    try {
        require.resolve(name);
        return true;
    } catch(e){}
    return false;
}

if (moduleAvailable('mongodb')) {
    // yeah we've got it!
}

Problem

I'm looking for a way to find out if a module is available. For example, I want to check if the module `mongodb` is available, programmatically. Also, it shouldn't halt the program if a module isn't found, I want to handle this myself. PS: I added this question because Google isn't helpful.

Original source