0.0.6 • Published 7 months ago

glob-monster v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

glob-monster

File globber that understands globs or regex.

See tests for more details.

Install

npm install glob-monster

Usage

const { find, getFilePaths } = require('glob-monster')

const opts = {}
const files = await find(['**.md'], opts)
console.log(files)
/* [
  'README.md',
  'node_modules/dequal/readme.md',
] */

const opts = {}
const filesViaRegex = await find([/\.md$/], {})
console.log(filesViaRegex)
/* files [
  'README.md',
  'node_modules/dequal/readme.md',
] */

const mdxAndTestFiles = await getFilePaths(ROOT_DIR, {
  patterns: [
    /(.*)\.mdx?$/,
    /\.test\.js$/,
  ],
  ignore: [
    /node_modules/,
  ],
  excludeGitIgnore: true,
  excludeHidden: true,
})

About

I wanted a easy way to use glob patterns or regular expressions to locate files. Thus, this package was born.

String globs match via micromatch and is-glob.

Basic syntax

  • An asterisk (*) — matches everything except slashes (path separators), hidden files (names starting with .).
  • A double star or globstar (**) — matches zero or more directories.
  • Question mark (?) – matches any single character except slashes (path separators).
  • Sequence ([seq]) — matches any character in sequence.

:book: A few additional words about the basic matching behavior.

Some examples:

  • src/**/*.js — matches all files in the src directory (any level of nesting) that have the .js extension.
  • src/*.?? — matches all files in the src directory (only first level of nesting) that have a two-character extension.
  • file-[01].js — matches files: file-0.js, file-1.js.

Advanced syntax

:book: A few additional words about the advanced matching behavior.

Some examples:

  • src/**/*.{css,scss} — matches all files in the src directory (any level of nesting) that have the .css or .scss extension.
  • file-[[:digit:]].js — matches files: file-0.js, file-1.js, …, file-9.js.
  • file-{1..3}.js — matches files: file-1.js, file-2.js, file-3.js.
  • file-(1|2) — matches files: file-1.js, file-2.js.
0.0.6

7 months ago

0.0.5

7 months ago

0.0.4

7 months ago

0.0.3

7 months ago

0.0.2

7 months ago

0.0.1

7 months ago