![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@tapjs/clock
Advanced tools
A deterministic mock clock for use in tests involving time.
A mock clock will be available at t.clock
. If you call
t.clock.enter()
, it will monkey-patch all the globals to be
tied to the deterministic mock clock implementation. When the
test completes, the patched globals will return to their previous
state automatically.
Add the plugin by running:
tap plugin add @tapjs/clock
Then, you can use it by accessing the t.clock
object on any
test, which is an instance of the Clock
class.
For example:
t.test('some timers and such', async t => {
t.clock.enter()
let timeoutFired = false
setTimeout(() => (timeoutFired = true), 100)
t.clock.advance(50)
t.equal(timeoutFired, false)
t.clock.advance(50)
t.equal(timeoutFired, true)
})
If you aren't using the @tapjs/after
plugin, then you'll have
to call t.clock.exit()
at some point to restore the global
timers to their previous states if you enter it.
See clock-mock for full API details.
FAQs
a make believe clock for tests involving time
The npm package @tapjs/clock receives a total of 285 weekly downloads. As such, @tapjs/clock popularity was classified as not popular.
We found that @tapjs/clock demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.