Back to Explore

kaelzhang/node-ignore

GitHub
1 watchersOpen source

Last release: 5/31/2025

`ignore` (node-ignore) is a pure JavaScript manager, filter, and parser for .gitignore rules, implemented to follow the .gitignore spec. It’s useful for filtering file paths in Node.js tooling, and it is used by projects like eslint and prettier (and others) to apply ignore-pattern logic.

Project status

  • The project appears actively maintained, with new version updates published as recently as 2025-05-31 (latest shown is 7.0.5).
  • The apparent update cadence is steady and patch-oriented (7.0.3 on 2025-01-14, 7.0.4 on 2025-04-25, 7.0.5 on 2025-05-31), suggesting a few-month rhythm rather than long inactivity.

AI summary generated Today

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 7.0.5

    5/31/2025

    Release 7.0.5 is a small patch bump with minimal user-facing documentation changes. The main code change refactors the Windows-specific initialization logic and adjusts tests to call that setup explicitly.

  • 7.0.4

    4/25/2025

    Release 7.0.4 is a patch update that fixes handling of ignore patterns involving filenames that are composed only of three or more dots (for example, `...`). The main behavior change is in path validation logic, and the release notes specifically mention avoiding a RangeError seen in prior versions.

  • 7.0.3

    1/14/2025

    Release 7.0.3 was published, but no release notes or changelog content was provided by the publisher. Without documented changes, the impact on API compatibility, behavior, and migration requirements cannot be determined from the release notes alone.

  • 7.0.0

    12/23/2024

    Version 7.0.0 adds a new `.checkIgnore()` API intended to emulate `git check-ignore -v`, and extends `.add()` to accept `{pattern, mark?}` so rule marks can be surfaced. The implementation also refactors how ignore rules compile regexes, introducing separate matching behavior for “normal ignore” versus “check-ignore” mode.

    BreakingFeatures
  • 6.0.1

    9/28/2024

    The release notes for version 6.0.1 claim that upgrading from 5.x to 6.x changes nothing and causes no harm, and that 6.x was a mistake. However, the code diff shows multiple real behavior and packaging changes, including updates to the ignore-rule parsing logic, addition of an ESM entrypoint (index.mjs), and test/CI/TypeScript adjustments.

    BreakingFeatures
  • 5.3.0

    11/16/2023

    Release 5.3.0 primarily updates the TypeScript type definitions by exporting the `Options` interface. The code diff also shows repository-level and dev-tooling changes (CI Node version updates, devDependency bumps, and test adjustments), none of which are mentioned in the release notes.

    Features
  • 5.2.4

    12/19/2022

    Release 5.2.4 is a patch update focused on correcting .gitignore pattern handling for wildcards and preventing unexpected failures when ignore patterns end with a trailing backslash. The code changes align closely with the release notes, with additional internal/test/CI adjustments present in the diff.

  • 5.2.0

    12/19/2021

    Version 5.2.0 adds TypeScript-friendly support for readonly arrays, and introduces an option to avoid throwing when testing ignore rules with non path.relative() compliant paths (relative path compatibility). The code changes largely align with the release notes, but there are additional option and TypeScript typing adjustments not mentioned in the provided release notes.

    Features
  • 5.1.9

    11/3/2021

    Release 5.1.9 is a patch release that fixes incorrect handling of the ignorecase option when the module hits its internal regex cache. The code change refactors how cached regexes are produced and adds a targeted test to prevent regressions for mixed ignorecase usage on the same pattern.

  • 5.1.5

    5/22/2020

    Release 5.1.5 is presented as a patch that fixes escaping for square brackets (issue #59). The code diff shows a more substantial rewrite of the .gitignore-to-regex escaping pipeline, especially around bracket/range handling and unescaping behavior, plus multiple dev tooling and CI configuration updates.

  • 5.1.3

    8/14/2019

    Release 5.1.3 is a patch release that claims to apply updated gitignore rule handling from gitignore 2.22.1 and includes a fix for issue #56. The code changes do more than just adjust one matching rule, including a refactor of how ignore rule patterns are converted into regexes.

    Breaking
  • 5.1.1

    4/17/2019

    Release 5.1.1 is a patch that fixes Windows path validation so absolute Windows paths are handled correctly. It introduces internal refactoring around path normalization and validation, and ensures Windows absolute paths are rejected with the expected error behavior for ignore/test-related APIs.