Socket
Socket
Sign inDemoInstall

glob-promise

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

glob-promise

Promise version of glob


Version published
Weekly downloads
3.3M
increased by5.3%
Maintainers
1
Weekly downloads
 
Created

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 super linter test 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 <= 2 will automatically install peerDependencies if they are not explicitly depended upon higher in the dependency tree.
  • npm >= 3 will no longer 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

Package last updated on 22 Oct 2021

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc