Node.js module to list all files in a directory or any subdirectories.
This package is ESM only: Node 12+ is needed to use it and it must be import
instead of require
.
npm install recursive-readdir-files
import recursiveReaddirFiles from 'recursive-readdir-files';
recursiveReaddirFiles(process.cwd(), {
ignored: /\/(node_modules|\.git)/
})
.then((files) => {
// `files` is an array
console.log(files);
})
.catch((error) => {
console.error("something exploded", error);
});
export interface RecursiveReaddirFilesOptions {
/**
* Ignore files
* @example `/\/(node_modules|\.git)/`
*/
ignored?: RegExp;
/**
* Specifies a list of `glob` patterns that match files to be included in compilation.
* @example `/(\.json)$/`
*/
include?: RegExp;
/**
* Specifies a list of files to be excluded from compilation.
* @example `/(package\.json)$/`
*/
exclude?: RegExp;
/** Provide filtering methods to filter data. */
filter?: (item: IFileDirStat) => boolean;
}
export interface IFileDirStat {
/**
* @example `/a/sum.jpg` => `sum.jpg`
*/
name: string;
/**
* @example `/basic/src/utils/sum.ts`
*/
path: string;
/**
* @example `/a/b.jpg` => `jpg`
*/
ext?: string;
size?: number;
}
export default function recursiveReaddirFiles(rootPath: string, options?: RecursiveReaddirFilesOptions): Promise<IFileDirStat[]>;
export { recursiveReaddirFiles };
/**
* Get ext
* @param {String} filePath `/a/b.jpg` => `jpg`
*/
export declare const getExt: (filePath: string) => string;
Licensed under the MIT License.