1.0.38 • Published 2 years ago

walk-file-tree v1.0.38

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

walk-file-tree

walk-file-tree recursively fetches paths to files and directories.

Status

CategoryStatus
Versionnpm
DependenciesDavid
Dev dependenciesDavid
BuildGitHub Actions
LicenseGitHub

Installation

$ npm install walk-file-tree

Quick Start

First you need to add a reference to walk-file-tree to your application:

const { walk } = require('walk-file-tree');

If you use TypeScript, use the following code instead:

import { walk } from 'walk-file-tree';

Then you can call the walk function to recursively fetch paths to all the entries within a given directory. Provide the absolute path to that directory using the directory option:

for await (const entry of walk({ directory: '/some/directory' })) {
  // ...
}

Specifying entry types

From time to time you might only be interested in files or directories. In these cases, you can additionally provide a list of entry types you are interested in. For that, use the yields option. E.g., to fetch only directories, use the following code:

for await (const entry of walk({
  directory: '/some/directory',
  yields: [ 'directories' ]
})) {
  // ...
}

Please note that if you are using TypeScript, you can specify values of the EntryType enumeration (this needs to be imported separately).

Matching or ignoring entries

If you are not interested in all entries, but e.g. only want to fetch .png files, provide the matches option. Alternatively (or additionally) there is the ignores option which is the opposite. In both cases, you have to provide a callback function that returns whether the appropriate entry should be included or excluded:

for await (const entry of walk({
  directory: '/some/directory',
  matches (entry) {
    return entry.endsWith('.png');
  },
  ignores (entry) {
    return entry.startsWith('/tmp/');
  }
})) {
  // ...
}

Please note that it's valid to provide both options, or just a single one.

Handling symbolic links

If you want to follow symbolic links, provide the followsSymlinks option and set it to true. The entries being returned are the resolved on-disk names, not the names of the symbolic links themselves:

for await (const entry of walk({
  directory: '/some/directory',
  followsSymlinks: true
})) {
  // ...
}

Please note that by default, symbolic links will not be followed.

Limiting the maximum depth

To limit the maximum recursion depth, set the maximumDepth option to the desired value. The minimum level is 1, which only fetches the files and directory names within the given directory. In other words, setting maximumDepth to 1 disables any recursion:

for await (const entry of walk({
  directory: '/some/directory',
  maximumDepth: 1
})) {
  // ...
}

Running quality assurance

To run quality assurance for this module use roboter:

$ npx roboter
1.0.38

2 years ago

1.0.37

2 years ago

1.0.36

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.35

2 years ago

1.0.34

2 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.27

3 years ago

1.0.24

3 years ago

1.0.22

3 years ago

1.0.23

3 years ago

1.0.21

3 years ago

1.0.19

3 years ago

1.0.20

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.0

3 years ago

0.0.1

3 years ago