I was using this example to create a calendar in angular. But I realized today that when DST Ends the date is repeated and then the days are off by one from then on.
Look at the stackblitz. November 7 is repeated. stackblitz link to calendar
This is the code that generates the calendar days. How do I adjust this so that DST doesn't mess everything up?
  private getCalendarDays(date = new Date) {
var startDate;
startDate = this.getCalendarStartDay(date).getTime();
 const calendarStartTime =  startDate;
    return this.range(0, 41)
      .map(num => new Date(calendarStartTime + DAY_MS * num));
  }
  private getCalendarStartDay(date = new Date) {
    const [year, month] = [date.getFullYear(), date.getMonth()];
    const firstDayOfMonth = new Date(year, month, 1).getTime();
    return this.range(1,7)
      .map(num => new Date(firstDayOfMonth - DAY_MS * num))
      .find(dt => dt.getDay() === 0)
  }
  private range(start, end, length = end - start + 1) {
    return Array.from({ length }, (_, i) => start + i)
  }