I've been rewriting https://gdscript.live in raw HTML/CSS/JS using vanilla JavaScript with NodeJS as the backend. I've got an HTTP API working which accepts a script source (base64 encoded), Godot version, and optional entry point function; you get back STDOUT and STDERR and a hash of the request (results are cached by request hash). Requests time out after 30 seconds.

This is like the 10th web app I've made from scratch and every time I do it in raw JavaScript with minimal dependencies, no framework, and write the whole thing in Vim. I'm pretty determined to never use a JavaScript framework as long as I live at this point lol; they just seem like unnecessary bloat to me for 90% of projects.

#Godot #gdscript #programming #webdeveloment

GDScript.Live

Script run requests are just run directly in a docker container. I'm sure I could do something smarter like cluster containers and re-use them as requests come in to cut down on start-up and shut-down time (Godot adds 5-10 seconds of overhead to every script run just from startup and shutdown), but that's also something I can add in later.