I should add that I think recently some mbed-compatible SWD programmers (inc micro:bit?) started shipping with 'Web USB' compatible firmware. So that could be an option as well to handle the PC->SWD side (although it's not as cool as this).
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I should add that I think recently some mbed-compatible SWD programmers (inc micro:bit?) started shipping with 'Web USB' compatible firmware. So that could be an option as well to handle the PC->SWD side (although it's not as cool as this).