recursive-readdir-files

Node.js module to list all files in a directory or any subdirectories.

Usage no npm install needed!

<script type="module">
  import recursiveReaddirFiles from 'https://cdn.skypack.dev/recursive-readdir-files';
</script>

README

recursive-readdir-files

Coverage Status npm version NPM Download

Node.js module to list all files in a directory or any subdirectories.

Installation

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

Usage

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);
});

Options

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;
}

Result

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;

License

Licensed under the MIT License.