これにはOSヘルプを使用できます。クロスプラットフォームソリューションは次のとおりです。
1.以下の関数はls、dir再帰的に検索し、検索しませんが、相対パスを持っています
var exec = require('child_process').exec;
function findFiles(folder,extension,cb){
    var command = "";
    if(/^win/.test(process.platform)){
        command = "dir /B "+folder+"\\*."+extension;
    }else{
        command = "ls -1 "+folder+"/*."+extension;
    }
    exec(command,function(err,stdout,stderr){
        if(err)
            return cb(err,null);
        
        stdout = stdout.replace(/\r/g,"");
        var files = stdout.split("\n");
        
        files.splice(-1,1);
        cb(err,files);
    });
}
findFiles("folderName","html",function(err,files){
    console.log("files:",files);
})
2.次の関数はfindandを使用してdir再帰的に検索しますが、Windowsでは絶対パスがあります
var exec = require('child_process').exec;
function findFiles(folder,extension,cb){
    var command = "";
    if(/^win/.test(process.platform)){
        command = "dir /B /s "+folder+"\\*."+extension;
    }else{
        command = 'find '+folder+' -name "*.'+extension+'"'
    }
    exec(command,function(err,stdout,stderr){
        if(err)
            return cb(err,null);
        
        stdout = stdout.replace(/\r/g,"");
        var files = stdout.split("\n");
        
        files.splice(-1,1);
        cb(err,files);
    });
}
findFiles("folder","html",function(err,files){
    console.log("files:",files);
})