# folder-walker

> A recursive stream of the files and directories in a given folder

Latest version **3.2.0** (published 2018-09-11) · BSD-2-Clause license · 0 weekly downloads

## Install

```sh
npm install folder-walker
pnpm add folder-walker
yarn add folder-walker
bun add folder-walker
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.2.0 |
| Published | 2018-09-11 |
| First published | 2015-11-18 |
| Weekly downloads | 0 |
| License | BSD-2-Clause |
| TypeScript types | separate (@types/folder-walker) |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 48 |
| Author | Karissa McKelvey |
| Maintainers | karissa, mafintosh, maxogden, pfraze |
| Keywords | folder, dir, walk, stream |

## Links

- npm: https://www.npmjs.com/package/folder-walker
- Repository: https://github.com/karissa/folder-walker
- Homepage: https://github.com/karissa/folder-walker#readme
- Issues: https://github.com/karissa/folder-walker/issues
- npm.io page: https://npm.io/package/folder-walker

## Dependencies (1)

- [from2](https://npm.io/package/from2.md) ^2.1.0

## Alternatives

- [byte-size](https://npm.io/package/byte-size.md) — 2.1M weekly downloads
- [speed-limiter](https://npm.io/package/speed-limiter.md) — 16.0K weekly downloads
- [@powersync/node](https://npm.io/package/@powersync/node.md) — 10.9K weekly downloads
- [@ledgerhq/coin-cardano](https://npm.io/package/@ledgerhq/coin-cardano.md) — 1.0K weekly downloads
- [@jayesol/jayeson.lib.streamfinder](https://npm.io/package/@jayesol/jayeson.lib.streamfinder.md) — 1.0K weekly downloads

## Recent versions

- 3.2.0 (latest) — 2018-09-11
- 3.1.0 — 2017-04-09
- 3.0.1 — 2017-02-07
- 2.1.2 — 2017-02-06
- 3.0.0 — 2016-06-20
- 2.1.1 — 2016-03-01
- 2.1.0 — 2016-03-01
- 2.0.2 — 2016-02-27
- 2.0.1 — 2016-02-27
- 2.0.0 — 2016-02-27
- 1.3.0 — 2016-02-04
- 1.2.1 — 2016-01-21
- 1.2.0 — 2016-01-20
- 1.1.2 — 2015-12-04
- 1.1.1 — 2015-11-18
- … 3 more at https://npm.io/package/folder-walker/versions

## README

# folder-walker

A recursive stream of the files and directories in a given folder. Can take multiple folders.

[![build status](http://img.shields.io/travis/karissa/folder-walker.svg?style=flat)](http://travis-ci.org/karissa/folder-walker)
![dat](http://img.shields.io/badge/Development%20sponsored%20by-dat-green.svg?style=flat)

## Install

```console
npm install folder-walker
```

## Example

```js
var walker = require('folder-walker')
var stream = walker(['/path/to/folder', '/another/folder/here'])
stream.on('data', function (data) {
  console.log(data)
})
```

Example item in the stream:

```js
{
  basename: 'index.js',
  relname: 'test/index.js',
  root: '/Users/karissa/dev/node_modules/folder-walker',
  filepath: '/Users/karissa/dev/node_modules/folder-walker/test/index.js',
  stat: [fs.Stat Object],
  type: 'file' // or 'directory'
}
```

## API

#### `stream = walker(dirs, [opts])`

Create a readable object stream of all files and folders inside of `dirs`.

`dirs` can be a path to a directory or an array of paths to directories.

`opts` includes:

```js
{
  fs: require('fs'), // the fs interface to use
  maxDepth: Infinity // maximum folder depth to walk. Minimum depth is 1.
  filter: function (filename) { return true } // a function that lets you filter out files by returning false
  // filter is applied to the `dirs` argument, and every file that folder-walker finds
}
```

---
_Source: https://npm.io/package/folder-walker · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
