jhurliman/node-rate-limiter

Use global.performance instead of perf_hooks.performance for Node >16

kevinyou opened this issue · 0 comments

Currently, this library uses the just-performance polyfill to get current time: https://github.com/jhurliman/node-rate-limiter/blob/25a866d/src/clock.ts

And that polyfill loads performance from perf_hooks: https://github.com/jhurliman/just-performance/blob/main/src/node.ts

As of node v16, performance is directly exposed under global.performance - nodejs/node#37970

One benefit of this change is that popular library @sinonjs/fake-timers only overrides the global performance object, and not perf_hooks.performance. So right now, users of this library need to explicitly mock out perf_hooks.performance (or just-performance.performance).