Deno and Skia-Canvas
I have used Deno for Advent of Code, and I like the OOTB Typescript-Support. It’s also pretty simple to add Skia-Canvas for graphical stuff without having to use Raylib (which is great, but if you don’t need Input or Sound, and want to use canvas-API, may be too much).
$ deno add npm:skia-canvas
Add "nodeModulesDir": "auto"
to deno.json
$ deno install --allow-scripts
$ deno run --allow-all main.ts
This example can be used as a starting-point:
import { Window } from "skia-canvas";
const win = new Window(300, 300);
win.title = "Canvas Window";
win.on("draw", (e) => {
const ctx = e.target.canvas.getContext("2d");
ctx.lineWidth = 25 + 25 * Math.cos(e.frame / 10);
ctx.beginPath();
ctx.arc(150, 150, 50, 0, 2 * Math.PI);
ctx.stroke();
});