'use strict'; /** * Dependencies */ const glob = require('glob'); /** * Async wrapper for glob */ module.exports = function globAsync(pattern, ignore, allowEmptyPaths, cfg) { //Prepare glob config cfg = Object.assign({ignore}, cfg, {nodir: true}); //Return promise return new Promise((resolve, reject) => { glob(pattern, cfg, (error, files) => { //istanbul ignore if: hard to make glob error if (error) { return reject(error); } //Error if no files match, unless allowed if (!allowEmptyPaths && files.length === 0) { return reject(new Error('No files match the pattern: ' + pattern)); } //Resolve resolve(files); }); }); };