fix: support both formats of workspace definition for npm and yarn (#3235)
We can support both by creating an [untagged
enum](https://serde.rs/enum-representations.html#untagged) in serde.
Quick spot checked the issue we saw on `vercel/vercel` and it no longer
happens with this shim.