-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Description
- Version: v15.9.0, v14.15.5
- Platform: Windows 10 x64 2004
What steps will reproduce the bug?
Run this script in a folder with a symbolic link to a file/directory.
Use mklink file_slink.js file.js
to create a slink for a file.
Use mklink /D dir_slink dir
to create a slink for a directory.
#!/usr/bin/env node
const fs = require("fs").promises;
const path = require("path");
(async function() {
const workDirPath = process.cwd();
/** @type {Dirent[]} */
const dirents = await fs.readdir(workDirPath, {withFileTypes: true});
for (const dirent of dirents) {
if (dirent.isSymbolicLink()) {
console.log("Symbolic Link found with dirent.isSymbolicLink!");
}
}
/** @type {string[]} */
const files = await fs.readdir(workDirPath);
for (const file of files) {
const filepath = path.resolve(workDirPath, file);
/** @type {Stats} */
const stat = await fs.stat(filepath);
if (stat.isSymbolicLink()) {
console.log("Symbolic Link found with fs.stat.isSymbolicLink!");
}
}
})();
How often does it reproduce? Is there a required condition?
Always. No.
What is the expected behavior?
stat.isSymbolicLink()
returns true
for a symbolic link.
Output:
Symbolic Link found with dirent.isSymbolicLink!
Symbolic Link found with fs.stat.isSymbolicLink!
What do you see instead?
Symbolic Link found with dirent.isSymbolicLink!
Additional information
fs.stat(filepath).isSymbolicLink()
should return true
for a symbolic link.
yagipy and tom-james-watson
Metadata
Metadata
Assignees
Labels
No labels