awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
isaacs avatar

isaacs/node-glob

0
View on GitHub↗
8,710 stars·530 forks·TypeScript·28 views

Node Glob

node-glob is a Node.js library for finding and matching files and directories using glob patterns. It functions as a filesystem traversal tool and path resolution library, enabling the identification of entries within directory trees based on specific search criteria.

The project features a virtual filesystem interface, allowing native filesystem methods to be replaced with custom objects. This enables pattern matching against mocked data or non-native storage systems.

The toolkit covers a broad range of filesystem operations, including recursive directory traversal, path normalization across different operating systems, and the calculation of relative paths. It provides capabilities for search depth control, symbolic link traversal, and the retrieval of file metadata and entry types. Results can be emitted via synchronous, asynchronous, or stream-based output.

Features

  • File Pattern Matching - Finds files and directories in Node.js by expanding wildcard and recursive glob patterns to identify all matching paths.
  • Glob Pattern Resolvers - Provides a comprehensive library for finding and matching files and directories using glob patterns in Node.js.
  • Directory Listing Utilities - Retrieves lists of entries within a directory as either raw strings or detailed path objects.
  • Path Resolution Tools - Converts path segments into resolved absolute paths with caching to improve repeat performance.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
Filesystem Path Resolution - Converts path segments into absolute or relative paths and calculates relations between directories across different operating systems.
  • Recursive Directory Traversers - Walks through directory trees to find entries using generators, streams, or arrays for processing large file sets.
  • Path Normalizers - Standardizes diverse operating system path formats into consistent POSIX-style strings for uniform matching.
  • Path Relation Calculations - Computes relative paths from a working directory and determines the depth and basename of specific paths.
  • Filesystem Abstraction Layers - Provides a uniform interface to interact with diverse storage backends through interchangeable adapters.
  • Filesystem Result Streaming - Produces matching paths one by one via a readable stream to process large directories without memory exhaustion.
  • Virtualized Filesystem Layers - Uses custom filesystem implementations to match patterns against mocked data or non-native storage systems.
  • Path Type Evaluators - Determines if a path is a file, directory, symbolic link, socket, FIFO pipe, or device.
  • Pattern Escaping - Implements functionality to escape glob magic characters so patterns can match exact filenames containing special characters.
  • Magic Character Detection - Includes logic to check if a pattern contains special glob characters to decide if pattern expansion is necessary.
  • Pattern Unescaping - Provides the ability to remove escape characters from glob strings to restore the original search pattern.
  • File System Traversals - Implements recursive directory traversal with support for following symbolic links to find nested files.
  • Recursion Depth Control - Allows limiting the depth of recursive directory searches to optimize performance and prevent infinite loops.
  • Search Result Filtering - Provides mechanisms to exclude specific files or directories from search results using ignore patterns.
  • Virtual Filesystem Interfaces - Provides a virtual filesystem interface allowing native system calls to be replaced with custom objects for matching against mocked data.
  • Recursion Depth Limits - Provides search depth control to optimize performance and prevent infinite loops during recursive directory walking.
  • Filesystem Method Overriding - Allows replacing default file system operations with custom implementations to control how files and directories are accessed.
  • File Metadata Inspection - Provides utilities to retrieve file statistics and resolve symbolic links to determine the real path of a disk entry.
  • Regex-Based Expansion - Converts glob wildcard strings into regular expressions to validate paths against specific naming rules.
  • File System Utilities - Glob functionality for Node.js.
  • CLI Utilities - Provides glob pattern matching for files.
  • Star history

    Star history chart for isaacs/node-globStar history chart for isaacs/node-glob

    How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

    Frequently asked questions

    What does isaacs/node-glob do?

    node-glob is a Node.js library for finding and matching files and directories using glob patterns. It functions as a filesystem traversal tool and path resolution library, enabling the identification of entries within directory trees based on specific search criteria.

    What are the main features of isaacs/node-glob?

    The main features of isaacs/node-glob are: File Pattern Matching, Glob Pattern Resolvers, Directory Listing Utilities, Path Resolution Tools, Filesystem Path Resolution, Recursive Directory Traversers, Path Normalizers, Path Relation Calculations.

    Which projects share features with isaacs/node-glob?

    Projects with overlapping indexed features include: chyingp/nodejs-learning-guide — This project is a learning guide and collection of study notes designed to teach Node.js backend development. It… symfony/filesystem — This is a PHP filesystem utility library that provides tools for manipulating files, directories, and symbolic links.… isaacs/rimraf — rimraf is a Node.js recursive file deletion tool and cross-platform filesystem utility. It provides both a… gokcehan/lf — lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and… sebastianbergmann/php-file-iterator — This project provides a PHP implementation of a filesystem iterator designed to filter collections of files based on… dundee/gdu — gdu is a command line disk usage analyzer and interactive disk profiler used to scan directories and visualize space…

    Projects sharing features with Node Glob

    These projects share indexed features with Node Glob. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
    • chyingp/nodejs-learning-guidechyingp avatar

      chyingp/nodejs-learning-guide

      6,874View on GitHub↗

      This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp

      Rubycryptoexpressnodejs
      View on GitHub↗6,874
    • symfony/filesystemsymfony avatar

      symfony/filesystem

      4,646View on GitHub↗

      This is a PHP filesystem utility library that provides tools for manipulating files, directories, and symbolic links. It serves as a specialized set of tools for atomic writing, path normalization, recursive directory management, and cross-platform file manipulation. The project features a dedicated atomic file writer that saves content to temporary locations before moving them to a final destination to prevent data corruption. It includes a recursive directory manager for creating, deleting, and modifying permissions for nested folder structures and their contents, as well as a path normaliz

      PHPcomponentphpsymfony
      View on GitHub↗4,646
    • isaacs/rimrafisaacs avatar

      isaacs/rimraf

      5,846View on GitHub↗

      rimraf is a Node.js recursive file deletion tool and cross-platform filesystem utility. It provides both a programmatic library and a command-line interface for removing files and directories and all of their contained contents across different operating systems. The utility supports glob-based file deletion, allowing the removal of items that match specific wildcard patterns rather than just literal paths. It also includes the ability to abort deletion processes mid-execution and apply custom predicate-based filtering to exclude specific files or folders. The project covers broad filesystem

      TypeScript
      View on GitHub↗5,846
    • gokcehan/lfgokcehan avatar

      gokcehan/lf

      9,340View on GitHub↗

      lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server

      Gofile-managerterminal
      View on GitHub↗9,340
    Compare all 30 related projects→