This is a full rewrite, with significant API and algorithm
changes.
High-Level Feature and API Surface Changes
Only support node 16 and higher.
Promise API instead of callbacks.
Accept pattern as string or array of strings.
Hybrid module distribution.
Full TypeScript support.
Exported Glob class is no longer an event emitter.
Exported Glob class has walk(), walkSync(), stream(),
streamSync(), iterate(), iterateSync() methods, and is
both an async and sync Generator.
First class support for UNC paths and drive letters on Windows.
Note that glob patterns must still use / as a path
separator, unless the windowsPathsNoEscape option is set, in
which case glob patterns cannot be escaped with \.
Paths are returned in the canonical formatting for the platform
in question.
The hasMagic method will return false for patterns that only
contain brace expansion, but no other "magic" glob characters.
Patterns ending in / will still be restricted to matching
directories, but will not have a / appended in the results.
In general, results will be in their default relative or
absolute forms, without any extraneous / and . characters,
unlike shell matches. (The mark option may still be used to
always mark directory matches with a trailing / or \.)
An options argument is required for the Glob class
constructor. {} may be provided to accept all default
options.
Options Changes
Removed root option and mounting behavior.
Removed stat option. It's slow and pointless. (Could bring
back easily if there's demand, but items are already statted in
cases where it's relevant, such as nodir:true or
mark:true.)
Simplified cwd behavior so it is far less magical, and relies
less on platform-specific absolute path representations.
cwd can be a File URL or a string path.
More efficient handling for absolute patterns. (That is,
patterns that start with / on any platform, or start with a
drive letter or UNC path on Windows.)
Removed silent and strict options. Any readdir errors are
simply treated as "the directory could not be read", and it is
treated as a normal file entry instead, like shells do.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps glob from 8.1.0 to 9.0.2.
Changelog
Sourced from glob's changelog.
... (truncated)
Commits
281e91e
9.0.29a97c52
add top-level types field to package.jsonbedc98c
9.0.103b9bca
allow v14 higher than 14.17a68703e
9.0.058159ca
test: cwd can be a urla547a9c
more docs42a3ac7
link to bash manual for Pattern Matching474172d
update readme with cwd URL supportad3904d
update readme with posix class supportDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)