LittleJS
The Tiny JavaScript Game Engine That Can!
...This engine has everything necessary to make high-quality games, including fast rendering, physics, particles, sound effects, music, keyboard/mouse/gamepad input handling, update/render loop, and debug tools. It is recommended that you start by copying the LittleJS Starter Project This file is mostly empty with just a few things you can use to get started or remove. You can also download and include engine.all.js or engine.all.min.js. In order to load files like images you will need to run a small web server like http-server on npm. I recommend an editor that does this for me automatically like Brackets or VS Code with the Live Server plugin.