GNOME Shell 45 moved to ESM (ECMAScript modules). That means you MUST use the standard import declaration instead of relying on the previous imports.* approach.
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import * as Main from 'resource:///org/gnome/shell/ui/main.js'
import * as Volume from 'resource:///org/gnome/shell/ui/status/volume.js';
well that's what I tried, but how would I know where Volume is located in the path 'gi:// ... '. Is there any way of browsing / exploring the jave files to that I can actually know what the path is?
I edited my comment with an example for your code and my best advice for figuring out the path of gnome shell imports is by browsing /usr/share/gnome-shell/js/, the docs are not very helpful.
Just to clarify. The gi:// resources are GObject Introspection modules which are used for multilanguage bindings to native libraries. On my system, GI modules are found in /usr/share/gir-1.0/ . They're just imported by name and sometimes version using gi:// (there are examples in the link in my first comment).
As I don't have Gnome installed I can't be sure of the path to gnome shell modules imported using resource://, but it's probably the path I wrote, but without js/.
It is very likely the wrong path, I just extrapolated the path from the gnome-shell git repo. I don't use Gnome myself, I'm on the enemy team using LXDE on Devuan ;)