dir.files("./", function(err, files) {
    console.log(files);
});

dir.files("./", function(err, files) {
    // sort descending
    files.reverse();
    // include only certain filenames
    files = files.filter(function(file: any) {
       return ['allowed', 'file', 'names'].indexOf(file) > -1;
    });
    // exclude some filenames
    files = files.filter(function(file: any) {
        return ['exclude', 'these', 'files'].indexOf(file) === -1;
    });
});

dir.subdirs("./", function(err, subdirs) {
    console.log(subdirs);
});

dir.paths("./", function(err, paths) {
    console.log('files:\n', paths.files);
    console.log('subdirs:\n', paths.dirs);
});

dir.paths("./", true, function(err, paths) {
    console.log('paths:\n', paths);
});
Example #2
0
dir.subdirs(rootDir + '/rules/', (err, subdirs) => {
    const hostRule = (ruleName, subdir, subdirS) => {
        dir.files(subdir, (err, files) => {
            if (err) {
                throw err;
            }

            let relativeDir = '/gamerules/';
            for (let i = 2; i < subdirS.length; i = i + 1) {
                relativeDir += subdirS[i] + '/';
            }

            files.forEach((file) => {
                const fileS = file.split(/[\/\\]/);
                const route = relativeDir + fileS[fileS.length - 1];
                console.log('Setting route ' + route + ' => ' + file);
                app.get(route, (req, res) => {
                    res.sendFile(file);
                });
            });

        });
    }

    subdirs.forEach((subdir) => {
        const relativeDir = subdir.replace(rootDir, '');

        const subdirS = relativeDir.split(/[\/\\]/);
        const ruleName = subdirS[2];

        console.log('Hosting rule ' + ruleName + ' path:' + relativeDir);
        hostRule(ruleName, subdir, subdirS);
    });
});