1
1
mirror of https://github.com/Eugeny/tabby.git synced 2024-12-25 11:33:35 +03:00
tabby/app/lib/lru.ts

18 lines
437 B
TypeScript
Raw Normal View History

2021-12-06 21:13:26 +03:00
import LRU from 'lru-cache'
2020-02-05 15:16:31 +03:00
import * as fs from 'fs'
2020-12-24 16:03:14 +03:00
const lru = new LRU({ max: 256, maxAge: 250 })
2020-02-05 15:16:31 +03:00
const origLstat = fs.realpathSync.bind(fs)
// NB: The biggest offender of thrashing realpathSync is the node module system
// itself, which we can't get into via any sane means.
require('fs').realpathSync = function (p) {
let r = lru.get(p)
2020-02-05 15:16:31 +03:00
if (r) {
return r
}
r = origLstat(p)
lru.set(p, r)
return r
}