Movatterモバイル変換


[0]ホーム

URL:


top
recursive-readdir-files<sup>2.3.2</sup> logorecursive-readdir-files2.3.2

recursive-readdir-files

Buy me a coffeeCoverage Statusnpm versionNPM Download

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

Installation

This package isESM only: Node 12+ is needed to use it and it must beimport instead ofrequire.

npminstall recursive-readdir-files

If you still want to use in CommonJS, you can use dynamicimport() to load.

const recursiveReaddirFiles=awaitimport('recursive-readdir-files');// Fix compiling in typescript.// https://github.com/microsoft/TypeScript/issues/43329#issuecomment-922544562const{ getExt, recursiveReaddirFiles}=await(Function('return import("recursive-readdir-files")')())asPromise<typeofimport("recursive-readdir-files")>;

Usage

importrecursiveReaddirFilesfrom'recursive-readdir-files';const files=awaitrecursiveReaddirFiles(process.cwd(),{ignored:/\/(node_modules|\.git)/});// `files` is an arrayconsole.log(files);// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓// [//   {//     dev: 16777233,//     mode: 33188,//     nlink: 1,//     uid: 501,//     gid: 20,//     rdev: 0,//     blksize: 4096,//     ino: 145023089,//     size: 89,//     blocks: 8,//     atimeMs: 1649303678077.934,//     mtimeMs: 1649303676847.1777,//     ctimeMs: 1649303676847.1777,//     birthtimeMs: 1649301118132.6782,//     atime: 2022-04-07T03:54:38.078Z,//     mtime: 2022-04-07T03:54:36.847Z,//     ctime: 2022-04-07T03:54:36.847Z,//     birthtime: 2022-04-07T03:11:58.133Z,//     name: 'watch.ts',//     path: '/Users/xxx/watch.ts',//     ext: 'ts'//   },//   // ...// ]

Or

recursiveReaddirFiles(process.cwd(),{ignored:/\/(node_modules|\.git)/},(filepath, state)=>{console.log(filepath);// 👉 /Users/xxx/watch.tsconsole.log(state.isFile());// 👉 trueconsole.log(state.isDirectory());// 👉 falseconsole.log(state);// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓// {//   dev: 16777233,//   mode: 33188,//   nlink: 1,//   uid: 501,//   gid: 20,//   rdev: 0,//   blksize: 4096,//   ino: 145023089,//   size: 89,//   blocks: 8,//   atimeMs: 1649303678077.934,//   mtimeMs: 1649303676847.1777,//   ctimeMs: 1649303676847.1777,//   birthtimeMs: 1649301118132.6782,//   atime: 2022-04-07T03:54:38.078Z,//   mtime: 2022-04-07T03:54:36.847Z,//   ctime: 2022-04-07T03:54:36.847Z,//   birthtime: 2022-04-07T03:11:58.133Z,//   name: 'watch.ts',//   path: '/Users/xxx/watch.ts',//   ext: 'ts'// }})

Options

exportinterfaceRecursiveReaddirFilesOptions{/**   * 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

import fsfrom'node:fs';exportinterfaceIFileDirStatextendsPartial<fs.Stats>{/**   * @example `/a/sum.jpg` => `sum.jpg`   */  name:string;/**   * @example `/basic/src/utils/sum.ts`   */  path:string;/**   * @example `/a/b.jpg` => `jpg`   */  ext?:string;}declaretypeCallback=(filepath:string, stat: IFileDirStat)=>void;exportdefaultfunctionrecursiveReaddirFiles(rootPath:string, options?: RecursiveReaddirFilesOptions, callback?: Callback):Promise<IFileDirStat[]>;export{ recursiveReaddirFiles};exportdeclareconstgetStat:(filepath:string)=>Promise<IFileDirStat>;/** * Get ext * @param {String} filePath `/a/b.jpg` => `jpg` */exportdeclareconstgetExt:(filePath:string)=>string;

Contributors

As always, thanks to our amazing contributors!

Made withaction-contributors.

License

Licensed under the MIT License.

Released under the MIT License. Copyright © 2024 Kenny Wong
Generated byidoc v1.31.0

[8]ページ先頭

©2009-2025 Movatter.jp