Socket
Socket
Sign inDemoInstall

globby

Package Overview
Dependencies
13
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    globby

Extends `glob` with support for multiple patterns


Version published
Maintainers
1
Install size
260 kB
Created

Package description

What is globby?

The globby npm package is a JavaScript library that provides a convenient interface for file system pattern matching using glob patterns. It is built on top of node-glob and fast-glob, offering a powerful and flexible way to match file paths against specified patterns. It supports multiple patterns, negated patterns, and can handle file system operations asynchronously or synchronously.

What are globby's main functionalities?

Asynchronous file pattern matching

This feature allows you to match files using glob patterns asynchronously. The example code shows how to match all files in a directory and its subdirectories, excluding the 'node_modules' directory.

const globby = require('globby');
globby(['**/*', '!node_modules']).then(paths => {
  console.log(paths);
});

Synchronous file pattern matching

This feature allows you to match files using glob patterns synchronously. The example code demonstrates how to perform the same operation as the asynchronous example, but in a synchronous manner.

const globby = require('globby');
const paths = globby.sync(['**/*', '!node_modules']);
console.log(paths);

Expand directories

This feature automatically expands directory patterns to match files with specified extensions. The example code matches all JavaScript and TypeScript files within the 'src' directory.

const globby = require('globby');
globby(['src/**'], { expandDirectories: ['js', 'ts'] }).then(paths => {
  console.log(paths);
});

Stream interface

This feature provides a stream interface for handling large sets of matched files. The example code creates a stream that emits paths for all files in a directory and its subdirectories.

const globby = require('globby');
const stream = globby.stream('**/*');
stream.on('data', path => {
  console.log(path);
});

Other packages similar to globby

Readme

Source

globby Build Status

Extends glob with support for multiple patterns

Install

$ npm install --save globby

Usage

├── unicorn
├── cake
└── rainbow
var globby = require('globby');

globby(['*', '!cake'], function (err, paths) {
	console.log(paths);
	//=> ['unicorn', 'rainbows']
});

API

globby(patterns, [options], callback)

globby.sync(patterns, [options])

patterns

Required
Type: string, array

See supported minimatch patterns.

options

Type: object

See the node-glob options.

callback(err, paths)

Globbing patterns

Just a quick overview.

  • * matches any number of characters, but not /
  • ? matches a single character, but not /
  • ** matches any number of characters, including /, as long as it's the only thing in a path part
  • {} allows for a comma-separated list of "or" expressions
  • ! at the beginning of a pattern will negate the match

Various patterns and expected matches.

See multimatch if you need to match against a list instead of the filesystem.

License

MIT © Sindre Sorhus

Keywords

FAQs

Last updated on 21 Jun 2014

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc