Skip to content
development
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

scan-dir

Tests Known Vulnerabilities npm package size npm version npm dependency Status npm downloads


scan-dir searches for files in a directory and executes a callback for each. All symlinks, dotfiles and files without extension are ignored. Supports deep-loading. It can be used as an autoloader for JavaScript.

Installation

$ npm install @bartozzz/scan-dir

Usage

import scan, { scanRecursively } from "scan-dir";

scan(directory, callback);
scanRecursively(directory, callback);

Examples

Basic loading

import path from "path";
import scan, from "scan-dir";

const models = path.resolve(__dirname, "./path/to/models");
const routes = path.resolve(__dirname, "./path/to/routes");

scan(models, (fpath, fname) => {
  console.log(`Found file: ${fname} (absolute path: ${fpath})`);
});

// You can initialize modules from a directory easily:
scan(models, (fpath) => require(fpath)(some, variables, ...here));
scan(routes, (fpath) => require(fpath)(some, variables, ...here));

Deep loading

import path from "path";
import scan, { scanRecursively } from "scan-dir";

const modules = path.resolve(__dirname, "../node_modules");

// Those two calls are equivalents:
scan(modules, (fpath, fname) => /* … */, true);
scanRecursively(modules, (fpath, fname) => /* … */);

Tests

$ npm test

About

Searches for files in a directory and executes a callback for each. All insecure symlinks, dotfiles and files without extension are ignored.

Topics

Resources

License

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •