A fast and minimal alternative to globby and fast-glob, meant to behave the same way.
Both globby and fast-glob present some behavior no other globbing lib has, which makes it hard to manually replace with something smaller and better.
This library uses only two subdependencies, unlike globby's 23 and fast-glob's 17.
import { glob, globSync } from 'tinyglobby';
await glob(['files/*.ts', '!**/*.d.ts'], { cwd: 'src' });
globSync(['src/**/*.ts'], { ignore: ['**/*.d.ts'] });
// you can also specify patterns inside the options object (exclusive to tinyglobby)
await glob({ patterns: ['src/*.ts', '!**/*.d.ts'], dot: true });
globSync({ patterns: ['src/**/*.ts', '!**/*.d.ts'], deep: 3 });
-
patterns
: An array of glob patterns to search for. Defaults to['**/*']
. -
ignore
: An array of glob patterns to ignore. -
cwd
: The current working directory in which to search. Defaults toprocess.cwd()
. -
absolute
: Whether to return absolute paths. Defaults tofalse
. -
dot
: Whether to allow entries starting with a dot. Defaults tofalse
. -
deep
: Maximum depth of a directory. Defaults toInfinity
. -
expandDirectories
: Whether to expand directories. Disable to best matchfast-glob
. Defaults totrue
. -
onlyDirectories
: Enable to only return directories. DisablesonlyFiles
if set. Defaults tofalse
. -
onlyFiles
: Enable to only return files. Defaults totrue
.