Extract val info (author, name, version) from a val url (either from esm.town or val.town). Works for both legacy and current val url formats.

Example usage:

const {author, name} = extractValInfo(import.meta.url)
  • returns a unique slug for the val: <author>/<name>
  • for non legacy val url formats the email and httpEndpoint will be null