diff options
author | cjihrig <cjihrig@gmail.com> | 2019-07-21 00:15:32 -0400 |
---|---|---|
committer | Michaƫl Zasso <targos@protonmail.com> | 2019-07-23 08:15:42 +0200 |
commit | ed43880d6ba1ab6e499ef027c1e9e11a2376ba50 (patch) | |
tree | bd9551f12adfd0dc9f333adf306fc92f2417b2ad /tools/node_modules/eslint/node_modules/glob-parent/index.js | |
parent | 302865e8b9756812b45d9ff60403c2a231c01152 (diff) | |
download | android-node-v8-ed43880d6ba1ab6e499ef027c1e9e11a2376ba50.tar.gz android-node-v8-ed43880d6ba1ab6e499ef027c1e9e11a2376ba50.tar.bz2 android-node-v8-ed43880d6ba1ab6e499ef027c1e9e11a2376ba50.zip |
tools: update ESLint to 6.1.0
Update ESLint to 6.1.0
PR-URL: https://github.com/nodejs/node/pull/28793
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Diffstat (limited to 'tools/node_modules/eslint/node_modules/glob-parent/index.js')
-rw-r--r-- | tools/node_modules/eslint/node_modules/glob-parent/index.js | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/tools/node_modules/eslint/node_modules/glob-parent/index.js b/tools/node_modules/eslint/node_modules/glob-parent/index.js index 3a14a539f0..900d3fbe3b 100644 --- a/tools/node_modules/eslint/node_modules/glob-parent/index.js +++ b/tools/node_modules/eslint/node_modules/glob-parent/index.js @@ -1,24 +1,34 @@ 'use strict'; -var path = require('path'); -var isglob = require('is-glob'); -var pathDirname = require('path-dirname'); +var isGlob = require('is-glob'); +var pathPosixDirname = require('path').posix.dirname; var isWin32 = require('os').platform() === 'win32'; +var slash = '/'; +var backslash = /\\/g; +var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; +var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; +var escaped = /\\([\*\?\|\[\]\(\)\{\}])/g; + module.exports = function globParent(str) { - // flip windows path separators - if (isWin32 && str.indexOf('/') < 0) str = str.split('\\').join('/'); + // flip windows path separators + if (isWin32 && str.indexOf(slash) < 0) { + str = str.replace(backslash, slash); + } - // special case for strings ending in enclosure containing path separator - if (/[\{\[].*[\/]*.*[\}\]]$/.test(str)) str += '/'; + // special case for strings ending in enclosure containing path separator + if (enclosure.test(str)) { + str += slash; + } - // preserves full path in case of trailing path separator - str += 'a'; + // preserves full path in case of trailing path separator + str += 'a'; - // remove path parts that are globby - do {str = pathDirname.posix(str)} - while (isglob(str) || /(^|[^\\])([\{\[]|\([^\)]+$)/.test(str)); + // remove path parts that are globby + do { + str = pathPosixDirname(str); + } while (isGlob(str) || globby.test(str)); - // remove escape chars and return result - return str.replace(/\\([\*\?\|\[\]\(\)\{\}])/g, '$1'); + // remove escape chars and return result + return str.replace(escaped, '$1'); }; |