npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vmind_dir_scan

v1.2.1

Published

A library to scan the file system based on a root folder. The library will scan recursively and send a callback for every file and directory it finds, including details such as age, name, path, and size.

Readme

VMind Directory Scanner

TypeScript

An awesome package that does amazing things.

📦 Installation

npm install vmind_dir_scan

Description

VMind Directory Scanner is a TypeScript/Node.js library that recursively scans a given directory, listing all files and directories while providing metadata such as name, path, size, and age. The library emits events for each file and directory found, allowing real-time processing.

Features

  • Recursively scans directories
  • Emits events for files and directories
  • Provides metadata: name, path, size, age (in days and seconds)
  • Supports error handling via event emission

Usage

The FileSysScanHandler class provides an easy way to iteratively scan a directory tree. You can listen to events to handle files and directories as they are discovered.

Complete sample project on how to use the libarary

here is a sample integration on how to use the library, you can pull down the code

I show a more advanced way to use the library and manage retention in a file system and passing a specified number of worker threads to scan in parallel large drive.

  • request to recieve message if file / folder is older then specified days
  • request to recieve message if file / folder is older then specified seconds

https://github.com/EmiRoberti77/vmind_dir_scan_client

below is a simple integration to the library

Importing the Library

import { FileSysScanHandler, FSEvent, FS_TYPE } from "vmind_scan_dir";

import { FileSysScanHandler, FSEvent, FS_TYPE } from "vmind_scan_dir";

// Create an instance of FileSysScanHandler
const scanner = new FileSysScanHandler("/path/to/start");

// Listen for directory events

scanner.on("FS_TYPE.DIR", (event) => {
  console.log("Directory found:", event);
});

// Listen for file events
scanner.on("FS_TYPE.FILE", (event) => {
  console.log("File found:", event);
});

// Listen for errors
scanner.on("FS_TYPE.ERROR", (error) => {
  console.error("Error encountered:", error);
});

// Start the scanning process
scanner.scanIterative(5).then(() => {
  console.log("Scanning complete.");
});
  • file: Emitted when a file is found. Provides an FSEvent object.
  • dir: Emitted when a directory is found. Provides an FSEvent object.
  • error: Emitted when an error occurs. Provides an error message.

FSEvent Object

interface FSEvent {
  name: string; // File or directory name
  path: string; // Full path
  type: "file" | "dir"; // Type
  ageInSeconds: number; // Age of file in seconds
  ageInDays: number; // Age of file in days
  size: number; // File size in MB
}

License

MIT

Author

Emi Roberti