fast-glob
Advanced tools
Comparing version 3.2.10 to 3.2.11
@@ -13,3 +13,3 @@ "use strict"; | ||
const GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/; | ||
const BRACE_EXPANSIONS_SYMBOLS_RE = /{[^,.{]*(?:,|\.\.)[^{]*}/; | ||
const BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./; | ||
function isStaticPattern(pattern, options = {}) { | ||
@@ -41,3 +41,3 @@ return !isDynamicPattern(pattern, options); | ||
} | ||
if (options.braceExpansion !== false && BRACE_EXPANSIONS_SYMBOLS_RE.test(pattern)) { | ||
if (options.braceExpansion !== false && hasBraceExpansion(pattern)) { | ||
return true; | ||
@@ -48,2 +48,14 @@ } | ||
exports.isDynamicPattern = isDynamicPattern; | ||
function hasBraceExpansion(pattern) { | ||
const openingBraceIndex = pattern.indexOf('{'); | ||
if (openingBraceIndex === -1) { | ||
return false; | ||
} | ||
const closingBraceIndex = pattern.indexOf('}', openingBraceIndex + 1); | ||
if (closingBraceIndex === -1) { | ||
return false; | ||
} | ||
const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex); | ||
return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent); | ||
} | ||
function convertToPositivePattern(pattern) { | ||
@@ -50,0 +62,0 @@ return isNegativePattern(pattern) ? pattern.slice(1) : pattern; |
{ | ||
"name": "fast-glob", | ||
"version": "3.2.10", | ||
"version": "3.2.11", | ||
"description": "It's a very fast and efficient glob library for Node.js", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
88757
1538