12345678910111213141516171819202122232425262728293031323334 |
- '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);
- });
- });
- };
|