How to use the braceExpand function from minimatch

Find comprehensive JavaScript minimatch.braceExpand code examples handpicked from public code repositorys.

minimatch.braceExpand is a function that generates all possible combinations of strings based on the content of a pair of curly braces.

49
50
51
52
53
54
55
56
57
58
  return skip;
};

bench('expand - range (expanded)')
  .add('   braces', () => braces.expand('foo/{1..250}/bar'))
  .add('minimatch', () => minimatch.braceExpand('foo/{1..250}/bar'))
  .run();

bench('expand - range (optimized for regex)')
  .add('   braces', () => braces.compile('foo/{1..250}/bar'))
fork icon24
star icon172
watch icon8

+ 7 other calls in file

1
2
3
4
5
6
7
8
9
10
/**
 * Module dependencies.
 */

var minimatch = require('minimatch')
  , braceExpand = minimatch.braceExpand
  , fs = require('fs');

/**
 * Scan `str` producing an array
fork icon13
star icon109
watch icon5

How does minimatch.braceExpand work?

minimatch.braceExpand is a method in the minimatch library that is used to expand braces and create an array of all possible combinations that match the brace patterns. It takes a string argument with braces and returns an array of strings with all the possible combinations of strings that match the brace pattern. It supports multiple brace types and nested patterns.

221
222
223
224
225
226
227
228
229
230
else {
    // convert slashes on Windows before calling braceExpand(). unfortunately this means braces cannot
    // be escaped on Windows, this limitation is consistent with current limitations of minimatch (3.0.3).
    core.debug('expanding braces');
    let convertedPattern = process.platform == 'win32' ? pattern.replace(/\\/g, '/') : pattern;
    expanded = minimatch.braceExpand(convertedPattern);
}
// set nobrace
options.nobrace = true;
for (let pattern of expanded) {
fork icon0
star icon0
watch icon0

+ 4 other calls in file

Ai Example

1
2
3
4
5
const minimatch = require("minimatch");

// Use braceExpand to expand a brace expression.
const braceExpansion = minimatch.braceExpand("{apple,banana,pear} fruit");
console.log(braceExpansion);

In this example, we import the minimatch library and use the brackExpand() method to expand the brace expression {apple,banana,pear} fruit into an array of strings: ['apple fruit', 'banana fruit', 'pear fruit']. The result is then logged to the console.