From 0b960d072ed85bfccb18cce7d9d66374a895a783 Mon Sep 17 00:00:00 2001 From: Olivier Biot Date: Sat, 29 Aug 2026 09:55:51 +0800 Subject: [PATCH] docs(readme): replace the dead bundlephobia badges, and correct the size claim MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both bundlephobia badges rendered as "bundlephobia 429": badgen's endpoint is rate limited by an upstream service that is effectively unmaintained, and shields' equivalent returns "rate limited by upstream service" too. They read as a duplicate badge because both failed to the same error text, though they were meant to report minzip size and tree-shaking. Replaced with a working bundlejs size badge; there is no tree-shaking equivalent. DOC_README carried the same dead badge, linked to an unrelated repository's LICENSE file. With a badge reporting a real number again, the neighbouring prose was wrong: it claimed ~150 KB minzipped, written at 19.7.1 before WebGPU, 3D meshes, the glTF loader and the blend mode shaders landed. Measured at 20.2.0: 246 kB gzip locally via esbuild, 254 kB via bundlejs. Quoted as ~250 KB, which is the resolution the two agree at. Also drops the tree-shaking justification behind the "lightweight" framing, because the numbers do not support it. Measured against the shipped build/index.js, which is the single file a consumer's bundler actually sees: import { Vector2d } 184 kB gzip import { Application } 230 kB the platformer example's real 31 imports 234 kB the whole barrel 246 kB So there is a 184 kB floor, and a real game saves about 5% rather than a large fraction. `sideEffects` is declared correctly, so this is not a missing hint — everything transitively reaches the renderers. The engine is described as fully featured instead, and the size is left to speak for itself. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_012Aa37KGXZcnVrbn1yG4j1N --- DOC_README.md | 4 ++-- README.md | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/DOC_README.md b/DOC_README.md index 670669626..88c996985 100644 --- a/DOC_README.md +++ b/DOC_README.md @@ -3,12 +3,12 @@

- A lightweight, plugin-free HTML5 game engine + A modern, plugin-free HTML5 game engine

npm - size + size discord

diff --git a/README.md b/README.md index 4846e06fa..5af8b7e0c 100644 --- a/README.md +++ b/README.md @@ -5,19 +5,18 @@ melonJS 2 [![Build Status](https://github.com/melonjs/melonJS/actions/workflows/main.yml/badge.svg)](https://github.com/melonjs/melonJS/actions/workflows/main.yml) [![NPM Package](https://img.shields.io/npm/v/melonjs)](https://www.npmjs.com/package/melonjs) [![NPM Downloads](https://img.shields.io/npm/dm/melonjs)](https://www.npmjs.com/package/melonjs) -[![Build Size](https://badgen.net/bundlephobia/minzip/melonjs)](https://bundlephobia.com/result?p=melonjs) -[![Tree-shaking](https://badgen.net/bundlephobia/tree-shaking/melonjs)](https://bundlephobia.com/result?p=melonjs) +[![Build Size](https://img.shields.io/bundlejs/size/melonjs?label=minzip)](https://bundlejs.com/?q=melonjs) [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/melonjs/badge?style=rounded)](https://www.jsdelivr.com/package/npm/melonjs) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE.md) [![Discord](https://img.shields.io/discord/608636676461428758?color=7289da&label=discord)](https://discord.gg/aur7JMk) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) -A modern & lightweight HTML5 game engine +A modern & fully featured HTML5 game engine ------------------------------------------------------------------------------- ![melonJS](https://melonjs.org/img/alex4-github.png) -[melonJS](https://melonjs.org/) is an open-source 2.5D game engine designed for indie developers — perspective and orthogonal cameras, GPU-accelerated tilemap rendering, post-processing effects, custom shaders, 3D mesh support, polygon-accurate physics, modern Tiled workflows, and high performance. Runs on WebGPU, WebGL 2 or Canvas2D with automatic fallback, tree-shakeable so you only pay for what you use, and the entire engine fits in ~150 KB minzipped of vanilla JS/TS with no toolchain lock-in. Built with ES6 classes and bundled with [esbuild](https://esbuild.github.io). +[melonJS](https://melonjs.org/) is an open-source 2.5D game engine designed for indie developers — perspective and orthogonal cameras, GPU-accelerated tilemap rendering, post-processing effects, custom shaders, 3D mesh support, polygon-accurate physics, modern Tiled workflows, and high performance. Runs on WebGPU, WebGL 2 or Canvas2D with automatic fallback. The whole engine is ~250 KB minzipped of vanilla JS/TS, with no dependencies and no toolchain lock-in. Built with ES6 classes and bundled with [esbuild](https://esbuild.github.io). [melonJS](https://melonjs.org/) is licensed under the [MIT License](LICENSE.md) and actively maintained by the team at AltByte in Singapore.