๐ŸŽฎ Consoles

One of the biggest drawbacks of creating a web-based game, is that browser support on consoles is limited or challenging. So if you intend to publish your game on consoles, you should consider using native engines.

Also, note that to make your game usable on consoles, you'll need to integrate the Gamepad API (opens in a new tab).

Wrappers

The Xbox One supports HTML / JS games via UWP apps (opens in a new tab) and Hosted Web Apps (opens in a new tab).

It currently doesn't seem possible to publish JavaScript games to PlayStation or Nintendo Switch.

That being said, Radical Fish Games (opens in a new tab) was able to release their game CrossCode (opens in a new tab) on Switch and PlayStation, by creating their own compiler and transforming JavaScript code to C++. They touch on the process in their blog posts here (opens in a new tab) and here (opens in a new tab), and in this presentation (opens in a new tab).

Browsers

Alternatively, web games can be played in browsers on Xbox (opens in a new tab) and PS4 (opens in a new tab), but not PS5 (opens in a new tab) or Switch. There are some tricks to access hidden browsers on these as well, but that's not something you'd want your users to go through to play your games).

Steam Deck

Steam Decks (opens in a new tab) run the SteamOS Linux distribution. By publishing a Linux build (opens in a new tab) of your game to Steam via Electron (opens in a new tab) and Steamworks.js (opens in a new tab), it should work on Steam Deck. You might need the --no-sandbox flag (opens in a new tab) when building your Electron game. I haven't done it myself, so please let me know if you have more info or if you can confirm this.