Можно работать как с текстом: разбить в массив, дефис разделитель. День оставить как есть, месяц преобразовать в число и взять название из массива всех месяцев, прописанного вручную. У год взять только две последние цифры. Склеить.
Как вы пробовали?
Можно использовать стандартное форматирование
Intl, но оно без скобок. Например:
const formatDate = (str) => new Intl.DateTimeFormat('ru-RU', {year: '2-digit', month: 'short', day: 'numeric'})
.format(new Date(str.split('-').reverse().join('-')));
formatDate('20-05-2021') // "20 мая 21 г."