Unfortunately, having a URL is only the beginning. After that it gets complicated, because the "source" you get by following a URL in Deno (or a web browser) has often been put through the blender, repackaged and minified by some CDN. It's hard to read and VS Code's debugger doesn't handle it well. Sometimes I'm left just looking at type definitions and it's unclear where the source code for the implementation is at all. Aren't source maps supposed to help here?
So, I look at the repo instead, but now I don't know how it matches up with the code I'm actually running.
I find Go modules to be easier to understand. They are similarly distributed (many source repos will work), but when you navigate to the source code, you get the actual source.
> import { Semaphore } from "https://deno.land/x/semaphore@v1.1.2/semaphore.ts";
Should just be~
> import { Semaphore } from "deno/utils";
Or something like that.