glob
Advanced tools
Comparing version 10.3.10 to 10.3.11
@@ -1,1 +0,3 @@ | ||
{"type":"commonjs"} | ||
{ | ||
"type": "commonjs" | ||
} |
@@ -99,3 +99,12 @@ "use strict"; | ||
const needStat = e.isUnknown() || this.opts.stat; | ||
return this.matchCheckTest(needStat ? await e.lstat() : e, ifDir); | ||
const s = needStat ? await e.lstat() : e; | ||
if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) { | ||
const target = await s.realpath(); | ||
/* c8 ignore start */ | ||
if (target && (target.isUnknown() || this.opts.stat)) { | ||
await target.lstat(); | ||
} | ||
/* c8 ignore stop */ | ||
} | ||
return this.matchCheckTest(s, ifDir); | ||
} | ||
@@ -107,2 +116,6 @@ matchCheckTest(e, ifDir) { | ||
(!this.opts.nodir || !e.isDirectory()) && | ||
(!this.opts.nodir || | ||
!this.opts.follow || | ||
!e.isSymbolicLink() || | ||
!e.realpathCached()?.isDirectory()) && | ||
!this.#ignored(e) | ||
@@ -123,3 +136,10 @@ ? e | ||
const needStat = e.isUnknown() || this.opts.stat; | ||
return this.matchCheckTest(needStat ? e.lstatSync() : e, ifDir); | ||
const s = needStat ? e.lstatSync() : e; | ||
if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) { | ||
const target = s.realpathSync(); | ||
if (target && (target?.isUnknown() || this.opts.stat)) { | ||
target.lstatSync(); | ||
} | ||
} | ||
return this.matchCheckTest(s, ifDir); | ||
} | ||
@@ -126,0 +146,0 @@ matchFinish(e, absolute) { |
@@ -1,1 +0,3 @@ | ||
{"type":"module"} | ||
{ | ||
"type": "module" | ||
} |
@@ -96,3 +96,12 @@ /** | ||
const needStat = e.isUnknown() || this.opts.stat; | ||
return this.matchCheckTest(needStat ? await e.lstat() : e, ifDir); | ||
const s = needStat ? await e.lstat() : e; | ||
if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) { | ||
const target = await s.realpath(); | ||
/* c8 ignore start */ | ||
if (target && (target.isUnknown() || this.opts.stat)) { | ||
await target.lstat(); | ||
} | ||
/* c8 ignore stop */ | ||
} | ||
return this.matchCheckTest(s, ifDir); | ||
} | ||
@@ -104,2 +113,6 @@ matchCheckTest(e, ifDir) { | ||
(!this.opts.nodir || !e.isDirectory()) && | ||
(!this.opts.nodir || | ||
!this.opts.follow || | ||
!e.isSymbolicLink() || | ||
!e.realpathCached()?.isDirectory()) && | ||
!this.#ignored(e) | ||
@@ -120,3 +133,10 @@ ? e | ||
const needStat = e.isUnknown() || this.opts.stat; | ||
return this.matchCheckTest(needStat ? e.lstatSync() : e, ifDir); | ||
const s = needStat ? e.lstatSync() : e; | ||
if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) { | ||
const target = s.realpathSync(); | ||
if (target && (target?.isUnknown() || this.opts.stat)) { | ||
target.lstatSync(); | ||
} | ||
} | ||
return this.matchCheckTest(s, ifDir); | ||
} | ||
@@ -123,0 +143,0 @@ matchFinish(e, absolute) { |
@@ -5,3 +5,3 @@ { | ||
"description": "the most correct and second fastest glob implementation in JavaScript", | ||
"version": "10.3.10", | ||
"version": "10.3.11", | ||
"type": "module", | ||
@@ -71,9 +71,9 @@ "tshy": { | ||
"foreground-child": "^3.1.0", | ||
"jackspeak": "^2.3.5", | ||
"jackspeak": "^2.3.6", | ||
"minimatch": "^9.0.1", | ||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", | ||
"path-scurry": "^1.10.1" | ||
"minipass": "^7.0.4", | ||
"path-scurry": "^1.10.2" | ||
}, | ||
"devDependencies": { | ||
"@types/node": "^20.3.2", | ||
"@types/node": "^20.11.30", | ||
"memfs": "^3.4.13", | ||
@@ -84,5 +84,6 @@ "mkdirp": "^3.0.1", | ||
"sync-content": "^1.0.2", | ||
"tap": "^18.1.4", | ||
"tshy": "^1.2.2", | ||
"typedoc": "^0.25.1", | ||
"tap": "^18.7.2", | ||
"ts-node": "^10.9.2", | ||
"tshy": "^1.12.0", | ||
"typedoc": "^0.25.12", | ||
"typescript": "^5.2.2" | ||
@@ -89,0 +90,0 @@ }, |
@@ -425,3 +425,3 @@ # Glob | ||
This option may be eiher a string path or a `file://` URL | ||
This option may be either a string path or a `file://` URL | ||
object or string. | ||
@@ -513,2 +513,5 @@ | ||
Note: when `follow` and `nodir` are both set, then symbolic | ||
links to directories are also omitted. | ||
- `stat` Call `lstat()` on all entries, whether required or not | ||
@@ -544,2 +547,5 @@ to determine whether it's a valid match. When used with | ||
Note: when `follow` and `nodir` are both set, then symbolic | ||
links to directories are also omitted. | ||
- `realpath` Set to true to call `fs.realpath` on all of the | ||
@@ -546,0 +552,0 @@ results. In the case of an entry that cannot be resolved, the |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
459037
4299
1221
11
Updatedjackspeak@^2.3.6
Updatedminipass@^7.0.4
Updatedpath-scurry@^1.10.2