Consider the RC2014 https://rc2014.co.uk I think it hits a bunch of these points. Also don't overlook the SpecNext https://www.specnext.com -- both have very active communities.
Emacs, and Chrome dev tools. The build environment has jslint set up in it too. I can't recommend enough js{lint|hint}ing all your code. None of the stuff in the sim is super tricky.
No frameworks or libs. Vanilla.js, raw Canvas and requestAnimationFrame. In this version, they are symmetric with slight random variations. No reason they have to be though.
There are two views, top view and elevation view. All the actors have an x, y and z.
Each of the circle structures is a nation state.
It has a capital at the center (square, blinking). Defcon is the number in the capital.
Cities (circles) send people to work at factories.
Factories (triangles) make munitions and send them to bases
Bases (square) stockpile munitions (counts, clockwise from top right: icbms, abms (anti ballistic missiles), fighters and bombers.
Bombers are big and slow (triangles) that select a target (factory, base, city, capital in that order), fly to it and nuke it, reselecting a target if somebody else destroys it first.
As defence perimeters are penetrated, defcon gets more scary.
Fighters launch at Defcon 4 and attempt to destroy bombers.
At Defcon 3, Bases launch ICBMs a low probability amount of the time.
Satellites launch at Defcon 2, and can shoot ICBMs out of the sky, but have fire/recharge lasers.
When one of a nation's assets (factory, base, city) is nuked, they go to Defcon 1.
If your enemy goes to Defcon 1, so do you.
At Defcon 1, all ICBMs will fire.
When your capital is destroyed, it's Game Over.
The control panel lets you tweak the starting parameters. There are a lot more controls for all the actors (e.g, how close do bombers flock.) than are not exposed here.