From 2de552ef760a5c1efa645177ae893140843f2e24 Mon Sep 17 00:00:00 2001 From: erseco Date: Sat, 19 Sep 2026 10:05:41 +0100 Subject: [PATCH] Update uglify-js to 3.19.3 The minifier, so unlike the other two tool updates this one is expected to change the generated bytes, and it does: 3.3.27 ff9f393782d4b3f395b409f20afed1f0e1f855f1fc1a02dbdd4b1ec449d715e0 111,220 3.19.3 a3a26210ce5e662136417e436b5e75ba36a80e68bcd0e90f34602d378faedd26 110,307 913 bytes smaller across the same 126 lines: the file's structure is unchanged and 32 lines compress differently. A different hash is the point of the upgrade rather than a regression, so it was checked rather than assumed. Every marker survives in the same count -- the translation hooks, saveAs, and each bundled plugin -- and the set of distinct translated strings is identical, which is what would change if the minifier had dropped or rewritten something reachable. No compress or mangle flags were added to imitate the old output. The new deterministic bytes are canonical from here. Two clean builds agree, and eXeLearning's browser suite passes all 25 tests against this bundle. Pinned exactly, like the other two. --- package-lock.json | 26 +++++--------------------- package.json | 2 +- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index ef3f1c3..7feec96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "AGPL", "dependencies": { "jake": "12.10.1", - "uglify-js": "^3.3.27" + "uglify-js": "3.19.3" }, "devDependencies": { "http-server": "14.1.1" @@ -110,11 +110,6 @@ "dev": true, "license": "MIT" }, - "node_modules/commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" - }, "node_modules/corser": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", @@ -676,14 +671,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -698,13 +685,10 @@ } }, "node_modules/uglify-js": { - "version": "3.3.27", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.27.tgz", - "integrity": "sha512-O94wxMSb3td/TlofkITYvYIlvIVdldvNXDVRekzK13CQZuL37ua4nrdXX0Ro7MapfUVzglRHs0/+imPRUdOghg==", - "dependencies": { - "commander": "~2.15.0", - "source-map": "~0.6.1" - }, + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "license": "BSD-2-Clause", "bin": { "uglifyjs": "bin/uglifyjs" }, diff --git a/package.json b/package.json index b21eb91..c1389bf 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "jake": "12.10.1", - "uglify-js": "^3.3.27" + "uglify-js": "3.19.3" }, "devDependencies": { "http-server": "14.1.1"