Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fast-ignore

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fast-ignore

A fast parser and processor for .gitignore files.

  • 1.1.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Fast Ignore

A fast parser and processor for .gitignore files.

Note: terminal slashes on globs are ignored for now.

Install

npm install --save fast-ignore

Usage

import fastIgnore from 'fast-ignore';

// Let's create the content of a .gitignore file

const gitignore = `
# Some always-ignore files
*~
*.err
*.log
._*
.cache
.fseventsd
.DocumentRevisions*
.DS_Store
.TemporaryItems
.Trashes
Thumbs.db

# Some project-specific ignores
dist
node_modules
`;

// Let's create our ignore function

const ignore = fastIgnore ( gitignore );

// Now we can check if a relative path should be ignored

ignore ( 'foo/bar.js' ); // false
ignore ( 'node_modules/foo/bar.js' ); // true
ignore ( 'dist/foo/bar.js' ); // true

// We can also work with multiple ignore files at once, which is faster than handling them individually
// This goes roughly as fast as just concatenating the files together, but with the semantics of separate files
// The difference is that an ignore file that comes later won't be able to un-ignore something that was ignored by a previous one
// As a result please note that writing `fastIgnore ([ 'dist', '!dist' ])` may work differently than you expected

const prettierignore = `
**/test
**/__test__

# The following globs are effectively useless
# because they can't un-ignore something that was ignored by any previous ignore files
!dist
!node_modules
`;

const comboIgnore = fastIgnore ([ gitignore, prettierignore ]);

comboIgnore ( 'foo/bar.js' ); // false
comboIgnore ( 'node_modules/foo/bar.js' ); // true
comboIgnore ( 'dist/foo/bar.js' ); // true
comboIgnore ( 'test/foo/bar.js' ); // true

License

MIT © Fabio Spampinato

Keywords

FAQs

Package last updated on 29 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc