~/recurring-dates
docs

Daily Frequency

Generate dates for every day — or every N days — between a start and end date.

Every Day

const result = generateRecurringDates({
  STARTS_ON: "01-01-2025",
  ENDS_ON: "07-01-2025",
  FREQUENCY: "D",
});

// text: "Every day"
// dates: ["01-01-2025", "02-01-2025", ..., "07-01-2025"]

Every N Days

Set INTERVAL to skip days:

const result = generateRecurringDates({
  STARTS_ON: "01-01-2025",
  ENDS_ON: "15-01-2025",
  FREQUENCY: "D",
  INTERVAL: 3,
});

// text: "Every 3 days"
// dates: ["01-01-2025", "04-01-2025", "07-01-2025", "10-01-2025", "13-01-2025"]

With Exclusions

const result = generateRecurringDates({
  STARTS_ON: "01-01-2025",
  ENDS_ON: "05-01-2025",
  FREQUENCY: "D",
  EXCLUDE_DATES: ["03-01-2025"],
});

// dates: ["01-01-2025", "02-01-2025", "04-01-2025", "05-01-2025"]
// (03-01-2025 is excluded)

Config Keys Used

STARTS_ON, ENDS_ON, FREQUENCY: "D", INTERVAL, EXCLUDE_DATES, FORMAT.