A zero-dependency TypeScript toolkit for creating, parsing, validating, scheduling and calculating standard five-field cron expressions.
The package consists of several independent modules that can be used together or individually:
For the complete API reference, see the project documentation.
Install via the npm registry:
npm install nxtcron
Or use the browser bundle via CDN:
<script src="https://cdn.jsdelivr.net/npm/nxtcron/dist/nxtcron.js"></script>
import { next } from 'nxtcron';
const runs = next( '0 9 * * MON-FRI', {
count: 5,
after: new Date( '2030-01-01' ),
timezone: 'Europe/Berlin'
} );
Create cron expressions using the immutable fluent builder API.
import { build } from 'nxtcron';
const expr = build()
.minute().every( 15 )
.hour().range( 8, 18 )
.dayOfWeek().list( 'MON', 'TUE', 'WED', 'THU', 'FRI' )
.toString();
// */15 8-18 * * 1,2,3,4,5
Parse and fully validate a cron expression.
import { parse, validate } from 'nxtcron';
const ok = validate( '0 12 * * MON' ); // true
const parsed = parse( '0 12 * * MON' );
Create a cron expression from individual field values, an ordered field tuple or the structured cron object.
import { create, fromObject, fromTuple } from 'nxtcron';
create( '0', '12', '*', '*', 'MON' );
fromObject( { minute: '0', hour: '12', dayOfWeek: 'MON' } );
fromTuple( [ '0', '12', '*', '*', 'MON' ] );
Calculate the next and previous scheduled execution time(s).
import { next, prev } from 'nxtcron';
next( '*/30 * * * *', { count: 5 } );
prev( '0 0 1 * *', { before: new Date( '2020-06-01' ) } );
Schedule recurring executions using a cron expression.
import { schedule } from 'nxtcron';
const job = schedule( '0 * * * *', () => console.log( 'Executed' ) );
job.stop();
The complete API is also available through the exported namespace.
import nxtcron from 'nxtcron';
const expr = nxtcron.build().minute().every( 5 ).toString();
const parsed = nxtcron.parse( expr );
const runs = nxtcron.next( expr );
The generated API documentation contains the complete reference for all exported classes, functions and types.
This project is licensed under the MIT License - see the LICENSE file for details.
© Copyright 2026 Paul Köhler (komed3).