Socket
Socket
Sign inDemoInstall

glob-promise

Package Overview
Dependencies
13
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    glob-promise

Promise version of glob


Version published
Weekly downloads
3.6M
decreased by-2.67%
Maintainers
1
Install size
3.70 MB
Created
Weekly downloads
 

Package description

What is glob-promise?

The glob-promise package is a wrapper for the 'glob' library that provides a way to use glob functionality with promises instead of callbacks. This allows for better integration with modern JavaScript's async/await syntax and improves the readability and maintainability of asynchronous file pattern matching code.

What are glob-promise's main functionalities?

Asynchronous file pattern matching

Use glob patterns to asynchronously find files and directories in your project that match the given pattern. The function returns a promise that resolves with an array of matching paths.

const glob = require('glob-promise');

async function findFiles(pattern) {
  try {
    const files = await glob(pattern);
    console.log(files);
  } catch (error) {
    console.error('Error matching files:', error);
  }
}

findFiles('**/*.js');

Synchronous file pattern matching

Provides a synchronous method to perform file pattern matching, which can be useful in scenarios where asynchronous operations are not possible or desired.

const glob = require('glob-promise');

function findFilesSync(pattern) {
  try {
    const files = glob.sync(pattern);
    console.log(files);
  } catch (error) {
    console.error('Error matching files:', error);
  }
}

findFilesSync('**/*.js');

Options customization

Allows customization of the file matching process by passing an options object. This can include ignoring certain patterns, specifying the root directory, and more.

const glob = require('glob-promise');

async function findFilesWithIgnores(pattern, ignores) {
  const options = { ignore: ignores };
  try {
    const files = await glob(pattern, options);
    console.log(files);
  } catch (error) {
    console.error('Error matching files:', error);
  }
}

findFilesWithIgnores('**/*.js', ['node_modules/**']);

Other packages similar to glob-promise

Readme

Source

Promise version of glob

Match files using the patterns the shell uses, like stars and stuff.

license release semantic

Note: This is just a Promise wrapped version of glob

Install

npm install glob-promise glob
NOTE

glob is set as a peerDependency in package.json

  • npm >= 7 will automatically install peerDependencies
  • npm <= 6 will not automatically install peerDependencies.

You will need to manually add glob as a dependency to your project for glob-promise to work.

API

glob(pattern [, options])

Alias for glob.promise

glob.promise(pattern [, options])

pattern: String (glob pattern) options: Object or String Return: Object (Promise)

When it finishes, it will be fulfilled with an Array of filenames as its first argument.

When it fails to read the files, it will be rejected with an error as its first argument.

glob('**/*')
  .then(function(contents) {
    contents; //=> ['lorem', 'ipsum', 'dolor']
  });

glob('{foo,bar.baz}.txt', { nobrace: true })
  .then(function(contents) {
    contents; //=> []
  });

glob.glob(pattern [, options], cb)

see glob

glob.sync(pattern [, options])

see glob.sync()

glob.hasMagic(pattern, [options])

see glob.hasMagic()

Class: glob.Glob

see Glob

options

The option object will be directly passed to glob.


Author: Ahmad Nassri • Twitter: @AhmadNassri

Keywords

FAQs

Last updated on 03 Sep 2023

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