
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
A JavaScript Mock Date object that can be used to change when "now" is.
npm install mockdate
MockDate has been tested in Node, IE9+, Chrome, Firefox, and Opera.
// CommonJS
var MockDate = require('mockdate');
// AMD
require(['MockDate'], function(MockDate) { ... });
// Script Tag
var MockDate = window.MockDate;
MockDate.set(date, [timezoneOffset])
date: Object
The Date to be returned when no parameters are passed to new Date(). Supports any object that has a .valueOf method that returns a value that can be passed to new Date().
date: String
The string representation of the date which is passed to the new Date() constructor. This creates the Date to be returned when no parameters are passed to new Date().
date: Number
The millisecond representation of the Date to be returned when no parameters are passed to new Date().
timezoneOffset: Number
The value that should be returned by new Date().getTimezoneOffset()
MockDate.reset();
Will restore the original Date object back to the native implementation.
MockDate.set('2000-11-22');
new Date().toString() // "Wed Nov 22 2000 00:00:00 GMT-0600 (CST)"
MockDate.set('1/30/2000');
new Date().toString() // "Sun Jan 30 2000 00:00:00 GMT-0600 (CST)"
MockDate.set('1/30/2000', 120);
new Date().getTimezoneOffset() // 120
MockDate.set(new Date('2/20/2000'));
new Date().toString() // "Sun Feb 20 2000 00:00:00 GMT-0600 (CST)"
MockDate.set(moment('3/30/2000')); // using momentjs
new Date().toString() // "Thu Mar 30 2000 00:00:00 GMT-0600 (CST)"
MockDate.reset();
new Date().toString() // "Mon Mar 17 2014 18:08:44 GMT-0500 (CDT)"
new Date().getTimezoneOffset() // 360
npm test
Sinon is a comprehensive testing utility that, among other features, includes the ability to stub JavaScript's Date object. Compared to mockdate, Sinon offers a broader range of testing functionalities beyond date mocking, such as spies, stubs, and mocks for JavaScript functions.
Timekeeper is a simple package for controlling the system time in JavaScript. It's similar to mockdate in its purpose of mocking the current time for testing purposes. However, timekeeper has a simpler API and fewer features, focusing solely on freezing and traveling in time without the additional timezone offset control that mockdate offers.
Lolex is a library for JavaScript and Node.js that allows for the mocking of the system clock. It provides functionalities similar to mockdate but extends its capabilities to include mocking of timers (setTimeout, setInterval, etc.). This makes lolex a more versatile choice for testing time-dependent code.
FAQs
A JavaScript mock Date object that can be used to change when "now" is.
The npm package mockdate receives a total of 726,828 weekly downloads. As such, mockdate popularity was classified as popular.
We found that mockdate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.