-
-
Notifications
You must be signed in to change notification settings - Fork 35.3k
fs.glob returns no matches when --allow-fs-read is used #61499
Copy link
Copy link
Open
Labels
permissionIssues and PRs related to the Permission ModelIssues and PRs related to the Permission Model
Description
Version
22.22.1 (22.x), 24.14.0 (24.x), 25.8.1 (25.x)
Platform
Linux louiellan-IdeaPad-3-15ITL6 6.14.0-37-generic #37~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 20 10:25:38 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
fs, permission
What steps will reproduce the bug?
Create the file
sample1.js
const fs = require('fs')
console.log(fs.globSync('somedir/*'));Directory Structure
somedir
|--> file1.js
sample1.js
Run the following commands:
node --permission --allow-fs-read=somedir/ ./sample1.js
How often does it reproduce? Is there a required condition?
The bug consistently reproduces if the --allow-fs-read is given a specific directory such as somedir/, but not with the allow all *
What is the expected behavior? Why is that the expected behavior?
fs.globSyncshould return matches as it has a read access to that given directory- asynchronous
fs.glob(also fromnode:fs/promises) returns matches to that given directory
Code snippet for checking fs.glob working as intended
sample2.js
(works just fine - for comparison)
const fsPromise = require('fs/promises');
(async () => {
for await (const entry of fsPromise.glob('somedir/*')) {
console.log(entry);
}})();sample3.js
(works just fine - for comparison)
const fs = require('node:fs');
fs.glob('somedir/*', (err, matches) => {
if (err) throw err;
console.log(matches);
});Running the files
node --permission --allow-fs-read=somedir/ ./sample2.js
node --permission --allow-fs-read=somedir/ ./sample3.js
What do you see instead?
Empty matches
[]
Additional information
came across this when @RafaelGSS suggested to include permission model tests while using glob on --watch-path
Refs: #59478
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
permissionIssues and PRs related to the Permission ModelIssues and PRs related to the Permission Model