node-os-walk
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    node-os-walk

    Python's os.walk() implementation for Node.js environments with support for the for await...of loops.

    It is recommended to use ECMA 2018 target or newer with the node-os-walk lib. for await...of loops are not supported in older versions.

    Description

    Generate the file names in a directory tree by walking the tree top-down. For each directory in the tree rooted at directory top (including top itself), it yields a 3-tuple: [dirpath: string, directories: Array<fs.Dirent>, files: Array<fs.Dirent>]

    • dirpath - is a string, the path to the directory.
    • directories - is a list of Dirent objects (from the standard fs Node library) pointing to all of directories found in the dirpath
    • files - is a list of Dirent objects (from the standard fs Node library) pointing to all of files but not directories found in the dirpath

    Example

    import { walk } from "node-os-walk";
    import path from "path";
    
    async function main() {
      const rootPath = path.resolve(__dirname, "./<your-path>");
    
      for await (const [root, dirs, files] of walk(rootPath)) {
        for (const directory of dirs) {
          console.log("Directory:", path.resolve(root, directory.name));
        }
    
        for (const file of files) {
          console.log("File:", path.resolve(root, file.name));
        }
      }
    }

    Options

    • followSymlinks - by default walk() will not list the contents of directories pointed to with symlinks, set this to true to change this behavior.

      walk(rootPath, { followSymlinks: true })

    • ignoreErrors - walk uses the fs.readdir() internally, if this option is set to true any errors thrown by fs.readdir() will be suppressed and an empty list of dirs and files will be returned.

      walk(rootPath, { ignoreErrors: true })

    Install

    npm i node-os-walk

    DownloadsWeekly Downloads

    21

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    7.45 kB

    Total Files

    12

    Last publish

    Collaborators

    • ncpa0cpl