diff --git a/README.md b/README.md
index 683ddf2c..67b6e819 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ This project benchmarks the following minifiers:
- [babel-minify](https://github.com/babel/minify/tree/master/packages/babel-minify) v0.5.2
-- [bun](https://github.com/oven-sh/bun) v1.1.37
+- [bun](https://github.com/oven-sh/bun) v1.1.38
- [esbuild](https://github.com/evanw/esbuild) v0.24.0
- [google-closure-compiler](https://github.com/google/closure-compiler-npm/tree/master/packages/google-closure-compiler) v20240317.0.0
- [tedivm/jshrink](https://github.com/tedious/JShrink) v1.7.0
@@ -21,7 +21,7 @@ This project benchmarks the following minifiers:
- [uglify-js](https://github.com/mishoo/UglifyJS) v3.19.3
-_Benchmarks last updated on Nov 26, 2024._
+_Benchmarks last updated on Nov 29, 2024._
@@ -138,7 +138,7 @@ xychart-beta
| 7. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -66% `59.95 kB` | -46% `19.50 kB` | **🏆 `5 ms`** |
| 8. [uglify-js (no compress)](packages/minifiers/minifiers/uglify-js.ts) | -64% `62.50 kB` | -46% `19.57 kB` | *40x* `217 ms` |
| 9. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -64% `63.15 kB` | -46% `19.68 kB` | *52x* `280 ms` |
-| 10. [bun](packages/minifiers/minifiers/bun.ts) | -64% `61.84 kB` | -45% `19.86 kB` | *3x* `18 ms` |
+| 10. [bun](packages/minifiers/minifiers/bun.ts) | -64% `61.84 kB` | -45% `19.86 kB` | *3x* `20 ms` |
| 11. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) | -44% `97.63 kB` | -31% `25.00 kB` | *45x* `246 ms` |
@@ -216,7 +216,7 @@ xychart-beta
| 7. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -66% `117.81 kB` | -51% `44.38 kB` | **🏆 `13 ms`** |
| 8. [uglify-js (no compress)](packages/minifiers/minifiers/uglify-js.ts) | -63% `126.14 kB` | -50% `44.45 kB` | *28x* `375 ms` |
| 9. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -63% `126.58 kB` | -50% `44.68 kB` | *33x* `446 ms` |
-| 10. [bun](packages/minifiers/minifiers/bun.ts) | -64% `121.50 kB` | -49% `45.40 kB` | *2x* `33 ms` |
+| 10. [bun](packages/minifiers/minifiers/bun.ts) | -64% `121.50 kB` | -49% `45.40 kB` | *2x* `34 ms` |
| 11. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) | -42% `197.36 kB` | -36% `57.17 kB` | *31x* `416 ms` |
@@ -255,7 +255,7 @@ xychart-beta
| 7. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -87% `72.48 kB` | -73% `26.20 kB` | *2x* `29 ms` |
| 8. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -86% `75.29 kB` | -73% `26.22 kB` | *31x* `377 ms` |
| 9. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -87% `71.90 kB` | -73% `26.50 kB` | **🏆 `12 ms`** |
-| 10. [bun](packages/minifiers/minifiers/bun.ts) | -87% `73.45 kB` | -72% `26.66 kB` | *2x* `24 ms` |
+| 10. [bun](packages/minifiers/minifiers/bun.ts) | -87% `73.45 kB` | -72% `26.66 kB` | *2x* `25 ms` |
| 11. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) | -73% `148.78 kB` | -62% `36.33 kB` | *27x* `328 ms` |
@@ -292,7 +292,7 @@ xychart-beta
| 5. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -50% `276.47 kB` | -32% `89.16 kB` | *30x* `1,016 ms` |
| 6. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -51% `269.93 kB` | -31% `89.89 kB` | **🏆 `33 ms`** |
| 7. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -51% `270.13 kB` | -31% `90.80 kB` | *2x* `70 ms` |
-| 8. [bun](packages/minifiers/minifiers/bun.ts) | -51% `273.41 kB` | -29% `92.40 kB` | *1x* `50 ms` |
+| 8. [bun](packages/minifiers/minifiers/bun.ts) | -51% `273.41 kB` | -29% `92.40 kB` | *1x* `51 ms` |
| 9. [google-closure-compiler](packages/minifiers/minifiers/google-closure-compiler.ts) | -51% `270.30 kB` | -28% `94.12 kB` | *212x* `7,110 ms` |
| 10. [babel-minify](packages/minifiers/minifiers/babel-minify.ts) ❌ Minification | ❌ | ❌ | - |
| 11. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) ❌ Minification | ❌ | ❌ | - |
@@ -332,7 +332,7 @@ xychart-beta
| 6. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -55% `456.70 kB` | -36% `124.90 kB` | **🏆 `31 ms`** |
| 7. [google-closure-compiler](packages/minifiers/minifiers/google-closure-compiler.ts) | **🏆-56% `439.95 kB`** | -35% `126.56 kB` | *211x* `6,631 ms` |
| 8. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -55% `458.89 kB` | -35% `126.71 kB` | *1x* `62 ms` |
-| 9. [bun](packages/minifiers/minifiers/bun.ts) | -54% `466.80 kB` | -34% `127.65 kB` | *1x* `46 ms` |
+| 9. [bun](packages/minifiers/minifiers/bun.ts) | -54% `466.80 kB` | -34% `127.65 kB` | *1x* `49 ms` |
| 10. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) | -37% `633.71 kB` | -25% `145.18 kB` | *37x* `1,185 ms` |
| 11. [babel-minify](packages/minifiers/minifiers/babel-minify.ts) ❌ Minification | ❌ | ❌ | - |
@@ -371,7 +371,7 @@ xychart-beta
| 6. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -46% `675.50 kB` | -34% `163.20 kB` | *27x* `1,293 ms` |
| 7. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -48% `646.76 kB` | -34% `163.73 kB` | *1x* `91 ms` |
| 8. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -48% `644.55 kB` | -34% `164.74 kB` | **🏆 `48 ms`** |
-| 9. [bun](packages/minifiers/minifiers/bun.ts) | -47% `659.43 kB` | -33% `166.34 kB` | *1x* `60 ms` |
+| 9. [bun](packages/minifiers/minifiers/bun.ts) | -47% `659.43 kB` | -33% `166.34 kB` | *1x* `61 ms` |
| 10. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) | -24% `952.01 kB` | -22% `193.47 kB` | *31x* `1,519 ms` |
| 11. [babel-minify](packages/minifiers/minifiers/babel-minify.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
@@ -409,7 +409,7 @@ xychart-beta
| 5. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -64% `759.34 kB` | -46% `166.39 kB` | *28x* `1,599 ms` |
| 6. [uglify-js (no compress)](packages/minifiers/minifiers/uglify-js.ts) | -65% `756.53 kB` | -46% `167.58 kB` | *23x* `1,345 ms` |
| 7. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -66% `724.14 kB` | -42% `181.07 kB` | *2x* `122 ms` |
-| 8. [bun](packages/minifiers/minifiers/bun.ts) | -66% `727.90 kB` | -41% `182.67 kB` | *1x* `86 ms` |
+| 8. [bun](packages/minifiers/minifiers/bun.ts) | -66% `727.90 kB` | -41% `182.67 kB` | *1x* `88 ms` |
| 9. [google-closure-compiler](packages/minifiers/minifiers/google-closure-compiler.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
| 10. [babel-minify](packages/minifiers/minifiers/babel-minify.ts) ❌ Minification | ❌ | ❌ | - |
| 11. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) ❌ Post-validation | ❌ | ❌ | - |
@@ -447,7 +447,7 @@ xychart-beta
| 4. [uglify-js (no compress)](packages/minifiers/minifiers/uglify-js.ts) | -67% `1.07 MB` | -52% `331.41 kB` | *15x* `1,776 ms` |
| 5. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -68% `1.01 MB` | -52% `331.56 kB` | *1x* `198 ms` |
| 6. [@tdewolff/minify](packages/minifiers/minifiers/tdewolff-minify.ts) | -68% `1.01 MB` | -52% `331.79 kB` | **🏆 `117 ms`** |
-| 7. [bun](packages/minifiers/minifiers/bun.ts) | -68% `1.02 MB` | -51% `337.93 kB` | *1x* `140 ms` |
+| 7. [bun](packages/minifiers/minifiers/bun.ts) | -68% `1.02 MB` | -51% `337.93 kB` | *1x* `148 ms` |
| 8. [babel-minify](packages/minifiers/minifiers/babel-minify.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
| 9. [google-closure-compiler](packages/minifiers/minifiers/google-closure-compiler.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
| 10. [uglify-js](packages/minifiers/minifiers/uglify-js.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
@@ -486,7 +486,7 @@ xychart-beta
| 4. [terser (no compress)](packages/minifiers/minifiers/terser.ts) | -64% `2.43 MB` | -42% `475.48 kB` | *22x* `3,108 ms` |
| 5. [uglify-js (no compress)](packages/minifiers/minifiers/uglify-js.ts) | -64% `2.42 MB` | -42% `478.57 kB` | *18x* `2,504 ms` |
| 6. [esbuild](packages/minifiers/minifiers/esbuild.ts) | -65% `2.31 MB` | -41% `488.28 kB` | *2x* `294 ms` |
-| 7. [bun](packages/minifiers/minifiers/bun.ts) | -66% `2.30 MB` | -40% `491.83 kB` | *1x* `189 ms` |
+| 7. [bun](packages/minifiers/minifiers/bun.ts) | -66% `2.30 MB` | -40% `491.83 kB` | *1x* `190 ms` |
| 8. [babel-minify](packages/minifiers/minifiers/babel-minify.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
| 9. [google-closure-compiler](packages/minifiers/minifiers/google-closure-compiler.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
| 10. [tedivm/jshrink](packages/minifiers/minifiers/jshrink/index.ts) ❌ Timed out | - | - | :warning: `+10,000 ms` |
diff --git a/packages/data/data/data.json b/packages/data/data/data.json
index cda4d668..3b2a4a71 100644
--- a/packages/data/data/data.json
+++ b/packages/data/data/data.json
@@ -91,12 +91,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 23993,
"minzippedSize": 8661,
- "time": 14.525799999999998,
+ "time": 15.1844146,
"runs": 5
}
}
@@ -255,12 +255,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 61836,
"minzippedSize": 19857,
- "time": 18.3576938,
+ "time": 19.6059452,
"runs": 5
}
}
@@ -383,12 +383,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 92548,
"minzippedSize": 32653,
- "time": 30.2935604,
+ "time": 30.317344000000002,
"runs": 5
}
}
@@ -535,12 +535,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 121496,
"minzippedSize": 45400,
- "time": 32.5043296,
+ "time": 33.85452600000001,
"runs": 5
}
}
@@ -675,12 +675,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 73448,
"minzippedSize": 26655,
- "time": 23.9309334,
+ "time": 24.506806400000002,
"runs": 5
}
}
@@ -791,12 +791,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 273406,
"minzippedSize": 92395,
- "time": 49.795967,
+ "time": 51.3075056,
"runs": 5
}
}
@@ -941,12 +941,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 466804,
"minzippedSize": 127653,
- "time": 46.3266456,
+ "time": 48.65149220000001,
"runs": 5
}
}
@@ -1080,12 +1080,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 659427,
"minzippedSize": 166341,
- "time": 60.1324772,
+ "time": 61.321060599999996,
"runs": 5
}
}
@@ -1205,12 +1205,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 727899,
"minzippedSize": 182671,
- "time": 86.31564019999999,
+ "time": 87.96988739999999,
"runs": 5
}
}
@@ -1328,12 +1328,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 1024688,
"minzippedSize": 337934,
- "time": 139.5047328,
+ "time": 148.17020780000001,
"runs": 5
}
}
@@ -1458,12 +1458,12 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"data": {
"minifiedSize": 2296786,
"minzippedSize": 491833,
- "time": 189.03355200000001,
+ "time": 189.94214499999998,
"runs": 5
}
}
@@ -1621,7 +1621,7 @@
},
"bun": {
"minifierPath": "bun.ts",
- "version": "1.1.37",
+ "version": "1.1.38",
"result": {
"error": {
"message": "Expected values to be strictly equal:\n+ actual - expected\n\n+ 'var x = function () { return \"string\"; };\\r\\n'\n- 'var x = function () { return \"string\"; };\\n'",
diff --git a/packages/minifiers/package.json b/packages/minifiers/package.json
index a6e4b9c3..cb904d02 100644
--- a/packages/minifiers/package.json
+++ b/packages/minifiers/package.json
@@ -8,7 +8,7 @@
"@swc/core": "^1.9.3",
"@tdewolff/minify": "^2.21.2",
"babel-minify": "^0.5.2",
- "bun": "^1.1.37",
+ "bun": "^1.1.38",
"esbuild": "^0.24.0",
"find-up": "^7.0.0",
"google-closure-compiler": "^20240317.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index aaa482b7..0eeb88b3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -204,8 +204,8 @@ importers:
specifier: ^0.5.2
version: 0.5.2
bun:
- specifier: ^1.1.37
- version: 1.1.37
+ specifier: ^1.1.38
+ version: 1.1.38
esbuild:
specifier: ^0.24.0
version: 0.24.0
@@ -1057,64 +1057,64 @@ packages:
semver: 7.6.0
dev: false
- /@oven/bun-darwin-aarch64@1.1.37:
- resolution: {integrity: sha512-aJEIlKkyggqU+3fi9LUNUBQfyiuNurIs8YKWZeXo2bjUsDIfMEpBE2C5gNrD8lmseUB32JH9rA45YeHurAc4ew==}
+ /@oven/bun-darwin-aarch64@1.1.38:
+ resolution: {integrity: sha512-6r+PgOE1s56h16wHs4Tg32ZOB9JQEgLi3V+FyIag/lIKS5FV9rUjfSZSwwI8UGfNqj7RrD5cB+1PT3IFpV6gmA==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-darwin-x64-baseline@1.1.37:
- resolution: {integrity: sha512-CTwhN/jF1sKOyMMMIy6t8XwlXbUcu2TSmL7aXcAySBGTaOB01irUyzYOSOv6QSMerPER5TJeYD7AvJOMwrSA2g==}
+ /@oven/bun-darwin-x64-baseline@1.1.38:
+ resolution: {integrity: sha512-hqaAsJGdGXiwwN6Y7dvYWjYwgAB8r3fXFIecjmxeijbOIw8zfru+zKFCBQtHa5AglAUAw1fOSOsWGlu8rtGp7Q==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-darwin-x64@1.1.37:
- resolution: {integrity: sha512-x5Zxjx2jneZbyMYXx9GoNRcp3aaR1ekPEoHPQM7ZY80ctEKw1iQKE7oH5rUis1NGm5Wbhhdpn0iTrNQBNntw8g==}
+ /@oven/bun-darwin-x64@1.1.38:
+ resolution: {integrity: sha512-eda41VCgQcYkrvRnob1xep8zlOm0Io3q1uiBGMaNL8aSrhpYaz3NhMH1NVlZEFahfIHhCfkin/gSLhJK0qK1fg==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-linux-aarch64@1.1.37:
- resolution: {integrity: sha512-qi1kwmFpmJ2Ymya6L/ob840SCbBajUjfBi7KxuvuNcl/PsZZE2EbvBar5gaq62l32g4WB50qw7zezTXiW4lM+w==}
+ /@oven/bun-linux-aarch64@1.1.38:
+ resolution: {integrity: sha512-YIyJ2cBEgvQAYUh1udxe6yximei2QUh6gpdGWmhHiWWRX0VhVxPpZ2E8n6NIlpM2TBy4h/hOndoImiD/XnSq5Q==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-linux-x64-baseline@1.1.37:
- resolution: {integrity: sha512-0iSCVYMHCnyb61Wuzk8PiQb/SHZEC9YS+mbGenRegCWj6u1C6fAzMJLEeXRPL8lhn++sYqgDAylqEeSUSNT7rw==}
+ /@oven/bun-linux-x64-baseline@1.1.38:
+ resolution: {integrity: sha512-7Sv4RHpWBVjmkGjER90e99bYYkPiiNPGVP02CTBo49JwHfogVl8md8oWKr9A6K3ZZ05HS5atOg7wrKolkbR0bA==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-linux-x64@1.1.37:
- resolution: {integrity: sha512-Jw5GKyvUxKprLM2mxqXEuNsjlbeOYkbPy7n42E6P4+G2DsLanUOImlbBjHP1SKz6MU/foqUNJjHahyjteGfyKQ==}
+ /@oven/bun-linux-x64@1.1.38:
+ resolution: {integrity: sha512-foVXWa2/zRPMudxVpr+/COmcF1F849g4JJHTDDzpxIp30Xp7422nSk/c0NESveklrqhCvINq4CNcKnBh3WPFAw==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-windows-x64-baseline@1.1.37:
- resolution: {integrity: sha512-pBexjzqI5txXZWSfZYHlB1b+9zUQ3RJd071tyaB9zdaWUy0oRmKxgJerG+SrzKlaHFozkklKJ36JVbq1E/1MSA==}
+ /@oven/bun-windows-x64-baseline@1.1.38:
+ resolution: {integrity: sha512-iwvzUC59J/aMwEsCkKyPLVc2oNep2OhWL6VRp2d9Sx0g9hycBgxOfBfAhii0bDOBI/aQAVevcTRoQJ1V79PT9Q==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: false
optional: true
- /@oven/bun-windows-x64@1.1.37:
- resolution: {integrity: sha512-+hGwzXZsz32KXCt6mIAE2ih6yis/50jionthaj4MSvlETHLmJWSc6OOsNi7S03EPoVJTqF6A3q1wJTqI9N/xLw==}
+ /@oven/bun-windows-x64@1.1.38:
+ resolution: {integrity: sha512-bMo3o7lyfC8HlyaunUXBFZVbVrYCQHHQRPXsCtgtBKzKbe/r51piwtMl4wpcvd5VZUhBDXMPrm7/OR89XXteyA==}
cpu: [x64]
os: [win32]
requiresBuild: true
@@ -2429,21 +2429,21 @@ packages:
engines: {node: '>=6'}
dev: true
- /bun@1.1.37:
- resolution: {integrity: sha512-8jp2JhT5w+CzdrnDMwLPFK0lDZdPqo/SWih9gd7WIA0r+aC2LBnAMVCG6g31SNRPILkWLhtcXvuttb9vTH6qqg==}
+ /bun@1.1.38:
+ resolution: {integrity: sha512-cr+UDFiEasyw0kKEbbD7kDewrI2vTo17JssVVjzBv/eNskeL2wikJ+4RNgUfoRqgthCjDZux7r6ELGgIGq6aWw==}
cpu: [arm64, x64]
os: [darwin, linux, win32]
hasBin: true
requiresBuild: true
optionalDependencies:
- '@oven/bun-darwin-aarch64': 1.1.37
- '@oven/bun-darwin-x64': 1.1.37
- '@oven/bun-darwin-x64-baseline': 1.1.37
- '@oven/bun-linux-aarch64': 1.1.37
- '@oven/bun-linux-x64': 1.1.37
- '@oven/bun-linux-x64-baseline': 1.1.37
- '@oven/bun-windows-x64': 1.1.37
- '@oven/bun-windows-x64-baseline': 1.1.37
+ '@oven/bun-darwin-aarch64': 1.1.38
+ '@oven/bun-darwin-x64': 1.1.38
+ '@oven/bun-darwin-x64-baseline': 1.1.38
+ '@oven/bun-linux-aarch64': 1.1.38
+ '@oven/bun-linux-x64': 1.1.38
+ '@oven/bun-linux-x64-baseline': 1.1.38
+ '@oven/bun-windows-x64': 1.1.38
+ '@oven/bun-windows-x64-baseline': 1.1.38
dev: false
/byte-size@8.1.1: