Search code examples
node.jslinuxfssymlink-traversalnode-supervisor

Node.js: Check if file is an symbolic link when iterating over directory with 'fs'


Supervisor is a package for Node.js that monitors files in your app directory for modifications and reloads the app when a modification occurs.

This script interprets symbolic links as regular files and logs out a warning. I would like to fork Supervisor so that either this can be fixed entirely or that a more descriptive warning is produced.

How can I use the File System module of Node.js to determine if a given file is really an symbolic link?


Solution

  • You can use fs.lstat and then call statis.isSymbolicLink() on the fs.Stats object that's passed into your lstat callback.

    fs.lstat('myfilename', function(err, stats) {
        console.log(stats.isSymbolicLink());
    });