V8 is a library that gets embedded in some larger program. It doesn't determine how imports work or any API's, and if you don't have any API's to call, there's not much you can do in JavaScript.
A browser does all that, so that's the runtime. Similarly for Node's import resolution and its API's for doing I/O.
You could think of it as all the code in the 'deno' or 'node' command other than V8 itself.
Got it. Maybe I always naively assumed there is some shallow FFI layer and all the heavy lifting is done by some set of core standard libraries. Ideally portable to multiple environments.
A browser does all that, so that's the runtime. Similarly for Node's import resolution and its API's for doing I/O.
You could think of it as all the code in the 'deno' or 'node' command other than V8 itself.