Here's the (excellent) official GOV.UK guidance on progressive enhancement — in short, try very hard to avoid using JS at all, and especially avoid large frameworks.
https://www.gov.uk/service-manual/technology/using-progressive-enhancement
And here, from the frontpage of HN, is an unofficial component library that emulates the GOV.UK "Design System”… in Vue.
…There's no emoji for “flailing my arms with an exasperated, disbelieving look on my face”