An entire town has celebrated Christmas two months early so a terminally-ill 12-year-old won't miss out.