nodejs / nodejs/node

fs.glob is stable as of v24 but lacks any documentation regarding `pattern` argument

Open
#58,981 7 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

doc
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

Affected URL(s)

https://nodejs.org/docs/latest/api/fs.html#fsglobpattern-options-callback

Description of the problem

Love that native glob support came to node, however fs.glob is stable as of v24 but lacks documentation regarding pattern argument which is confusing, unhelpful and deterring adoption if you come from plethora of user land implementations. For once it prevents me from using it in my cli (edit files by glob patterns), because I can't tell to my cli's users how to write the patterns.

I'm looking for documentation for glob's aspects: platform support, performance, supported features.

I'd love to see following popular features mentioned. It will help to know if feature is supported or not, if there any caveats and examples showcasing how feature works.

  • Brace Expansion (foo/{1..5}.md, bar/{a,b,c}.js)
  • Extended glob matching, extglobs (+(x|y), !(a|b))
  • "Globstar" ** matching, wildcards (**, *.js)
  • Posix character classes ([[:alpha:][:digit:]])
  • Support for multiple glob patterns
  • Negation ('!a/*.js', '*!(b).js')
  • regex character classes (foo-[1-5].js)
  • regex logical "or" (foo/(abc|xyz).js)

Comparison examples with user land libraries like glob, minimatch, micromatch, fast-glob will be helpful too.

Maybe text based matching (without fs or path involved) can be moved to global or utils packages and documented in depth there?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the affected fs.glob(pattern, options, callback) documentation URL and review the current pattern argument section. Use the requested feature list, platform support, performance, and user-land library comparisons as a checklist; the work is done when supported behavior, caveats, and representative examples are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.