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.