Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rrdir

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rrdir

The fastest recursive readdir in town

  • 1.3.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
132
decreased by-13.73%
Maintainers
1
Weekly downloads
 
Created
Source

rrdir

The fastest recursive readdir in town

Recursively crawls a directory to obtain paths and information on directory/symlink on each entry. Takes advantage of uv_fs_scandir in Node.js 10.10 or higher, which increases performance significantly.

Comparison against the walkdir module crawling the Node.js repository on a NVMe SSD:

TestEngineOSRuntime
rrdir syncNode.js 10.10.0Linux 4.18.40.289s
rrdir asyncNode.js 10.10.0Linux 4.18.40.400s
walkdir syncNode.js 10.10.0Linux 4.18.40.423s
walkdir asyncNode.js 10.10.0Linux 4.18.41.557s
rrdir syncNode.js 8.11.4Linux 4.18.40.383s
walkdir syncNode.js 8.11.4Linux 4.18.40.416s
rrdir asyncNode.js 8.11.4Linux 4.18.41.148s
walkdir asyncNode.js 8.11.4Linux 4.18.41.813s

Installation

npm i rrdir

Examples

const rrdir = require('rrdir');
const entries = await rrdir('../dir'); // => [{path: '../dir/file1', directory: false, symlink: true}]
const entries = rrdir.sync('../dir'); // => [{path: '../dir/file1', directory: false, symlink: true}]

API

rrdir(dir, [options])

rrdir.sync(dir, [options])

Recursively searches a directory for entries contained within. Both functions will reject or throw on unexpected errors, but can optionally ignore errors encountered on individual files. Returns an array of entry.

entry
  • entry.path string: The path to the entry, will be relative if dir is given relative.
  • entry.directory boolean: Boolean indicating whether the entry is a directory. undefined on error.
  • entry.symlink boolean: Boolean indicating whether the entry is a symbolic link. undefined on error.
  • entry.stats Object: A fs.stats object, present when options.stats is set. undefined on error.
  • entry.err Error: Any error encountered while reading this entry. undefined on success.
options
  • options.stats boolean: Include entry.stats. Will reduce performance. Default: false.
  • options.exclude Array: Path globs to exclude from the result. Default: [].
  • options.strict boolean: Whether to throw immediately when reading an entry fails. Default: false.
  • options.encoding string: The encoding to use on entry.path. Default: 'utf8'.
  • options.minimatch Object: minimatch options. Default: {matchBase: true, dot: true, nocomment: true}.

© silverwind, distributed under BSD licence

Keywords

FAQs

Package last updated on 09 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc