Please take note of the warnings in the comments regarding the incorrect version for Spanish translation.
If you are still inclined to proceed, the simplest method would be to utilize a regular expression replacement on the output from the previous step. The provided code snippet offers an alternative approach with the addition of a replace function. It also permits the input of a date, defaulting to today's date if none is specified:
let formatDate = (date = new Date()) => date == "Invalid Date"
? '-'
: date.toLocaleDateString('es-ES', {day: 'numeric', month: 'short'})
.replace(/\b([a-z])/, (s, w) => w.toUpperCase())
console.log(formatDate())
console.log(formatDate(new Date(1776, 7, 4)))
console.log(formatDate(new Date(1862, 4, 5)))
console.log(formatDate(new Date('foo-bar-baz')))