I previously tried to create a live JS object environment, however I used the Self prototype model rather than the Smalltalk model - https://rameshvarun.github.io/protoworld/. Version control is handled through an implementation of Self's transporter which serializes live object graphs into diffable code. The biggest issue is that there is so much UI work required just to match what you would get with a standard text editor and terminal.
After far too many of them I vowed to never again watch or listen to another video with loud clacking of keyboard noises, sorry. It is a huge annoyance for me.