mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
33 lines
798 B
JavaScript
33 lines
798 B
JavaScript
'use strict';
|
|
|
|
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;
|