@thheller yes I saw all kinds of weird stuff, but really we only need this for top-levels anyway - happy to fix stuff as people report them, or for people to submit patches
the logic was pretty inscrutable before, but I think it’s now pretty easy to add these extra cases and write the unit tests
Yes tho you can probably version detect and macroize
@dnolen since I implemented full support for "exports" recently in shadow-cljs, all these styles are surprisingly common https://github.com/thheller/shadow-cljs/blob/master/test-env/node_modules/exports/package.json#L9-L12
I thought I could get away with not implementing wildcards, or the prefix style, but they are very widely used
also this abomination https://unpkg.com/@babel/runtime@7.22.5/package.json, although this is not that common