tl;dr; Check out Shurley at GitHub. It's open source!
On News, calm I ask customers to type in the URL for their feeds. I found out soon enough that people paste and/or type things which look very strange to a computer, but not that far off for a human, which can introduce some frustration.
So I decided to extract a little bit of logic I have in Focusd to try and make sense of invalid URLs into its own package, with the name being inspired in "Don't call me Shirley"'s "Airplane!" running joke (which I've always adored).
Shurley is very simple to use and has no dependencies. It's tiny and has 100% test coverage. I didn't write it in TypeScript as it seemed overkill for such a tiny package (it was originally in TypeScript as that's what Focusd is written in now).
It's licensed with ISC, so you should be able to do whatever, and if the license isn't good enough for you, reach out and we can certainly arrange something.
Thank you so much for your kindness and attention. I truly appreciate it!