lru.ts 401 B

123456789101112131415
  1. let lru = require('lru-cache')({ max: 256, maxAge: 250 })
  2. let fs = require('fs')
  3. let origLstat = fs.realpathSync.bind(fs)
  4. // NB: The biggest offender of thrashing realpathSync is the node module system
  5. // itself, which we can't get into via any sane means.
  6. require('fs').realpathSync = function (p) {
  7. let r = lru.get(p)
  8. if (r) return r
  9. r = origLstat(p)
  10. lru.set(p, r)
  11. return r
  12. }