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

1.0.2 • 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 })

Dependencies (0)

    Dev Dependencies (14)

    Package Sidebar

    Install

    npm i node-os-walk

    Weekly Downloads

    122

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    17.9 kB

    Total Files

    20

    Last publish

    Collaborators

    • ncpa0cpl