Skip to content

Commit cf373e4

Browse files
authored
Switch to esbuild for bundling (#479)
* Switch to esbuild for bundling * add changeset
1 parent ad037f4 commit cf373e4

File tree

3 files changed

+163
-7
lines changed

3 files changed

+163
-7
lines changed

.changeset/beige-trees-greet.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@changesets/action": patch
3+
---
4+
5+
Switched to `esbuild` for bundling the dist file. This led to 45% file size reduction.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414
"@types/jest": "^29.5.1",
1515
"@types/node": "^22.15.17",
1616
"@types/semver": "^7.5.0",
17-
"@vercel/ncc": "^0.36.1",
1817
"babel-jest": "^29.5.0",
18+
"esbuild": "^0.25.4",
1919
"fixturez": "^1.1.0",
2020
"husky": "^3.0.3",
2121
"jest": "^29.5.0",
2222
"prettier": "^2.0.5",
2323
"typescript": "^5.8.3"
2424
},
2525
"scripts": {
26-
"build": "ncc build src/index.ts -o dist --transpile-only --minify",
26+
"build": "esbuild src/index.ts --bundle --platform=node --target=node20 --minify --outfile=dist/index.js",
2727
"test": "jest",
2828
"test:watch": "yarn test --watch",
2929
"typecheck": "tsc",

yarn.lock

Lines changed: 156 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,131 @@
12401240
human-id "^1.0.2"
12411241
prettier "^2.7.1"
12421242

1243+
"@esbuild/[email protected]":
1244+
version "0.25.4"
1245+
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz#830d6476cbbca0c005136af07303646b419f1162"
1246+
integrity sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==
1247+
1248+
"@esbuild/[email protected]":
1249+
version "0.25.4"
1250+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz#d11d4fc299224e729e2190cacadbcc00e7a9fd67"
1251+
integrity sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==
1252+
1253+
"@esbuild/[email protected]":
1254+
version "0.25.4"
1255+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.4.tgz#5660bd25080553dd2a28438f2a401a29959bd9b1"
1256+
integrity sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==
1257+
1258+
"@esbuild/[email protected]":
1259+
version "0.25.4"
1260+
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.4.tgz#18ddde705bf984e8cd9efec54e199ac18bc7bee1"
1261+
integrity sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==
1262+
1263+
"@esbuild/[email protected]":
1264+
version "0.25.4"
1265+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz#b0b7fb55db8fc6f5de5a0207ae986eb9c4766e67"
1266+
integrity sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==
1267+
1268+
"@esbuild/[email protected]":
1269+
version "0.25.4"
1270+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz#e6813fdeba0bba356cb350a4b80543fbe66bf26f"
1271+
integrity sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==
1272+
1273+
"@esbuild/[email protected]":
1274+
version "0.25.4"
1275+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz#dc11a73d3ccdc308567b908b43c6698e850759be"
1276+
integrity sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==
1277+
1278+
"@esbuild/[email protected]":
1279+
version "0.25.4"
1280+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz#91da08db8bd1bff5f31924c57a81dab26e93a143"
1281+
integrity sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==
1282+
1283+
"@esbuild/[email protected]":
1284+
version "0.25.4"
1285+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz#efc15e45c945a082708f9a9f73bfa8d4db49728a"
1286+
integrity sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==
1287+
1288+
"@esbuild/[email protected]":
1289+
version "0.25.4"
1290+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz#9b93c3e54ac49a2ede6f906e705d5d906f6db9e8"
1291+
integrity sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==
1292+
1293+
"@esbuild/[email protected]":
1294+
version "0.25.4"
1295+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz#be8ef2c3e1d99fca2d25c416b297d00360623596"
1296+
integrity sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==
1297+
1298+
"@esbuild/[email protected]":
1299+
version "0.25.4"
1300+
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz#b0840a2707c3fc02eec288d3f9defa3827cd7a87"
1301+
integrity sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==
1302+
1303+
"@esbuild/[email protected]":
1304+
version "0.25.4"
1305+
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz#2a198e5a458c9f0e75881a4e63d26ba0cf9df39f"
1306+
integrity sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==
1307+
1308+
"@esbuild/[email protected]":
1309+
version "0.25.4"
1310+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz#64f4ae0b923d7dd72fb860b9b22edb42007cf8f5"
1311+
integrity sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==
1312+
1313+
"@esbuild/[email protected]":
1314+
version "0.25.4"
1315+
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz#fb2844b11fdddd39e29d291c7cf80f99b0d5158d"
1316+
integrity sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==
1317+
1318+
"@esbuild/[email protected]":
1319+
version "0.25.4"
1320+
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz#1466876e0aa3560c7673e63fdebc8278707bc750"
1321+
integrity sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==
1322+
1323+
"@esbuild/[email protected]":
1324+
version "0.25.4"
1325+
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz#c10fde899455db7cba5f11b3bccfa0e41bf4d0cd"
1326+
integrity sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==
1327+
1328+
"@esbuild/[email protected]":
1329+
version "0.25.4"
1330+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz#02e483fbcbe3f18f0b02612a941b77be76c111a4"
1331+
integrity sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==
1332+
1333+
"@esbuild/[email protected]":
1334+
version "0.25.4"
1335+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz#ec401fb0b1ed0ac01d978564c5fc8634ed1dc2ed"
1336+
integrity sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==
1337+
1338+
"@esbuild/[email protected]":
1339+
version "0.25.4"
1340+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz#f272c2f41cfea1d91b93d487a51b5c5ca7a8c8c4"
1341+
integrity sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==
1342+
1343+
"@esbuild/[email protected]":
1344+
version "0.25.4"
1345+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz#2e25950bc10fa9db1e5c868e3d50c44f7c150fd7"
1346+
integrity sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==
1347+
1348+
"@esbuild/[email protected]":
1349+
version "0.25.4"
1350+
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz#cd596fa65a67b3b7adc5ecd52d9f5733832e1abd"
1351+
integrity sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==
1352+
1353+
"@esbuild/[email protected]":
1354+
version "0.25.4"
1355+
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz#b4dbcb57b21eeaf8331e424c3999b89d8951dc88"
1356+
integrity sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==
1357+
1358+
"@esbuild/[email protected]":
1359+
version "0.25.4"
1360+
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz#410842e5d66d4ece1757634e297a87635eb82f7a"
1361+
integrity sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==
1362+
1363+
"@esbuild/[email protected]":
1364+
version "0.25.4"
1365+
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz#0b17ec8a70b2385827d52314c1253160a0b9bacc"
1366+
integrity sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==
1367+
12431368
"@fastify/busboy@^2.0.0":
12441369
version "2.1.1"
12451370
resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d"
@@ -1809,11 +1934,6 @@
18091934
dependencies:
18101935
"@types/yargs-parser" "*"
18111936

1812-
"@vercel/ncc@^0.36.1":
1813-
version "0.36.1"
1814-
resolved "https://registry.yarnpkg.com/@vercel/ncc/-/ncc-0.36.1.tgz#d4c01fdbbe909d128d1bf11c7f8b5431654c5b95"
1815-
integrity sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==
1816-
18171937
ansi-colors@^4.1.1, ansi-colors@^4.1.3:
18181938
version "4.1.3"
18191939
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
@@ -2558,6 +2678,37 @@ es-to-primitive@^1.2.1:
25582678
is-date-object "^1.0.1"
25592679
is-symbol "^1.0.2"
25602680

2681+
esbuild@^0.25.4:
2682+
version "0.25.4"
2683+
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.4.tgz#bb9a16334d4ef2c33c7301a924b8b863351a0854"
2684+
integrity sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==
2685+
optionalDependencies:
2686+
"@esbuild/aix-ppc64" "0.25.4"
2687+
"@esbuild/android-arm" "0.25.4"
2688+
"@esbuild/android-arm64" "0.25.4"
2689+
"@esbuild/android-x64" "0.25.4"
2690+
"@esbuild/darwin-arm64" "0.25.4"
2691+
"@esbuild/darwin-x64" "0.25.4"
2692+
"@esbuild/freebsd-arm64" "0.25.4"
2693+
"@esbuild/freebsd-x64" "0.25.4"
2694+
"@esbuild/linux-arm" "0.25.4"
2695+
"@esbuild/linux-arm64" "0.25.4"
2696+
"@esbuild/linux-ia32" "0.25.4"
2697+
"@esbuild/linux-loong64" "0.25.4"
2698+
"@esbuild/linux-mips64el" "0.25.4"
2699+
"@esbuild/linux-ppc64" "0.25.4"
2700+
"@esbuild/linux-riscv64" "0.25.4"
2701+
"@esbuild/linux-s390x" "0.25.4"
2702+
"@esbuild/linux-x64" "0.25.4"
2703+
"@esbuild/netbsd-arm64" "0.25.4"
2704+
"@esbuild/netbsd-x64" "0.25.4"
2705+
"@esbuild/openbsd-arm64" "0.25.4"
2706+
"@esbuild/openbsd-x64" "0.25.4"
2707+
"@esbuild/sunos-x64" "0.25.4"
2708+
"@esbuild/win32-arm64" "0.25.4"
2709+
"@esbuild/win32-ia32" "0.25.4"
2710+
"@esbuild/win32-x64" "0.25.4"
2711+
25612712
escalade@^3.1.1:
25622713
version "3.1.1"
25632714
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"

0 commit comments

Comments
 (0)