
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
MinimoJS v1 — ultra-minimal, flat, deterministic 2D web game engine. Emoji-only sprites, rAF loop, TypeScript-first, LLM-friendly.
Ultra-minimal, deterministic 2D web game engine for browser games.
MinimoJS focuses on a flat API, direct game-loop control, and fast iteration for small games and agent-generated prototypes.
This README is intentionally high-level. It explains what the project is and how to use it quickly, without listing the full API surface.
Game entry pointms)dt) is seconds720x1280setTimeout / setInterval game loopsnpm install minimojs
import { DrawSprite, Game, Sprite, type IScene } from "minimojs";
const game = new Game(720, 1280);
game.gravityY = 980;
class MeterSprite extends DrawSprite {
public value = 0.5;
constructor(x: number, y: number) {
super(160, 28, x, y);
}
redraw(ctx: CanvasRenderingContext2D) {
ctx.fillStyle = "#1a2236";
ctx.fillRect(0, 0, this.width, this.height);
ctx.fillStyle = "#7ce7ff";
ctx.fillRect(0, 0, this.width * this.value, this.height);
}
}
class DemoScene implements IScene {
private player: Sprite | null = null;
private meter: MeterSprite | null = null;
onCreate() {
this.player = game.add(new Sprite("🐢", 360, 640, 48));
this.player.gravityScale = 1;
this.meter = game.add(new MeterSprite(360, 80));
this.meter.ignoreScroll = true;
}
onUpdate(dt: number) {
if (!this.player) return;
if (game.isKeyDown("ArrowLeft")) this.player.vx = -200;
else if (game.isKeyDown("ArrowRight")) this.player.vx = 200;
else this.player.vx = 0;
if (game.isKeyPressed(" ")) this.player.vy = -600;
if (this.meter) this.meter.value = Math.abs(this.player.vx) / 200;
game.drawText("MinimoJS", 10, 10, 16);
}
}
game.start(new DemoScene());
Note: drawText() uses "Press Start 2P", monospace. Load the font in your HTML if you want pixel-font styling.
examples/chickens-eggs-basket/examples/run-dino-run/examples/space-invader/examples/super-minimo-bros/examples/scale-shift/examples/background-desert/examples/scene-lab/examples/image-sprite-sad-plush/examples/draw-sprite/examples/pseudo-3d-racer/examples/animations/Run locally from the minimojs directory:
npx serve .
For complete API details, use source/docs generated from types:
dist/minimo.d.tssrc/minimo.ts (JSDoc)npm run build
npm run clean
npm run rebuild
npm run pack:check
MIT
FAQs
MinimoJS v1 — ultra-minimal, flat, deterministic 2D web game engine. Emoji-only sprites, rAF loop, TypeScript-first, LLM-friendly.
We found that minimojs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.