Comparing version 2.0.1 to 2.0.2
'use strict'; | ||
const path = require('path'); | ||
const isWindows = process.platform === 'win32' || path.sep === '\\'; | ||
const WIN_SLASH = '\\\\/'; | ||
@@ -69,3 +68,3 @@ const WIN_NO_SLASH = `[^${WIN_SLASH}]`; | ||
const POSIX_REGEX = { | ||
const POSIX_REGEX_SOURCE = { | ||
alnum: 'a-zA-Z0-9', | ||
@@ -88,7 +87,12 @@ alpha: 'a-zA-Z', | ||
module.exports = { | ||
SPECIAL_CHAR_REGEX: /(\\?)((\W)(\3*))/g, | ||
NON_SPECIAL_CHAR_REGEX: /^[^@![\].,$*+?^{}()|\\/]+/, | ||
MAX_LENGTH: 1024 * 64, | ||
POSIX_REGEX, | ||
POSIX_REGEX_SOURCE, | ||
// regular expressions | ||
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, | ||
REGEX_NON_SPECIAL_CHAR: /^[^@![\].,$*+?^{}()|\\/]+/, | ||
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, | ||
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, | ||
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, | ||
// Replace globs with equivalent patterns to reduce parsing time. | ||
@@ -152,3 +156,3 @@ REPLACEMENTS: { | ||
SEP: isWindows ? '\\' : '/', | ||
SEP: path.sep, | ||
@@ -155,0 +159,0 @@ /** |
@@ -12,6 +12,6 @@ 'use strict'; | ||
MAX_LENGTH, | ||
NON_SPECIAL_CHAR_REGEX, | ||
POSIX_REGEX, | ||
REPLACEMENTS, | ||
SPECIAL_CHAR_REGEX | ||
POSIX_REGEX_SOURCE, | ||
REGEX_NON_SPECIAL_CHAR, | ||
REGEX_SPECIAL_CHARS_BACKREF, | ||
REPLACEMENTS | ||
} = constants; | ||
@@ -242,3 +242,3 @@ | ||
let output = input.replace(SPECIAL_CHAR_REGEX, (m, esc, chars, first, rest, index) => { | ||
let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { | ||
if (first === '\\') { | ||
@@ -357,3 +357,3 @@ backslashes = true; | ||
let rest = prev.value.slice(idx + 2); | ||
let posix = POSIX_REGEX[rest]; | ||
let posix = POSIX_REGEX_SOURCE[rest]; | ||
if (posix) { | ||
@@ -717,3 +717,3 @@ prev.value = pre + posix; | ||
let match = NON_SPECIAL_CHAR_REGEX.exec(input.slice(state.index + 1)); | ||
let match = REGEX_NON_SPECIAL_CHAR.exec(input.slice(state.index + 1)); | ||
if (match) { | ||
@@ -720,0 +720,0 @@ value += match[0]; |
@@ -5,8 +5,11 @@ 'use strict'; | ||
const win32 = process.platform === 'win32'; | ||
const SPECIAL_CHAR_REGEX = /[-[$*+?.^{}(|)\]]/; | ||
const { | ||
REGEX_SPECIAL_CHARS, | ||
REGEX_SPECIAL_CHARS_GLOBAL, | ||
} = require('./constants'); | ||
exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); | ||
exports.hasRegexChars = str => SPECIAL_CHAR_REGEX.test(str); | ||
exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); | ||
exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); | ||
exports.escapeRegex = str => str.replace(/([-[$*+?.^{}(|)\]])/g, '\\$1'); | ||
exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); | ||
exports.toPosixSlashes = str => str.replace(/\\/g, '/'); | ||
@@ -13,0 +16,0 @@ |
{ | ||
"name": "picomatch", | ||
"description": "Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.", | ||
"version": "2.0.1", | ||
"version": "2.0.2", | ||
"homepage": "https://github.com/folder/picomatch", | ||
@@ -6,0 +6,0 @@ "author": "Jon Schlinkert (https://github.com/jonschlinkert)", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
67373
1416