Skip to content

samwho/everycron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

everycron

Find crons hard to read? Always opening https://crontab.guru to figure out what's going on? All your problems are about to be solved.

everycron exposes constants with human-readable names to make it much easier to find the cron expression you need!

Generating src/crons.ts

generate.ts is what generates src/crons.ts. I did used to commit it to the repo but it's massive and costs about $5/mo in git LFS, and the bit isn't worth that to me.

bun generate.ts

This takes about 5-10 minutes and needs about 7GB of RAM.

Stats

src/crons.ts contains:

  1. 23,804,927 unique cron expressions.
  2. 1.9GB of data.

It is highly unlikely your cron use-case can not be served by this file.

Usage

import cron from "./src/crons";

console.log(cron.EVERY_MINUTE);

On my M1 Max MacBook Pro this takes 3 hours and 38 seconds to run, and consumes about 14GB of RAM.

Sample contents

In case you don't want to clone this repo and spend the 5-10 minutes generating the file for yourself, here's the first 100 lines of src/crons.ts:

export default {
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_JANUARY:"0 0 1 1 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_JANUARY:"0 0 1 1 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_JANUARY:"0 0 1 1 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_JANUARY:"0 0 1 1 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_JANUARY:"0 0 1 1 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_JANUARY:"0 0 1 1 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_JANUARY:"0 0 1 1 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_JANUARY:"0 0 1 1 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_JANUARY:"0 0 1 1 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_JANUARY:"0 0 1 1 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_JANUARY:"0 0 1 1 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_JANUARY:"0 0 1 1 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_JANUARY:"0 0 1 1 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_JANUARY:"0 0 1 1 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_FEBRUARY:"0 0 1 2 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_FEBRUARY:"0 0 1 2 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_FEBRUARY:"0 0 1 2 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_FEBRUARY:"0 0 1 2 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_FEBRUARY:"0 0 1 2 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_FEBRUARY:"0 0 1 2 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_FEBRUARY:"0 0 1 2 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_FEBRUARY:"0 0 1 2 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_FEBRUARY:"0 0 1 2 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_FEBRUARY:"0 0 1 2 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_FEBRUARY:"0 0 1 2 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_FEBRUARY:"0 0 1 2 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_FEBRUARY:"0 0 1 2 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_FEBRUARY:"0 0 1 2 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_MARCH:"0 0 1 3 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_MARCH:"0 0 1 3 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_MARCH:"0 0 1 3 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_MARCH:"0 0 1 3 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_MARCH:"0 0 1 3 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_MARCH:"0 0 1 3 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_MARCH:"0 0 1 3 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_MARCH:"0 0 1 3 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_MARCH:"0 0 1 3 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_MARCH:"0 0 1 3 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_MARCH:"0 0 1 3 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_MARCH:"0 0 1 3 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_MARCH:"0 0 1 3 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_MARCH:"0 0 1 3 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_APRIL:"0 0 1 4 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_APRIL:"0 0 1 4 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_APRIL:"0 0 1 4 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_APRIL:"0 0 1 4 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_APRIL:"0 0 1 4 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_APRIL:"0 0 1 4 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_APRIL:"0 0 1 4 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_APRIL:"0 0 1 4 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_APRIL:"0 0 1 4 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_APRIL:"0 0 1 4 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_APRIL:"0 0 1 4 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_APRIL:"0 0 1 4 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_APRIL:"0 0 1 4 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_APRIL:"0 0 1 4 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_MAY:"0 0 1 5 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_MAY:"0 0 1 5 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_MAY:"0 0 1 5 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_MAY:"0 0 1 5 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_MAY:"0 0 1 5 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_MAY:"0 0 1 5 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_MAY:"0 0 1 5 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_MAY:"0 0 1 5 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_MAY:"0 0 1 5 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_MAY:"0 0 1 5 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_MAY:"0 0 1 5 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_MAY:"0 0 1 5 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_MAY:"0 0 1 5 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_MAY:"0 0 1 5 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_JUNE:"0 0 1 6 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_JUNE:"0 0 1 6 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_JUNE:"0 0 1 6 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_JUNE:"0 0 1 6 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_JUNE:"0 0 1 6 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_JUNE:"0 0 1 6 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_JUNE:"0 0 1 6 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_JUNE:"0 0 1 6 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_JUNE:"0 0 1 6 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_JUNE:"0 0 1 6 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_JUNE:"0 0 1 6 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_JUNE:"0 0 1 6 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_JUNE:"0 0 1 6 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_JUNE:"0 0 1 6 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_JULY:"0 0 1 7 0",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_MONDAY_ONLY_IN_JULY:"0 0 1 7 1",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_TUESDAY_ONLY_IN_JULY:"0 0 1 7 2",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_WEDNESDAY_ONLY_IN_JULY:"0 0 1 7 3",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_THURSDAY_ONLY_IN_JULY:"0 0 1 7 4",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_FRIDAY_ONLY_IN_JULY:"0 0 1 7 5",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SATURDAY_ONLY_IN_JULY:"0 0 1 7 6",
AT_00_00_ON_DAY_1_OF_MONTH_ONLY_IN_JULY:"0 0 1 7 *",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_2_DAYS_OF_WEEK_ONLY_IN_JULY:"0 0 1 7 */2",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_3_DAYS_OF_WEEK_ONLY_IN_JULY:"0 0 1 7 */3",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_4_DAYS_OF_WEEK_ONLY_IN_JULY:"0 0 1 7 */4",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_5_DAYS_OF_WEEK_ONLY_IN_JULY:"0 0 1 7 */5",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_6_DAYS_OF_WEEK_ONLY_IN_JULY:"0 0 1 7 */6",
AT_00_00_ON_DAY_1_OF_MONTH_EVERY_7_DAYS_OF_WEEK_ONLY_IN_JULY:"0 0 1 7 */7",
AT_00_00_ON_DAY_1_OF_MONTH_AND_ON_SUNDAY_ONLY_IN_AUGUST:"0 0 1 8 0",

About

Every cron expression in a single enum.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published