Tiny and extremely fast globbing
npm install @u4/tiny-glob
Tiny and extremely fast library to match files and folders using glob patterns.
ls .js in your shell or put src/ in a .gitignore file. When used to match filenames, it's sometimes called a "wildcard".
npm install @u4/tiny-glob
`
Core Features
- š„ extremely fast: ~350% faster than node-glob and ~230% faster than fast-glob
- šŖ powerful: supports advanced globbing patterns (ExtGlob)
- š¦ tiny: only ~45 LOC with 2 small dependencies
- š« friendly: simple and easy to use api
- š cross-platform: supports both unix and windows
Usage
`ts
import glob from '@u4/tiny-glob';
// or
import { async as glob } from '@u4/tiny-glob';
// or
import { glob } from '@u4/tiny-glob';
(async function(){
let files = await glob('src//.{js,md}');
// => [ ... ] array of matching files
})();
`
API
$3
Type: function
Returns: Array
Return array of matching files and folders
This function is async and returns a promise.
#### str
Type: String
The glob pattern to match against.
> OBS: Please only use forward-slashes in glob expressions. Even on windows
#### options.cwd
Type: String
Default: '.'
Change default working directory.
#### options.dot
Type: Boolean
Default: false
Allow patterns to match filenames or directories that begin with a period (.).
#### options.absolute
Type: Boolean
Default: false
Return matches as absolute paths.
#### options.filesOnly
Type: Boolean
Default: false
Skip directories and return matched files only.
#### options.flush
Type: Boolean
Default: false
Flush the internal cache object.
Windows
Though Windows may use /, \, or \\ as path separators, you can only use forward-slashes (/) when specifying glob expressions. Any back-slashes (\) will be interpreted as escape characters instead of path separators.
This is common across many glob-based modules; see node-glob for corroboration.
Benchmarks
`
glob x 13,405 ops/sec ±1.80% (85 runs sampled)
fast-glob x 25,745 ops/sec ±2.76% (59 runs sampled)
tiny-glob x 102,658 ops/sec ±0.79% (91 runs sampled)
Fastest is tiny-glob
āāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāā
ā Name ā Mean time ā Ops/sec ā Diff ā
āāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāā¤
ā glob ā 0.00007459990597268128 ā 13,404.843 ā N/A ā
āāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāā¤
ā fast-glob ā 0.000038842529587611705 ā 25,744.976 ā 92.06% faster ā
āāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāā¤
ā tiny-glob ā 0.00000974110141018254 ā 102,657.796 ā 298.75% faster ā
āāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāā
``