From f1ab02ba5f670a3869dcde38336280ed5c533f8a Mon Sep 17 00:00:00 2001 From: Mathieu JESER <6737167+bobdivx@users.noreply.github.com> Date: Mon, 2 Nov 2026 11:33:38 +0100 Subject: [PATCH 1/2] =?UTF-8?q?fix(web):=20polyfill=20Blob.stream()=20dans?= =?UTF-8?q?=20jsdom=20(shiki=204.6=20d=C3=A9compresse=20son=20wasm=20via?= =?UTF-8?q?=20Blob.stream)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit shiki 4.6.0 (publié le 2026-11-02) charge le wasm oniguruma gzip inliné avec new Blob([...]).stream().pipeThrough(new DecompressionStream('gzip')). jsdom n'implémente pas Blob.stream() : l'erreur était avalée par highlightCode → pas de coloration → test « code coloré en jetons » en timeout. Les navigateurs ont Blob.stream() : la prod n'est pas touchée. Le lockfile (shiki 4.4.3) n'étant pas en phase avec package.json (^4.5.0), npm install en CI a pris la nouvelle version. --- apps/web/src/test/setup.ts | 14 ++++++++++++++ package-lock.json | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/web/src/test/setup.ts b/apps/web/src/test/setup.ts index a17167fa76..02859f28d6 100644 --- a/apps/web/src/test/setup.ts +++ b/apps/web/src/test/setup.ts @@ -49,3 +49,17 @@ if (typeof Element !== 'undefined' && !Element.prototype.animate) { return anim as unknown as Animation; }; } + +// jsdom n'implémente pas Blob.stream() (présent dans tous les navigateurs) : shiki ≥ 4.6 +// décompresse son wasm via `new Blob([…]).stream()`. Polyfill sur arrayBuffer(). +if (typeof Blob !== 'undefined' && !Blob.prototype.stream) { + Blob.prototype.stream = function stream(this: Blob) { + const blob = this; + return new ReadableStream({ + async start(controller) { + controller.enqueue(new Uint8Array(await blob.arrayBuffer())); + controller.close(); + }, + }); + } as Blob['stream']; +} diff --git a/package-lock.json b/package-lock.json index 365b9153f7..02b300a8e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ }, "apps/web": { "name": "apps-web", - "version": "2.0.224", + "version": "2.0.278", "dependencies": { "@astrojs/check": "^0.9.10", "@astrojs/preact": "^6.0.5", From e875a2f3b1ecd9f11957d3229f806003b570d110 Mon Sep 17 00:00:00 2001 From: Mathieu JESER <6737167+bobdivx@users.noreply.github.com> Date: Mon, 2 Nov 2026 11:33:47 +0100 Subject: [PATCH 2/2] chore: retire la modification involontaire du lockfile racine --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 02b300a8e2..365b9153f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ }, "apps/web": { "name": "apps-web", - "version": "2.0.278", + "version": "2.0.224", "dependencies": { "@astrojs/check": "^0.9.10", "@astrojs/preact": "^6.0.5",