module.exports = exists exists.sync = sync var fs = require('fs') var existsCache = Object.create(null) function exists (file, cb) { if (file in existsCache) return process.nextTick(cb.bind(null, existsCache[file])) fs.lstat(file, function (er) { cb(existsCache[file] = !er) }) } function sync (file) { if (file in existsCache) return existsCache[file] try { fs.lstatSync(file) existsCache[file] = true } catch (er) { existsCache[file] = false } return existsCache[file] }