I built Twins of Caduceus (a game where you have to control two snakes simultaneously) entirely using Phaser 3. I've had mostly very good experiences with it as a batteries included framework (renderer, asset management, physics, input, etc.)
It's a shame that the Phaser map/level editor is a perpetual subscription fee with no fallback license. That means you're relegated to either building your own map editor or using something like Tiled.
I got most of the way through making a toy game with it. I kind of liked it, but I'm using Love2D for the game I'm working on now that I'm planning to release on Steam and hopefully mobile.
Although I did like that I could use Typescript for Phaser, and that it was a lot easier to show off the game to other people through the web.
It's a full-blown game engine and you can do A LOT with it. I've created several js games with it and it never let me down. I've never tried using it with ts, but it should be even better.
edit: Just wanted to add that Phaser has one of the best docs out there including a library of tons of examples that can really get one going.
I think it actually uses Pixijs for rendering. Phaser is a game engine with lots of tools including audio, physics, scenes, tiled support, etc., while pixi is a graphics renderer lib.
Its mature and battle tested at this point. At least for 2D web games. The original/early version of Vampire Survivors is in Phaser if I'm not mistaken. Remade in Unity to make console port easier.