diff --git a/package.json b/package.json index ca6ff923..942903e0 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "dependencies": { "@minify-js/node": "^0.5.6", "@swc/core": "^1.3.95", - "@tdewolff/minify": "^2.20.4", + "@tdewolff/minify": "^2.20.5", "antd": "^4.16.1", "babel-minify": "^0.5.2", "bun": "^1.0.7", @@ -52,7 +52,7 @@ "react-dom": "^17.0.2", "read-pkg-up": "^9.1.0", "tasuku": "^2.0.1", - "terser": "^5.23.0", + "terser": "^5.24.0", "three": "^0.124.0", "typescript": "^5.2.2", "uglify-js": "^3.17.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 06588143..d6a158f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,8 +8,8 @@ dependencies: specifier: ^1.3.95 version: 1.3.95 '@tdewolff/minify': - specifier: ^2.20.4 - version: 2.20.4 + specifier: ^2.20.5 + version: 2.20.5 antd: specifier: ^4.16.1 version: 4.16.1(react-dom@17.0.2)(react@17.0.2) @@ -92,8 +92,8 @@ dependencies: specifier: ^2.0.1 version: 2.0.1 terser: - specifier: ^5.23.0 - version: 5.23.0 + specifier: ^5.24.0 + version: 5.24.0 three: specifier: ^0.124.0 version: 0.124.0 @@ -993,8 +993,8 @@ packages: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: false - /@tdewolff/minify@2.20.4: - resolution: {integrity: sha512-bRsITeJkzb8lkVojfC04OjSweWz8SMZZECYXFzF7KjZHmXj9cj2B2o6g8zvWZ2p1lQR57ODO366C8Fhq/z7Www==} + /@tdewolff/minify@2.20.5: + resolution: {integrity: sha512-xUy0vxIHjhY28q7B5j8nuinMjlEvaQMR42XEoO8KvHj/VcJPxe5/p2UvzSsiV6OR6GXh1W/s/3Cne71smpnjng==} requiresBuild: true dependencies: node-gyp: 10.0.0 @@ -6103,8 +6103,8 @@ packages: resolution: {integrity: sha512-IKVL/itiMy947XWVv4IHV7a0KQXvKjj4ptbi7Ew9MPMcOLzkiQeyx3Gyvh62hKrfJ0RZc4M1nbhzjNM39Kyujw==} dev: false - /terser@5.23.0: - resolution: {integrity: sha512-Iyy83LN0uX9ZZLCX4Qbu5JiHiWjOCTwrmM9InWOzVeM++KNWEsqV4YgN9U9E8AlohQ6Gs42ztczlWOG/lwDAMA==} + /terser@5.24.0: + resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} engines: {node: '>=10'} hasBin: true dependencies: diff --git a/readme.md b/readme.md index d409ee5d..c9db7c42 100644 --- a/readme.md +++ b/readme.md @@ -75,121 +75,121 @@ How long minification took (average of 5 runs). Each time is annotated with a mu ## 📋 Results -| Artifact | Original size | Gzip size | | -| :-------------------------------------------------------------------------------------------------------------------------------- | -------------------------------: | ------------------------------: | ----------------------------: | -| [react v17.0.2](https://www.npmjs.com/package/react/v/17.0.2) ([Source](https://unpkg.com/react@17.0.2/cjs/react.development.js)) | `72.14 kB` | `19.41 kB` | | -| **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -68% `22.83 kB` | **🏆-58% `8.17 kB`** | *1004x* `5,091 ms` | -| [swc](/lib/minifiers/swc.ts) | -68% `22.87 kB` | -58% `8.18 kB` | *6x* `35 ms` | -| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-69% `22.67 kB`** | -58% `8.19 kB` | *176x* `895 ms` | -| [terser](/lib/minifiers/terser.ts) | -68% `23.14 kB` | -57% `8.32 kB` | *81x* `411 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) | -67% `23.60 kB` | -57% `8.43 kB` | *280x* `1,423 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -67% `23.70 kB` | -56% `8.53 kB` | *6x* `35 ms` | -| [bun](/lib/minifiers/bun.ts) | -67% `23.98 kB` | -56% `8.58 kB` | *5x* `28 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -65% `25.03 kB` | -55% `8.65 kB` | *28x* `146 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -65% `25.08 kB` | -55% `8.72 kB` | *38x* `195 ms` | -| [minify-js](/lib/minifiers/minify-js.ts) | -67% `23.46 kB` | -54% `9.00 kB` | **🏆 `5 ms`** | -| [jshrink](/lib/minifiers/jshrink.ts) | -43% `40.82 kB` | -43% `11.00 kB` | *30x* `154 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) _Invalid output: SyntaxError_ | — | — | — | +| Artifact | Original size | Gzip size | | +| :-------------------------------------------------------------------------------------------------------------------------------- | -------------------------------: | ------------------------------: | ---------------------------: | +| [react v17.0.2](https://www.npmjs.com/package/react/v/17.0.2) ([Source](https://unpkg.com/react@17.0.2/cjs/react.development.js)) | `72.14 kB` | `19.41 kB` | | +| **Minifier** | **Minified size** | **Minzipped size** | **Time** | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -68% `22.83 kB` | **🏆-58% `8.17 kB`** | *766x* `3,690 ms` | +| [swc](/lib/minifiers/swc.ts) | -68% `22.87 kB` | -58% `8.18 kB` | *6x* `33 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-69% `22.67 kB`** | -58% `8.19 kB` | *156x* `753 ms` | +| [terser](/lib/minifiers/terser.ts) | -68% `23.14 kB` | -57% `8.32 kB` | *75x* `363 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) | -67% `23.60 kB` | -57% `8.43 kB` | *257x* `1,238 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -67% `23.70 kB` | -56% `8.53 kB` | *6x* `32 ms` | +| [bun](/lib/minifiers/bun.ts) | -67% `23.98 kB` | -56% `8.58 kB` | *5x* `26 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -65% `25.03 kB` | -55% `8.65 kB` | *25x* `124 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -65% `25.08 kB` | -55% `8.72 kB` | *36x* `174 ms` | +| [minify-js](/lib/minifiers/minify-js.ts) | -67% `23.46 kB` | -54% `9.00 kB` | **🏆 `5 ms`** | +| [jshrink](/lib/minifiers/jshrink.ts) | -43% `40.82 kB` | -43% `11.00 kB` | *30x* `146 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) _Invalid output: SyntaxError_ | — | — | — | ---- | Artifact | Original size | Gzip size | | | :-------------------------------------------------------------------------------------------------------------------- | -------------------------------: | -------------------------------: | ---------------------------: | | [moment v2.29.1](https://www.npmjs.com/package/moment/v/2.29.1) ([Source](https://unpkg.com/moment@2.29.1/moment.js)) | `173.90 kB` | `36.15 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-67% `57.87 kB`** | **🏆-49% `18.46 kB`** | *257x* `2,045 ms` | -| [swc](/lib/minifiers/swc.ts) | -67% `58.23 kB` | -49% `18.57 kB` | *11x* `91 ms` | -| [terser](/lib/minifiers/terser.ts) | -66% `59.16 kB` | -49% `18.59 kB` | *140x* `1,118 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -66% `58.27 kB` | -48% `18.75 kB` | *624x* `4,953 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) | -66% `59.70 kB` | -47% `19.02 kB` | *367x* `2,914 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -66% `59.82 kB` | -47% `19.24 kB` | *5x* `44 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-67% `57.87 kB`** | **🏆-49% `18.46 kB`** | *230x* `1,838 ms` | +| [swc](/lib/minifiers/swc.ts) | -67% `58.23 kB` | -49% `18.57 kB` | *10x* `81 ms` | +| [terser](/lib/minifiers/terser.ts) | -66% `59.16 kB` | -49% `18.59 kB` | *123x* `985 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -66% `58.27 kB` | -48% `18.75 kB` | *560x* `4,460 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) | -66% `59.70 kB` | -47% `19.02 kB` | *306x* `2,442 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -66% `59.82 kB` | -47% `19.24 kB` | *4x* `37 ms` | | [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `59.94 kB` | -46% `19.41 kB` | **🏆 `8 ms`** | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -64% `62.50 kB` | -46% `19.44 kB` | *45x* `361 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -64% `63.15 kB` | -46% `19.56 kB` | *59x* `469 ms` | -| [bun](/lib/minifiers/bun.ts) | -64% `61.79 kB` | -46% `19.69 kB` | *4x* `38 ms` | -| [minify-js](/lib/minifiers/minify-js.ts) | -65% `60.74 kB` | -42% `20.82 kB` | *2x* `16 ms` | -| [jshrink](/lib/minifiers/jshrink.ts) | -44% `97.63 kB` | -31% `24.80 kB` | *44x* `349 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -64% `62.50 kB` | -46% `19.44 kB` | *40x* `320 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -64% `63.15 kB` | -46% `19.56 kB` | *51x* `406 ms` | +| [bun](/lib/minifiers/bun.ts) | -64% `61.79 kB` | -46% `19.69 kB` | *4x* `33 ms` | +| [minify-js](/lib/minifiers/minify-js.ts) | -65% `60.74 kB` | -42% `20.82 kB` | *1x* `16 ms` | +| [jshrink](/lib/minifiers/jshrink.ts) | -44% `97.63 kB` | -31% `24.80 kB` | *42x* `342 ms` | ---- | Artifact | Original size | Gzip size | | | :---------------------------------------------------------------------------------------------------------------------- | -------------------------------: | -------------------------------: | ---------------------------: | | [jquery v3.5.1](https://www.npmjs.com/package/jquery/v/3.5.1) ([Source](https://unpkg.com/jquery@3.5.1/dist/jquery.js)) | `287.63 kB` | `84.37 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-69% `88.54 kB`** | **🏆-63% `30.85 kB`** | *196x* `2,959 ms` | -| [swc](/lib/minifiers/swc.ts) | -69% `89.16 kB` | -63% `30.86 kB` | *10x* `159 ms` | -| [terser](/lib/minifiers/terser.ts) | -69% `89.54 kB` | -63% `30.90 kB` | *101x* `1,529 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -69% `89.85 kB` | -63% `31.44 kB` | **🏆 `15 ms`** | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -67% `94.08 kB` | -63% `31.44 kB` | *33x* `508 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -67% `94.55 kB` | -63% `31.59 kB` | *42x* `635 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) | -68% `92.10 kB` | -62% `31.75 kB` | *308x* `4,650 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -69% `90.07 kB` | -62% `31.89 kB` | *5x* `79 ms` | -| [bun](/lib/minifiers/bun.ts) | -68% `92.45 kB` | -62% `32.45 kB` | *4x* `67 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -68% `92.70 kB` | -61% `32.98 kB` | *359x* `5,415 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-69% `88.54 kB`** | **🏆-63% `30.85 kB`** | *202x* `2,619 ms` | +| [swc](/lib/minifiers/swc.ts) | -69% `89.16 kB` | -63% `30.86 kB` | *11x* `150 ms` | +| [terser](/lib/minifiers/terser.ts) | -69% `89.54 kB` | -63% `30.90 kB` | *103x* `1,345 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -69% `89.85 kB` | -63% `31.44 kB` | **🏆 `13 ms`** | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -67% `94.08 kB` | -63% `31.44 kB` | *35x* `457 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -67% `94.55 kB` | -63% `31.59 kB` | *45x* `590 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) | -68% `92.10 kB` | -62% `31.75 kB` | *296x* `3,838 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -69% `90.07 kB` | -62% `31.89 kB` | *5x* `76 ms` | +| [bun](/lib/minifiers/bun.ts) | -68% `92.45 kB` | -62% `32.45 kB` | *4x* `62 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -68% `92.70 kB` | -61% `32.98 kB` | *399x* `5,165 ms` | | [minify-js](/lib/minifiers/minify-js.ts) | -69% `90.51 kB` | -61% `33.20 kB` | *1x* `24 ms` | -| [jshrink](/lib/minifiers/jshrink.ts) | -50% `144.14 kB` | -52% `40.64 kB` | *30x* `453 ms` | +| [jshrink](/lib/minifiers/jshrink.ts) | -50% `144.14 kB` | -52% `40.64 kB` | *35x* `460 ms` | ---- | Artifact | Original size | Gzip size | | | :------------------------------------------------------------------------------------------------------------- | --------------------------------: | -------------------------------: | ---------------------------: | | [vue v2.6.12](https://www.npmjs.com/package/vue/v/2.6.12) ([Source](https://unpkg.com/vue@2.6.12/dist/vue.js)) | `342.15 kB` | `89.52 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [swc](/lib/minifiers/swc.ts) | -66% `115.51 kB` | **🏆-53% `42.41 kB`** | *8x* `213 ms` | -| [terser](/lib/minifiers/terser.ts) | -66% `116.83 kB` | -52% `42.87 kB` | *75x* `2,012 ms` | -| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-67% `113.98 kB`** | -52% `42.89 kB` | *142x* `3,763 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) | -66% `117.90 kB` | -51% `43.83 kB` | *209x* `5,539 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -66% `115.60 kB` | -51% `44.05 kB` | *231x* `6,130 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -65% `118.14 kB` | -51% `44.24 kB` | *3x* `91 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -63% `126.14 kB` | -50% `44.36 kB` | *21x* `577 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `117.78 kB` | -50% `44.37 kB` | **🏆 `26 ms`** | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -63% `126.58 kB` | -50% `44.57 kB` | *30x* `806 ms` | -| [bun](/lib/minifiers/bun.ts) | -64% `121.52 kB` | -50% `44.98 kB` | *2x* `64 ms` | -| [minify-js](/lib/minifiers/minify-js.ts) | -64% `121.77 kB` | -48% `46.72 kB` | *1x* `30 ms` | -| [jshrink](/lib/minifiers/jshrink.ts) | -42% `197.36 kB` | -36% `56.87 kB` | *23x* `625 ms` | +| [swc](/lib/minifiers/swc.ts) | -66% `115.51 kB` | **🏆-53% `42.41 kB`** | *7x* `207 ms` | +| [terser](/lib/minifiers/terser.ts) | -66% `116.83 kB` | -52% `42.87 kB` | *63x* `1,759 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-67% `113.98 kB`** | -52% `42.89 kB` | *120x* `3,323 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) | -66% `117.90 kB` | -51% `43.83 kB` | *152x* `4,192 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -66% `115.60 kB` | -51% `44.05 kB` | *199x* `5,498 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -65% `118.14 kB` | -51% `44.24 kB` | *2x* `82 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -63% `126.14 kB` | -50% `44.36 kB` | *19x* `524 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `117.78 kB` | -50% `44.37 kB` | **🏆 `28 ms`** | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -63% `126.58 kB` | -50% `44.57 kB` | *25x* `691 ms` | +| [bun](/lib/minifiers/bun.ts) | -64% `121.52 kB` | -50% `44.98 kB` | *1x* `45 ms` | +| [minify-js](/lib/minifiers/minify-js.ts) | -64% `121.77 kB` | -48% `46.72 kB` | *1x* `31 ms` | +| [jshrink](/lib/minifiers/jshrink.ts) | -42% `197.36 kB` | -36% `56.87 kB` | *21x* `600 ms` | ---- | Artifact | Original size | Gzip size | | | :----------------------------------------------------------------------------------------------------------------------- | -------------------------------: | -------------------------------: | ---------------------------: | | [lodash v4.17.21](https://www.npmjs.com/package/lodash/v/4.17.21) ([Source](https://unpkg.com/lodash@4.17.21/lodash.js)) | `544.10 kB` | `96.40 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-87% `68.24 kB`** | **🏆-75% `24.56 kB`** | *130x* `3,192 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -86% `73.47 kB` | -74% `24.84 kB` | *239x* `5,886 ms` | -| [swc](/lib/minifiers/swc.ts) | -87% `69.83 kB` | -74% `25.05 kB` | *6x* `161 ms` | -| [terser](/lib/minifiers/terser.ts) | -87% `71.05 kB` | -74% `25.07 kB` | *68x* `1,686 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) | -87% `72.37 kB` | -74% `25.37 kB` | *165x* `4,053 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -86% `74.61 kB` | -73% `25.76 kB` | *22x* `555 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -87% `72.48 kB` | -73% `26.06 kB` | *1x* `46 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -86% `75.67 kB` | -73% `26.10 kB` | *27x* `672 ms` | -| [bun](/lib/minifiers/bun.ts) | -86% `74.09 kB` | -73% `26.31 kB` | *1x* `44 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -87% `71.90 kB` | -73% `26.40 kB` | **🏆 `25 ms`** | -| [jshrink](/lib/minifiers/jshrink.ts) | -73% `148.78 kB` | -63% `36.01 kB` | *18x* `460 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-87% `68.24 kB`** | **🏆-75% `24.56 kB`** | *122x* `2,782 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -86% `73.47 kB` | -74% `24.84 kB` | *232x* `5,285 ms` | +| [swc](/lib/minifiers/swc.ts) | -87% `69.83 kB` | -74% `25.05 kB` | *6x* `152 ms` | +| [terser](/lib/minifiers/terser.ts) | -87% `71.05 kB` | -74% `25.07 kB` | *68x* `1,546 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) | -87% `72.37 kB` | -74% `25.37 kB` | *152x* `3,463 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -86% `74.61 kB` | -73% `25.76 kB` | *21x* `496 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -87% `72.48 kB` | -73% `26.06 kB` | *1x* `41 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -86% `75.67 kB` | -73% `26.10 kB` | *27x* `628 ms` | +| [bun](/lib/minifiers/bun.ts) | -86% `74.09 kB` | -73% `26.31 kB` | *1x* `34 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -87% `71.90 kB` | -73% `26.40 kB` | **🏆 `23 ms`** | +| [jshrink](/lib/minifiers/jshrink.ts) | -73% `148.78 kB` | -63% `36.01 kB` | *20x* `459 ms` | | [minify-js](/lib/minifiers/minify-js.ts) _Invalid output: SyntaxError_ | — | — | — | ---- | Artifact | Original size | Gzip size | | | :------------------------------------------------------------------------------------------------------ | --------------------------------: | -------------------------------: | ---------------------------: | | [d3 v6.3.1](https://www.npmjs.com/package/d3/v/6.3.1) ([Source](https://unpkg.com/d3@6.3.1/dist/d3.js)) | `555.77 kB` | `129.99 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [uglify-js](/lib/minifiers/uglify-js.ts) | -53% `263.91 kB` | **🏆-33% `86.73 kB`** | *101x* `7,408 ms` | -| [swc](/lib/minifiers/swc.ts) | -52% `265.31 kB` | -33% `86.94 kB` | *6x* `450 ms` | -| [terser](/lib/minifiers/terser.ts) | -52% `267.91 kB` | -33% `87.71 kB` | *63x* `4,613 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -50% `275.35 kB` | -32% `88.30 kB` | *17x* `1,246 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -50% `276.47 kB` | -32% `88.99 kB` | *26x* `1,957 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -51% `269.92 kB` | -31% `89.68 kB` | *1x* `82 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -51% `270.13 kB` | -30% `90.41 kB` | *1x* `127 ms` | -| [bun](/lib/minifiers/bun.ts) | -51% `273.45 kB` | -30% `91.49 kB` | *1x* `84 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -51% `270.30 kB` | -28% `93.48 kB` | *118x* `8,633 ms` | -| [minify-js](/lib/minifiers/minify-js.ts) | **🏆-53% `261.82 kB`** | -26% `95.58 kB` | **🏆 `73 ms`** | +| [uglify-js](/lib/minifiers/uglify-js.ts) | -53% `263.91 kB` | **🏆-33% `86.73 kB`** | *84x* `6,401 ms` | +| [swc](/lib/minifiers/swc.ts) | -52% `265.31 kB` | -33% `86.94 kB` | *5x* `444 ms` | +| [terser](/lib/minifiers/terser.ts) | -52% `267.91 kB` | -33% `87.71 kB` | *50x* `3,850 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -50% `275.35 kB` | -32% `88.30 kB` | *14x* `1,067 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -50% `276.47 kB` | -32% `88.99 kB` | *22x* `1,712 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -51% `269.92 kB` | -31% `89.68 kB` | *1x* `86 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -51% `270.13 kB` | -30% `90.41 kB` | *1x* `129 ms` | +| [bun](/lib/minifiers/bun.ts) | -51% `273.45 kB` | -30% `91.49 kB` | *1x* `82 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -51% `270.30 kB` | -28% `93.48 kB` | *104x* `7,919 ms` | +| [minify-js](/lib/minifiers/minify-js.ts) | **🏆-53% `261.82 kB`** | -26% `95.58 kB` | **🏆 `76 ms`** | | [babel-minify](/lib/minifiers/babel-minify.ts) _Failed to minify_ | — | — | — | | [jshrink](/lib/minifiers/jshrink.ts) _Invalid output: TypeError_ | — | — | — | ---- | Artifact | Original size | Gzip size | | | :----------------------------------------------------------------------------------------------------------------------------- | --------------------------------: | --------------------------------: | ---------------------------: | -| [terser v5.23.0](https://www.npmjs.com/package/terser/v/5.23.0) ([Source](https://unpkg.com/terser@5.23.0/dist/bundle.min.js)) | `992.50 kB` | `190.23 kB` | | +| [terser v5.24.0](https://www.npmjs.com/package/terser/v/5.24.0) ([Source](https://unpkg.com/terser@5.24.0/dist/bundle.min.js)) | `993.16 kB` | `190.42 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [swc](/lib/minifiers/swc.ts) | -55% `449.93 kB` | **🏆-36% `121.38 kB`** | *6x* `375 ms` | -| [uglify-js](/lib/minifiers/uglify-js.ts) | -55% `445.93 kB` | -36% `121.39 kB` | *114x* `6,818 ms` | -| [terser](/lib/minifiers/terser.ts) | -54% `452.37 kB` | -36% `121.62 kB` | *69x* `4,174 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -53% `468.00 kB` | -36% `122.52 kB` | *29x* `1,777 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -53% `465.72 kB` | -36% `122.68 kB` | *21x* `1,275 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | **🏆-56% `434.09 kB`** | -35% `124.29 kB` | *136x* `8,162 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -54% `452.93 kB` | -35% `124.35 kB` | *1x* `104 ms` | -| [bun](/lib/minifiers/bun.ts) | -54% `460.40 kB` | -34% `125.19 kB` | **🏆 `60 ms`** | -| [jshrink](/lib/minifiers/jshrink.ts) | -37% `624.24 kB` | -25% `142.51 kB` | *26x* `1,593 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | -55% `446.16 kB` | **🏆-36% `121.45 kB`** | *115x* `5,862 ms` | +| [swc](/lib/minifiers/swc.ts) | -55% `450.18 kB` | -36% `121.45 kB` | *7x* `362 ms` | +| [terser](/lib/minifiers/terser.ts) | -54% `452.61 kB` | -36% `121.69 kB` | *70x* `3,592 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -53% `468.27 kB` | -36% `122.59 kB` | *30x* `1,561 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -53% `465.99 kB` | -36% `122.74 kB` | *22x* `1,138 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | **🏆-56% `434.32 kB`** | -35% `124.42 kB` | *144x* `7,339 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -54% `453.18 kB` | -35% `124.43 kB` | *1x* `91 ms` | +| [bun](/lib/minifiers/bun.ts) | -54% `460.67 kB` | -34% `125.29 kB` | **🏆 `51 ms`** | +| [jshrink](/lib/minifiers/jshrink.ts) | -37% `624.59 kB` | -25% `142.58 kB` | *31x* `1,590 ms` | | [babel-minify](/lib/minifiers/babel-minify.ts) _Failed to minify_ | — | — | — | | [minify-js](/lib/minifiers/minify-js.ts) _Invalid output: SyntaxError_ | — | — | — | | [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) _Invalid output: TypeError_ | — | — | — | @@ -198,84 +198,84 @@ How long minification took (average of 5 runs). Each time is annotated with a mu | :------------------------------------------------------------------------------------------------------------------------- | --------------------------------: | --------------------------------: | ----------------------------: | | [three v0.124.0](https://www.npmjs.com/package/three/v/0.124.0) ([Source](https://unpkg.com/three@0.124.0/build/three.js)) | `1.25 MB` | `247.75 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [swc](/lib/minifiers/swc.ts) | -48% `643.06 kB` | **🏆-36% `157.69 kB`** | *7x* `599 ms` | -| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-49% `642.22 kB`** | -36% `158.26 kB` | *110x* `9,234 ms` | -| [terser](/lib/minifiers/terser.ts) | -48% `654.11 kB` | -36% `158.98 kB` | *70x* `5,863 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) | -48% `648.83 kB` | -35% `161.70 kB` | *220x* `18,401 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -48% `644.45 kB` | -35% `161.84 kB` | *117x* `9,844 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -46% `674.49 kB` | -35% `162.17 kB` | *21x* `1,836 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -46% `675.60 kB` | -34% `162.35 kB` | *29x* `2,458 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -48% `646.76 kB` | -34% `162.65 kB` | *1x* `151 ms` | -| [bun](/lib/minifiers/bun.ts) | -47% `662.23 kB` | -33% `164.93 kB` | **🏆 `84 ms`** | -| [minify-js](/lib/minifiers/minify-js.ts) | -47% `660.81 kB` | -32% `168.59 kB` | *1x* `125 ms` | -| [jshrink](/lib/minifiers/jshrink.ts) | -24% `952.01 kB` | -22% `192.43 kB` | *25x* `2,107 ms` | +| [swc](/lib/minifiers/swc.ts) | -48% `643.06 kB` | **🏆-36% `157.69 kB`** | *8x* `627 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-49% `642.22 kB`** | -36% `158.26 kB` | *109x* `8,114 ms` | +| [terser](/lib/minifiers/terser.ts) | -48% `654.11 kB` | -36% `158.98 kB` | *71x* `5,319 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) | -48% `648.83 kB` | -35% `161.70 kB` | *201x* `15,003 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -48% `644.45 kB` | -35% `161.84 kB` | *121x* `9,067 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -46% `674.49 kB` | -35% `162.17 kB` | *21x* `1,631 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -46% `675.60 kB` | -34% `162.35 kB` | *30x* `2,245 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -48% `646.76 kB` | -34% `162.65 kB` | *1x* `137 ms` | +| [bun](/lib/minifiers/bun.ts) | -47% `662.23 kB` | -33% `164.93 kB` | **🏆 `74 ms`** | +| [minify-js](/lib/minifiers/minify-js.ts) | -47% `660.81 kB` | -32% `168.59 kB` | *1x* `126 ms` | +| [jshrink](/lib/minifiers/jshrink.ts) | -24% `952.01 kB` | -22% `192.43 kB` | *28x* `2,111 ms` | | [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) _Invalid output: ReferenceError_ | — | — | — | ---- | Artifact | Original size | Gzip size | | | :----------------------------------------------------------------------------------------------------------------------------- | --------------------------------: | --------------------------------: | ----------------------------: | | [victory v35.8.4](https://www.npmjs.com/package/victory/v/35.8.4) ([Source](https://unpkg.com/victory@35.8.4/dist/victory.js)) | `2.14 MB` | `309.06 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [uglify-js](/lib/minifiers/uglify-js.ts) | -67% `702.67 kB` | **🏆-49% `157.52 kB`** | *124x* `11,911 ms` | -| [swc](/lib/minifiers/swc.ts) | -67% `707.90 kB` | -49% `157.55 kB` | *9x* `930 ms` | -| [terser](/lib/minifiers/terser.ts) | -66% `715.61 kB` | -49% `158.05 kB` | *89x* `8,536 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `718.67 kB` | -47% `164.46 kB` | **🏆 `96 ms`** | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -64% `759.34 kB` | -46% `165.72 kB` | *33x* `3,206 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -65% `756.53 kB` | -46% `166.88 kB` | *24x* `2,341 ms` | -| [minify-js](/lib/minifiers/minify-js.ts) | **🏆-72% `607.42 kB`** | -46% `168.01 kB` | *1x* `190 ms` | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -67% `705.87 kB` | -44% `174.20 kB` | *125x* `12,014 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -66% `724.14 kB` | -42% `179.74 kB` | *1x* `191 ms` | -| [bun](/lib/minifiers/bun.ts) | -66% `728.21 kB` | -41% `181.17 kB` | *1x* `116 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | -67% `702.67 kB` | **🏆-49% `157.52 kB`** | *115x* `10,360 ms` | +| [swc](/lib/minifiers/swc.ts) | -67% `707.90 kB` | -49% `157.55 kB` | *10x* `968 ms` | +| [terser](/lib/minifiers/terser.ts) | -66% `715.61 kB` | -49% `158.05 kB` | *83x* `7,509 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `718.67 kB` | -47% `164.46 kB` | **🏆 `90 ms`** | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -64% `759.34 kB` | -46% `165.72 kB` | *31x* `2,781 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -65% `756.53 kB` | -46% `166.88 kB` | *22x* `1,989 ms` | +| [minify-js](/lib/minifiers/minify-js.ts) | **🏆-72% `607.42 kB`** | -46% `168.01 kB` | *2x* `180 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -67% `705.87 kB` | -44% `174.20 kB` | *123x* `11,043 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -66% `724.14 kB` | -42% `179.74 kB` | *2x* `187 ms` | +| [bun](/lib/minifiers/bun.ts) | -66% `728.21 kB` | -41% `181.17 kB` | *1x* `107 ms` | | [babel-minify](/lib/minifiers/babel-minify.ts) _Failed to minify_ | — | — | — | | [jshrink](/lib/minifiers/jshrink.ts) _Invalid output: SyntaxError_ | — | — | — | ---- -| Artifact | Original size | Gzip size | | -| :-------------------------------------------------------------------------------------------------------------------------- | --------------------------------: | --------------------------------: | ---------------------------: | -| [echarts v5.1.1](https://www.npmjs.com/package/echarts/v/5.1.1) ([Source](https://unpkg.com/echarts@5.1.1/dist/echarts.js)) | `3.20 MB` | `683.47 kB` | | -| **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [swc](/lib/minifiers/swc.ts) | **🏆-69% `993.35 kB`** | **🏆-53% `319.73 kB`** | *9x* `1,720 ms` | -| [terser](/lib/minifiers/terser.ts) | -69% `1.00 MB` | -53% `321.40 kB` | *72x* `13,503 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -66% `1.07 MB` | -52% `329.73 kB` | *31x* `5,908 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -67% `1.07 MB` | -52% `330.46 kB` | *16x* `3,127 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -68% `1.01 MB` | -52% `330.68 kB` | *2x* `376 ms` | -| [bun](/lib/minifiers/bun.ts) | -68% `1.03 MB` | -51% `335.42 kB` | **🏆 `185 ms`** | -| [minify-js](/lib/minifiers/minify-js.ts) | -69% `1.01 MB` | -50% `340.93 kB` | *1x* `310 ms` | -| [babel-minify](/lib/minifiers/babel-minify.ts) _Timed out_ | — | — | — | -| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) _Timed out_ | — | — | — | -| [jshrink](/lib/minifiers/jshrink.ts) _Invalid output: TypeError_ | — | — | — | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) _Invalid output: ReferenceError_ | — | — | — | -| [uglify-js](/lib/minifiers/uglify-js.ts) _Timed out_ | — | — | — | +| Artifact | Original size | Gzip size | | +| :-------------------------------------------------------------------------------------------------------------------------- | --------------------------------: | --------------------------------: | ----------------------------: | +| [echarts v5.1.1](https://www.npmjs.com/package/echarts/v/5.1.1) ([Source](https://unpkg.com/echarts@5.1.1/dist/echarts.js)) | `3.20 MB` | `683.47 kB` | | +| **Minifier** | **Minified size** | **Minzipped size** | **Time** | +| [swc](/lib/minifiers/swc.ts) | -69% `993.35 kB` | **🏆-53% `319.73 kB`** | *10x* `1,731 ms` | +| [terser](/lib/minifiers/terser.ts) | -69% `1.00 MB` | -53% `321.40 kB` | *74x* `12,517 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | **🏆-69% `980.14 kB`** | -52% `326.17 kB` | *102x* `17,108 ms` | +| [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) | -69% `990.88 kB` | -52% `327.02 kB` | *92x* `15,367 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -66% `1.07 MB` | -52% `329.73 kB` | *31x* `5,278 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -67% `1.07 MB` | -52% `330.46 kB` | *16x* `2,754 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -68% `1.01 MB` | -52% `330.68 kB` | *2x* `367 ms` | +| [bun](/lib/minifiers/bun.ts) | -68% `1.03 MB` | -51% `335.42 kB` | **🏆 `167 ms`** | +| [minify-js](/lib/minifiers/minify-js.ts) | -69% `1.01 MB` | -50% `340.93 kB` | *1x* `292 ms` | +| [babel-minify](/lib/minifiers/babel-minify.ts) _Timed out_ | — | — | — | +| [jshrink](/lib/minifiers/jshrink.ts) _Invalid output: TypeError_ | — | — | — | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) _Invalid output: ReferenceError_ | — | — | — | ---- | Artifact | Original size | Gzip size | | | :----------------------------------------------------------------------------------------------------------------- | ------------------------------: | --------------------------------: | ---------------------------: | | [antd v4.16.1](https://www.npmjs.com/package/antd/v/4.16.1) ([Source](https://unpkg.com/antd@4.16.1/dist/antd.js)) | `6.69 MB` | `825.74 kB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [swc](/lib/minifiers/swc.ts) | **🏆-68% `2.15 MB`** | **🏆-45% `453.61 kB`** | *9x* `2,375 ms` | -| [terser](/lib/minifiers/terser.ts) | -66% `2.25 MB` | -44% `458.47 kB` | *59x* `15,472 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `2.30 MB` | -43% `473.14 kB` | *1x* `399 ms` | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -64% `2.43 MB` | -42% `476.68 kB` | *25x* `6,732 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -64% `2.42 MB` | -42% `479.73 kB` | *16x* `4,425 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -66% `2.31 MB` | -41% `488.09 kB` | *2x* `553 ms` | -| [bun](/lib/minifiers/bun.ts) | -66% `2.30 MB` | -41% `490.89 kB` | **🏆 `261 ms`** | -| [jshrink](/lib/minifiers/jshrink.ts) | -33% `4.45 MB` | -24% `625.76 kB` | *37x* `9,771 ms` | +| [swc](/lib/minifiers/swc.ts) | **🏆-68% `2.15 MB`** | **🏆-45% `453.61 kB`** | *10x* `2,162 ms` | +| [uglify-js](/lib/minifiers/uglify-js.ts) | -67% `2.23 MB` | -45% `454.61 kB` | *83x* `17,510 ms` | +| [terser](/lib/minifiers/terser.ts) | -66% `2.25 MB` | -44% `458.47 kB` | *63x* `13,338 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -66% `2.30 MB` | -43% `473.14 kB` | *2x* `445 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -64% `2.43 MB` | -42% `476.68 kB` | *28x* `6,026 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -64% `2.42 MB` | -42% `479.73 kB` | *19x* `3,988 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -66% `2.31 MB` | -41% `488.09 kB` | *2x* `486 ms` | +| [bun](/lib/minifiers/bun.ts) | -66% `2.30 MB` | -41% `490.89 kB` | **🏆 `210 ms`** | +| [jshrink](/lib/minifiers/jshrink.ts) | -33% `4.45 MB` | -24% `625.76 kB` | *43x* `9,143 ms` | | [babel-minify](/lib/minifiers/babel-minify.ts) _Timed out_ | — | — | — | | [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) _Timed out_ | — | — | — | | [minify-js](/lib/minifiers/minify-js.ts) _Invalid output: TypeError_ | — | — | — | -| [uglify-js](/lib/minifiers/uglify-js.ts) _Timed out_ | — | — | — | ---- | Artifact | Original size | Gzip size | | | :------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------: | --------------------------------: | ---------------------------: | | [typescript v5.2.2](https://www.npmjs.com/package/typescript/v/5.2.2) ([Source](https://unpkg.com/typescript@5.2.2/lib/typescript.js)) | `8.33 MB` | `1.42 MB` | | | **Minifier** | **Minified size** | **Minzipped size** | **Time** | -| [swc](/lib/minifiers/swc.ts) | **🏆-65% `2.96 MB`** | **🏆-41% `829.60 kB`** | *17x* `7,337 ms` | -| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -64% `3.02 MB` | -40% `848.30 kB` | *1x* `783 ms` | -| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -62% `3.15 MB` | -40% `856.39 kB` | *28x* `11,573 ms` | -| [esbuild](/lib/minifiers/esbuild.ts) | -63% `3.07 MB` | -38% `877.98 kB` | *1x* `820 ms` | -| [bun](/lib/minifiers/bun.ts) | -62% `3.12 MB` | -37% `886.49 kB` | **🏆 `412 ms`** | +| [swc](/lib/minifiers/swc.ts) | **🏆-65% `2.96 MB`** | **🏆-41% `829.60 kB`** | *16x* `6,098 ms` | +| [tdewolff-minify](/lib/minifiers/tdewolff-minify.ts) | -64% `3.02 MB` | -40% `848.30 kB` | *1x* `568 ms` | +| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) | -62% `3.16 MB` | -40% `849.70 kB` | *46x* `16,937 ms` | +| [uglify-js.no-compress](/lib/minifiers/uglify-js.no-compress.ts) | -62% `3.15 MB` | -40% `856.39 kB` | *27x* `9,861 ms` | +| [esbuild](/lib/minifiers/esbuild.ts) | -63% `3.07 MB` | -38% `877.98 kB` | *2x* `760 ms` | +| [bun](/lib/minifiers/bun.ts) | -62% `3.12 MB` | -37% `886.49 kB` | **🏆 `364 ms`** | | [babel-minify](/lib/minifiers/babel-minify.ts) _Timed out_ | — | — | — | | [google-closure-compiler](/lib/minifiers/google-closure-compiler.ts) _Timed out_ | — | — | — | | [jshrink](/lib/minifiers/jshrink.ts) _Timed out_ | — | — | — | | [minify-js](/lib/minifiers/minify-js.ts) _Failed to minify_ | — | — | — | -| [terser.no-compress](/lib/minifiers/terser.no-compress.ts) _Timed out_ | — | — | — | | [terser](/lib/minifiers/terser.ts) _Timed out_ | — | — | — | | [uglify-js](/lib/minifiers/uglify-js.ts) _Timed out_ | — | — | — |