serverless
Version:
Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more
33 lines (28 loc) • 798 B
JavaScript
;
const path = require('path');
const fs = require('fs');
function walkDirSync(dirPath, opts) {
const options = Object.assign(
{
noLinks: false,
},
opts
);
let filePaths = [];
const list = fs.readdirSync(dirPath);
list.forEach((filePathParam) => {
let filePath = filePathParam;
filePath = path.join(dirPath, filePath);
const stat = options.noLinks ? fs.lstatSync(filePath) : fs.statSync(filePath);
// skipping symbolic links when noLinks option
if (options.noLinks && stat && stat.isSymbolicLink()) {
return;
} else if (stat && stat.isDirectory()) {
filePaths = filePaths.concat(walkDirSync(filePath, opts));
} else {
filePaths.push(filePath);
}
});
return filePaths;
}
module.exports = walkDirSync;