This is unfortunately by design. We do support hot reload during development, but for live environments we can’t support hot reload of code that’s already loaded, because stuff like that can only work if the nodes (and their dependencies) are completely stateless (which isn’t always the case).
In the future we might consider adding checks to ensure that all nodes are completely stateless. Then we can not only more easily load newer versions of node (and their dependencies), but also be able to unload nodes from memory if they haven’t been used in a while.
Until then, every nodes package upgrade needs to followed by a restart.
Could you share a bit more information on why it would be a major issue? I would assume it could possibly be due to the downtime, If that is the case what sort of uptime are you and your clients looking to achieve?