Make a glob pattern absolute, ensuring that negative globs and patterns with trailing slashes are correctly handled.
var toAbsoluteGlob = require('@gulpjs/to-absolute-glob');
// All these assume your cwd is `/dev/foo/`
toAbsoluteGlob('a/*.js') === '/dev/foo/a/*.js';
// Makes a path absolute
toAbsoluteGlob('a') === '/dev/foo/a';
// Retains trailing slashes
toAbsoluteGlob('a/*/') === '/dev/foo/a/*/';
// Makes a negative glob absolute
toAbsoluteGlob('!a/*.js') === '!/dev/foo/a/*.js';
// Accepts a cwd
toAbsoluteGlob('a/*.js', { cwd: 'foo' }) === '/dev/foo/foo/a/*.js';
// Accepts a root path
toAbsoluteGlob('/a/*.js', { root: 'baz' }) === '/dev/foo/baz/a/*.js';
Takes a glob
string and an optional options
object and produces an absolute glob. If the glob is relative, the root
or cwd
option (or process.cwd()
if neither specified) will be used as the base of the glob.
MIT