Skip to content

chore(build): implement bundler adapter contract#937

Open
avivkeller wants to merge 4 commits into
mainfrom
vite
Open

chore(build): implement bundler adapter contract#937
avivkeller wants to merge 4 commits into
mainfrom
vite

Conversation

@avivkeller

@avivkeller avivkeller commented Jul 23, 2026

Copy link
Copy Markdown
Member

Note: I used a bit of AI assistance with this PR to resolve some issues with Rolldown->Vite (e.g. virtual modules)

By using Vite (which uses Rolldown internally) in the web generator, we no longer need to maintain a decent amount of custom overhead, including:

  • Custom resolvers
  • Custom CSS transformer (now that we don't use one, we can import CSS from external packages.1)

Additionally, by utilizing Vite's handling of HTML sources, we can reduce our memory by using write: true, and outputting the HTML as they generated (and removing them from memory). This doesn't have a lot of memory, but it does save a look 7-10%.

Footnotes

  1. There was a reason we didn't do it earlier, IIRC it wasn't working, but I'm not 100% sure. Regardless, it works now.

Copilot AI review requested due to automatic review settings July 23, 2026 20:30
@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
api-docs-tooling Ready Ready Preview, Comment Jul 24, 2026 6:36pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
nodejs-doc-kit Ignored Ignored Jul 24, 2026 6:36pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.08136% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.25%. Comparing base (6a217f0) to head (1c1bf70).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/generators/web/bundlers/vite.mjs 98.99% 3 Missing and 1 partial ⚠️
src/generators/web/utils/processing.mjs 95.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #937      +/-   ##
==========================================
+ Coverage   84.89%   85.25%   +0.36%     
==========================================
  Files         193      194       +1     
  Lines       17512    17821     +309     
  Branches     1551     1591      +40     
==========================================
+ Hits        14867    15194     +327     
+ Misses       2639     2621      -18     
  Partials        6        6              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

api-links Generator

Performance estimate (single CI run)

  • Generation time: 3.3% slower (1.53 s → 1.58 s)
  • Peak memory: 1.1% higher (347.15 MB → 350.96 MB)

legacy-html Generator

Performance estimate (single CI run)

  • Generation time: 2.5% slower (18.06 s → 18.51 s)
  • Peak memory: 0.3% higher (2.32 GB → 2.33 GB)

legacy-json Generator

Performance estimate (single CI run)

  • Generation time: 10.7% slower (9.04 s → 10.01 s)
  • Peak memory: 0.6% higher (1.64 GB → 1.65 GB)

llms-txt Generator

Performance estimate (single CI run)

  • Generation time: 2.9% faster (8.21 s → 7.97 s)
  • Peak memory: 0.5% lower (1.58 GB → 1.57 GB)

orama-db Generator

Output size: 1 file changed · net +1.34 KB

File size details
File Main PR Change
orama-db.json 8.90 MB 8.90 MB +1.34 KB (+0.0%)

Performance estimate (single CI run)

  • Generation time: 0.8% faster (8.66 s → 8.59 s)
  • Peak memory: 0.4% lower (1.64 GB → 1.63 GB)

web Generator

Output size: 312 files changed · net +605.63 KB

File size details
File Main PR Change
assets/all-DBzpdrKP.js 21.96 MB +21.96 MB
all.js 21.96 MB -21.96 MB (-100.0%)
assets/fs-DKcPcGVC.js 1.51 MB +1.51 MB
fs.js 1.51 MB -1.51 MB (-100.0%)
assets/crypto-4Squ2A9O.js 1.35 MB +1.35 MB
crypto.js 1.35 MB -1.35 MB (-100.0%)
assets/buffer-C7IopQAb.js 1.14 MB +1.14 MB
buffer.js 1.14 MB -1.14 MB (-100.0%)
assets/test-Cx4LXaiV.js 1.00 MB +1.00 MB
test.js 1.00 MB -1.00 MB (-100.0%)
assets/stream-Cc3lTXHR.js 930.71 KB +930.71 KB
stream.js 930.69 KB -930.69 KB (-100.0%)
assets/http2-DVnS7Idk.js 875.38 KB +875.38 KB
http2.js 875.36 KB -875.36 KB (-100.0%)
assets/util-BBnKk_N-.js 796.16 KB +796.16 KB
util.js 796.14 KB -796.14 KB (-100.0%)
assets/http-CGT9pQQY.js 760.01 KB +760.01 KB
http.js 759.99 KB -759.99 KB (-100.0%)
assets/process-3TWrsGzt.js 731.86 KB +731.86 KB
process.js 731.84 KB -731.84 KB (-100.0%)
assets/n-api-CZZU2aaT.js 711.18 KB +711.18 KB
n-api.js 711.15 KB -711.15 KB (-100.0%)
assets/events-DXBq-w_h.js 568.66 KB +568.66 KB
events.js 568.64 KB -568.64 KB (-100.0%)
assets/quic-D8XiRqhw.js 554.73 KB +554.73 KB
quic.js 554.71 KB -554.71 KB (-100.0%)
assets/stream_iter-BrorW1S4.js 493.23 KB +493.23 KB
stream_iter.js 493.21 KB -493.21 KB (-100.0%)
assets/child_process-wT1qVjP5.js 487.21 KB +487.21 KB
child_process.js 487.20 KB -487.20 KB (-100.0%)
assets/assert-CqHlqcZF.js 472.03 KB +472.03 KB
assert.js 472.01 KB -472.01 KB (-100.0%)
assets/vm-CqkugxFg.js 464.66 KB +464.66 KB
vm.js 464.64 KB -464.64 KB (-100.0%)
assets/webcrypto-DSf4kxYV.js 422.99 KB +422.99 KB
webcrypto.js 422.96 KB -422.96 KB (-100.0%)
assets/worker_threads-Cp3lFg-j.js 420.29 KB +420.29 KB
worker_threads.js 420.27 KB -420.27 KB (-100.0%)
assets/zlib-JWPztxCv.js 399.76 KB +399.76 KB
zlib.js 399.73 KB -399.73 KB (-100.0%)
assets/perf_hooks-B4WXaYUl.js 384.19 KB +384.19 KB
perf_hooks.js 384.17 KB -384.17 KB (-100.0%)
assets/errors-Be1_yVSb.js 373.95 KB +373.95 KB
errors.js 373.92 KB -373.92 KB (-100.0%)
assets/v8-DSxvwSId.js 366.23 KB +366.23 KB
v8.js 366.21 KB -366.21 KB (-100.0%)
assets/module-CauaJlM9.js 358.99 KB +358.99 KB
module.js 358.97 KB -358.97 KB (-100.0%)
assets/tls-D1m6Mjrv.js 353.91 KB +353.91 KB
tls.js 353.89 KB -353.89 KB (-100.0%)
assets/url-BsFyc-1L.js 350.61 KB +350.61 KB
url.js 350.59 KB -350.59 KB (-100.0%)
assets/net-Bf_OoLxC.js 347.93 KB +347.93 KB
net.js 347.92 KB -347.92 KB (-100.0%)
assets/diagnostics_channel-BxNSbpUn.js 337.00 KB +337.00 KB
diagnostics_channel.js 336.98 KB -336.98 KB (-100.0%)
assets/webstreams-CmDsc-5K.js 326.93 KB +326.93 KB
webstreams.js 326.91 KB -326.91 KB (-100.0%)
assets/cli-CIAUmw3B.js 316.37 KB +316.37 KB
cli.js 316.35 KB -316.35 KB (-100.0%)
assets/addons-CXfadmXN.js 305.29 KB +305.29 KB
addons.js 305.26 KB -305.26 KB (-100.0%)
assets/deprecations-M3j_dBjD.js 297.45 KB +297.45 KB
deprecations.js 297.42 KB -297.42 KB (-100.0%)
assets/dns-DXLX9Ap8.js 290.02 KB +290.02 KB
dns.js 290.00 KB -290.00 KB (-100.0%)
assets/sqlite-Db-PKgwS.js 284.33 KB +284.33 KB
sqlite.js 284.31 KB -284.31 KB (-100.0%)
assets/readline-Dq4XQCSs.js 232.94 KB +232.94 KB
readline.js 232.92 KB -232.92 KB (-100.0%)
assets/async_context-35svDZ9e.js 218.68 KB +218.68 KB
async_context.js 218.66 KB -218.66 KB (-100.0%)
assets/repl-C8vDmIMa.js 206.94 KB +206.94 KB
repl.js 206.92 KB -206.92 KB (-100.0%)
assets/cluster-CcrTVq6e.js 198.23 KB +198.23 KB
cluster.js 198.21 KB -198.21 KB (-100.0%)
assets/async_hooks-BcVQ1Itj.js 195.28 KB +195.28 KB
async_hooks.js 195.26 KB -195.26 KB (-100.0%)
assets/dgram-9sG51UiI.js 192.83 KB +192.83 KB
dgram.js 192.81 KB -192.81 KB (-100.0%)
FunctionSignature-DAu-DDhw.js 189.94 KB -189.94 KB (-100.0%)
assets/ui-CtCaVM3n.js 189.39 KB +189.39 KB
assets/report-D4_98n0W.js 184.73 KB +184.73 KB
report.js 184.71 KB -184.71 KB (-100.0%)
assets/https-DarAcIR8.js 161.04 KB +161.04 KB
https.js 161.01 KB -161.01 KB (-100.0%)
assets/modules-APZNBMW5.js 151.50 KB +151.50 KB
modules.js 151.47 KB -151.47 KB (-100.0%)
assets/packages-BkhF76CF.js 147.30 KB +147.30 KB
packages.js 147.27 KB -147.27 KB (-100.0%)
styles.css 144.52 KB -144.52 KB (-100.0%)
assets/esm-GInn_mt_.js 135.53 KB +135.53 KB
esm.js 135.51 KB -135.51 KB (-100.0%)
assets/globals-BDFqOgIW.js 130.04 KB +130.04 KB
globals.js 130.01 KB -130.01 KB (-100.0%)
assets/ui-MrWT018D.css 126.02 KB +126.02 KB
assets/inspector-DNY7r246.js 124.63 KB +124.63 KB
inspector.js 124.61 KB -124.61 KB (-100.0%)
assets/os-Dl7HELks.js 110.85 KB +110.85 KB
os.js 110.83 KB -110.83 KB (-100.0%)
assets/ffi-DqjP1w1g.js 108.42 KB +108.42 KB
ffi.js 108.40 KB -108.40 KB (-100.0%)
assets/console-DNlBmVHa.js 106.15 KB +106.15 KB
console.js 106.13 KB -106.13 KB (-100.0%)
assets/timers-Bqc5Ah4X.js 101.11 KB +101.11 KB
timers.js 101.09 KB -101.09 KB (-100.0%)
assets/path-zDPqyND8.js 99.24 KB +99.24 KB
path.js 99.22 KB -99.22 KB (-100.0%)
assets/dtls-Dz9Shx_G.js 98.84 KB +98.84 KB
dtls.js 98.82 KB -98.82 KB (-100.0%)
assets/debugger-CH-aY0h9.js 94.31 KB +94.31 KB
debugger.js 94.28 KB -94.28 KB (-100.0%)
assets/domain-Dvn3iTpx.js 87.42 KB +87.42 KB
domain.js 87.40 KB -87.40 KB (-100.0%)
assets/single-executable-applications-obqtW91b.js 82.49 KB +82.49 KB
single-executable-applications.js 82.47 KB -82.47 KB (-100.0%)
assets/tracing-DLs9CRX2.js 73.90 KB +73.90 KB
tracing.js 73.88 KB -73.88 KB (-100.0%)
assets/open-sans-math-wght-italic-fnaShVx0.woff2 55.20 KB +55.20 KB
assets/open-sans-cyrillic-ext-wght-italic-C5caDWkv.woff2 53.66 KB +53.66 KB
assets/open-sans-math-wght-normal-C1FvUlkR.woff2 50.70 KB +50.70 KB
assets/open-sans-latin-wght-italic-Bf1Hxpwk.woff2 49.04 KB +49.04 KB
assets/tty-D9uVfM02.js 48.25 KB +48.25 KB
tty.js 48.23 KB -48.23 KB (-100.0%)
assets/open-sans-cyrillic-ext-wght-normal-D8xHCTEw.woff2 48.11 KB +48.11 KB
assets/open-sans-latin-wght-normal-CWNzRldh.woff2 47.19 KB +47.19 KB
assets/vfs-CgbyNDfG.js 45.97 KB +45.97 KB
vfs.js 45.95 KB -45.95 KB (-100.0%)
assets/wasi-uGoLb5oK.js 40.83 KB +40.83 KB
wasi.js 40.81 KB -40.81 KB (-100.0%)
assets/open-sans-latin-ext-wght-italic-CT8UZlj2.woff2 36.87 KB +36.87 KB
assets/permissions-taYhW9AG.js 34.82 KB +34.82 KB
permissions.js 34.79 KB -34.79 KB (-100.0%)
assets/open-sans-latin-ext-wght-normal-DPNHYqvY.woff2 34.33 KB +34.33 KB
assets/embedding-oU82-G0W.js 33.42 KB +33.42 KB
embedding.js 33.40 KB -33.40 KB (-100.0%)
assets/intl-DEwtIU0W.js 32.44 KB +32.44 KB
intl.js 32.42 KB -32.42 KB (-100.0%)
assets/open-sans-cyrillic-wght-italic-BHGTCMtU.woff2 31.27 KB +31.27 KB
assets/querystring-bn6yfZlV.js 29.58 KB +29.58 KB
querystring.js 29.55 KB -29.55 KB (-100.0%)
assets/string_decoder-DzYljzoM.js 28.02 KB +28.02 KB
string_decoder.js 28.00 KB -28.00 KB (-100.0%)
assets/open-sans-symbols-wght-normal-BAf6-sld.woff2 25.97 KB +25.97 KB
assets/open-sans-cyrillic-wght-normal-bOs07Rf4.woff2 25.96 KB +25.96 KB
assets/open-sans-symbols-wght-italic-BIea8-3l.woff2 25.75 KB +25.75 KB
assets/punycode-B0RI1WFH.js 24.66 KB +24.66 KB
punycode.js 24.64 KB -24.64 KB (-100.0%)
assets/open-sans-greek-wght-italic-Dymqxqgx.woff2 22.38 KB +22.38 KB
assets/typescript-cyJZ9ovA.js 21.60 KB +21.60 KB
typescript.js 21.57 KB -21.57 KB (-100.0%)
assets/open-sans-greek-wght-normal-8neIfJ3r.woff2 20.83 KB +20.83 KB
assets/open-sans-hebrew-wght-italic-CN0_AmM6.woff2 17.46 KB +17.46 KB
assets/open-sans-vietnamese-wght-italic-CLM9MVT0.woff2 16.81 KB +16.81 KB
assets/open-sans-hebrew-wght-normal-BjjtG49P.woff2 16.52 KB +16.52 KB
assets/open-sans-vietnamese-wght-normal-UygKeDyW.woff2 16.11 KB +16.11 KB
assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 14.36 KB +14.36 KB
assets/CodeBox-CRqxJ3XS.css 14.30 KB +14.30 KB
index.js 13.78 KB -13.78 KB (-100.0%)
assets/index-BllmMy19.js 13.77 KB +13.77 KB
assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 13.04 KB +13.04 KB
assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff 12.84 KB +12.84 KB
assets/environment_variables-x0rRCRPK.js 11.73 KB +11.73 KB
environment_variables.js 11.70 KB -11.70 KB (-100.0%)
assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff 11.49 KB +11.49 KB
assets/synopsis-dTkOnk-T.js 11.42 KB +11.42 KB
synopsis.js 11.40 KB -11.40 KB (-100.0%)
assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 8.16 KB +8.16 KB
assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff 7.04 KB +7.04 KB
assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 6.75 KB +6.75 KB
hu-CSjefX1I.js 5.74 KB -5.74 KB (-100.0%)
assets/hu-CsmZ3Bnq.js 5.74 KB +5.74 KB
assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 5.73 KB +5.73 KB
assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff 5.68 KB +5.68 KB
all.html 21.24 MB 21.23 MB -5.63 KB (-0.0%)
assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff 5.49 KB +5.49 KB
zh-BesD0Osc.js 4.89 KB -4.89 KB (-100.0%)
assets/zh-y3uPbUI6.js 4.89 KB +4.89 KB
documentation.js 4.85 KB -4.85 KB (-100.0%)
assets/documentation-Dfeipv02.js 4.84 KB +4.84 KB
assets/open-sans-greek-ext-wght-italic-ZJN3QSAr.woff2 4.73 KB +4.73 KB
assets/open-sans-greek-ext-wght-normal-Bm9CHu9r.woff2 4.40 KB +4.40 KB
ar-B_PYe8-E.js 4.28 KB -4.28 KB (-100.0%)
assets/ar-BVLUHVzV.js 4.27 KB +4.27 KB
np-CiMSixFG.js 3.99 KB -3.99 KB (-100.0%)
assets/np-C8K3gmfG.js 3.99 KB +3.99 KB
es-CXWTbJR_.js 3.62 KB -3.62 KB (-100.0%)
assets/es-BeEdAjWt.js 3.62 KB +3.62 KB
lt-CmXPrZ-P.js 3.47 KB -3.47 KB (-100.0%)
assets/lt-BAxyjCH8.js 3.47 KB +3.47 KB
assets/CodeBox-OhcnL93l.js 3.02 KB +3.02 KB
id-1lgweNNc.js 2.66 KB -2.66 KB (-100.0%)
assets/id-DdyH7Gxj.js 2.66 KB +2.66 KB
bg-D6sDgevR.js 2.40 KB -2.40 KB (-100.0%)
assets/bg-DRX3ZhoB.js 2.39 KB +2.39 KB
ta-BevPRkkf.js 1.96 KB -1.96 KB (-100.0%)
assets/ta-Ckk0lGZr.js 1.96 KB +1.96 KB
in-C0Nu5vDc.js 1.90 KB -1.90 KB (-100.0%)
assets/in-JVmwcUs3.js 1.89 KB +1.89 KB
tr-8Q2M-6U5.js 1.81 KB -1.81 KB (-100.0%)
assets/tr-D3lM6M_k.js 1.81 KB +1.81 KB
quic.html 826.71 KB 824.91 KB -1.80 KB (-0.2%)
fs.html 1.66 MB 1.66 MB -1.68 KB (-0.1%)
it-DzVJYqo-.js 1.66 KB -1.66 KB (-100.0%)
assets/it-BuuPephe.js 1.66 KB +1.66 KB
ro-TCrT--aa.js 1.65 KB -1.65 KB (-100.0%)
assets/ro-D_Gydlvr.js 1.65 KB +1.65 KB
fi-B8U839VI.js 1.58 KB -1.58 KB (-100.0%)
assets/fi-Blo0lLOC.js 1.58 KB +1.58 KB
de-CdA8r7Zk.js 1.36 KB -1.36 KB (-100.0%)
ru-5rgb1b9u.js 1.36 KB -1.36 KB (-100.0%)
assets/de-D30SfcT7.js 1.36 KB +1.36 KB
assets/ru-BiFSjwa8.js 1.36 KB +1.36 KB
http.html 815.66 KB 814.31 KB -1.35 KB (-0.2%)
webcrypto.html 562.27 KB 560.93 KB -1.35 KB (-0.2%)
http2.html 838.34 KB 837.02 KB -1.32 KB (-0.2%)
stream.html 922.95 KB 921.64 KB -1.31 KB (-0.1%)
net.html 456.11 KB 454.80 KB -1.30 KB (-0.3%)
crypto.html 1.20 MB 1.20 MB -1.30 KB (-0.1%)
pt-B0t3H8L5.js 1.28 KB -1.28 KB (-100.0%)
assets/pt-D9bKD3Mv.js 1.28 KB +1.28 KB
tls.html 413.89 KB 412.65 KB -1.24 KB (-0.3%)
webstreams.html 398.20 KB 396.96 KB -1.24 KB (-0.3%)
util.html 735.87 KB 734.64 KB -1.23 KB (-0.2%)
documentation.html 37.92 KB 36.70 KB -1.23 KB (-3.2%)
perf_hooks.html 408.64 KB 407.42 KB -1.22 KB (-0.3%)
diagnostics_channel.html 329.91 KB 328.71 KB -1.21 KB (-0.4%)
dns.html 319.60 KB 318.41 KB -1.19 KB (-0.4%)
v8.html 359.09 KB 357.91 KB -1.19 KB (-0.3%)
zlib.html 377.27 KB 376.08 KB -1.19 KB (-0.3%)
dtls.html 161.33 KB 160.14 KB -1.19 KB (-0.7%)
url.html 364.07 KB 362.89 KB -1.18 KB (-0.3%)
test.html 895.25 KB 894.08 KB -1.18 KB (-0.1%)
sqlite.html 311.82 KB 310.65 KB -1.17 KB (-0.4%)
404.html 29.87 KB 28.70 KB -1.17 KB (-3.9%)
index.html 40.38 KB 39.21 KB -1.17 KB (-2.9%)
ffi.html 143.95 KB 142.79 KB -1.16 KB (-0.8%)
dgram.html 219.13 KB 217.97 KB -1.15 KB (-0.5%)
console.html 149.78 KB 148.64 KB -1.14 KB (-0.8%)
events.html 478.84 KB 477.70 KB -1.14 KB (-0.2%)
os.html 151.78 KB 150.64 KB -1.14 KB (-0.8%)
inspector.html 179.29 KB 178.16 KB -1.14 KB (-0.6%)
worker_threads.html 393.99 KB 392.86 KB -1.13 KB (-0.3%)
stream_iter.html 395.33 KB 394.20 KB -1.13 KB (-0.3%)
path.html 144.95 KB 143.83 KB -1.13 KB (-0.8%)
cluster.html 204.11 KB 202.99 KB -1.13 KB (-0.6%)
readline.html 264.41 KB 263.28 KB -1.13 KB (-0.4%)
tty.html 99.21 KB 98.09 KB -1.12 KB (-1.1%)
modules.html 185.38 KB 184.26 KB -1.12 KB (-0.6%)
globals.html 236.60 KB 235.48 KB -1.12 KB (-0.5%)
timers.html 139.90 KB 138.78 KB -1.12 KB (-0.8%)
errors.html 494.97 KB 493.85 KB -1.12 KB (-0.2%)
punycode.html 64.08 KB 62.97 KB -1.11 KB (-1.7%)
domain.html 106.44 KB 105.33 KB -1.11 KB (-1.0%)
vfs.html 84.79 KB 83.68 KB -1.11 KB (-1.3%)
process.html 718.89 KB 717.78 KB -1.11 KB (-0.2%)
https.html 154.80 KB 153.70 KB -1.11 KB (-0.7%)
querystring.html 66.28 KB 65.18 KB -1.10 KB (-1.7%)
wasi.html 71.59 KB 70.49 KB -1.10 KB (-1.5%)
single-executable-applications.html 108.76 KB 107.66 KB -1.10 KB (-1.0%)
async_context.html 191.77 KB 190.67 KB -1.10 KB (-0.6%)
vm.html 396.10 KB 395.00 KB -1.10 KB (-0.3%)
module.html 349.31 KB 348.21 KB -1.09 KB (-0.3%)
embedding.html 59.30 KB 58.21 KB -1.09 KB (-1.8%)
environment_variables.html 43.92 KB 42.83 KB -1.09 KB (-2.5%)
intl.html 58.02 KB 56.93 KB -1.09 KB (-1.9%)
packages.html 179.01 KB 177.92 KB -1.09 KB (-0.6%)
permissions.html 62.73 KB 61.64 KB -1.09 KB (-1.7%)
report.html 175.80 KB 174.71 KB -1.09 KB (-0.6%)
string_decoder.html 56.30 KB 55.21 KB -1.09 KB (-1.9%)
synopsis.html 42.55 KB 41.46 KB -1.09 KB (-2.6%)
typescript.html 53.35 KB 52.26 KB -1.09 KB (-2.0%)
addons.html 274.71 KB 273.62 KB -1.09 KB (-0.4%)
buffer.html 955.21 KB 954.13 KB -1.08 KB (-0.1%)
deprecations.html 517.23 KB 516.14 KB -1.08 KB (-0.2%)
tracing.html 85.13 KB 84.04 KB -1.08 KB (-1.3%)
n-api.html 811.88 KB 810.80 KB -1.08 KB (-0.1%)
async_hooks.html 162.93 KB 161.85 KB -1.08 KB (-0.7%)
esm.html 158.91 KB 157.83 KB -1.08 KB (-0.7%)
debugger.html 100.66 KB 99.59 KB -1.07 KB (-1.1%)
repl.html 184.01 KB 182.94 KB -1.07 KB (-0.6%)
child_process.html 404.87 KB 403.80 KB -1.07 KB (-0.3%)
assert.html 347.02 KB 345.96 KB -1.06 KB (-0.3%)
ja-CUVEYWC2.js 1.03 KB -1.03 KB (-100.0%)
assets/ja-ByqNX7d9.js 1.02 KB +1.02 KB
cli.html 517.68 KB 516.66 KB -1.02 KB (-0.2%)
en-CjMU5mAi.js 1.00 KB -1.00 KB (-100.0%)
assets/en-B4IUNUV1.js 1.00 KB +1.00 KB
no-DxKP4ouC.js 895.00 B -895.00 B (-100.0%)
assets/no-DiXsJFtf.js 893.00 B +893.00 B
fr-D7bh__e-.js 882.00 B -882.00 B (-100.0%)
assets/fr-Bctpo7_k.js 880.00 B +880.00 B
rs-BSINxu10.js 819.00 B -819.00 B (-100.0%)
assets/rs-1dk9FoVd.js 817.00 B +817.00 B
gr-CoHd_KIF.js 693.00 B -693.00 B (-100.0%)
assets/gr-CR9-XFAF.js 691.00 B +691.00 B
404.js 642.00 B -642.00 B (-100.0%)
assets/404-DVLui6_T.js 627.00 B +627.00 B
se-Cg2LCBzf.js 603.00 B -603.00 B (-100.0%)
assets/se-Tst8tZlp.js 601.00 B +601.00 B
ie-C0gKMtAa.js 593.00 B -593.00 B (-100.0%)
assets/ie-BBC1qJBR.js 591.00 B +591.00 B
nl-Bm-zyNK5.js 497.00 B -497.00 B (-100.0%)
assets/nl-CHyma_Mh.js 495.00 B +495.00 B
dk-wGM1NO8g.js 468.00 B -468.00 B (-100.0%)
assets/dk-CT187ZSJ.js 466.00 B +466.00 B
am-DmCIZ4-O.js 341.00 B -341.00 B (-100.0%)
assets/am-BUEnVSoG.js 339.00 B +339.00 B
uk-DGgO4ltb.js 227.00 B -227.00 B (-100.0%)
sk-DyuRfgPL.js 226.00 B -226.00 B (-100.0%)
assets/uk-s1v_vJI-.js 225.00 B +225.00 B
assets/sk-CNTGQvcv.js 224.00 B +224.00 B

Performance estimate (single CI run)

  • Generation time: 0.6% faster (77.41 s → 76.95 s)
  • Peak memory: 10.3% lower (5.69 GB → 5.11 GB)

@avivkeller

avivkeller commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

-635.66 MB (-10.90%)

That's a good sign

Copilot AI review requested due to automatic review settings July 23, 2026 21:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@avivkeller avivkeller changed the title [wip] vite chore(build): use vite in the web generator Jul 23, 2026
Copilot AI review requested due to automatic review settings July 23, 2026 21:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@avivkeller
avivkeller marked this pull request as ready for review July 23, 2026 21:36
@avivkeller
avivkeller requested a review from a team as a code owner July 23, 2026 21:36
@cursor

cursor Bot commented Jul 23, 2026

Copy link
Copy Markdown

PR Summary

High Risk
Large refactor of the web generator’s build and asset output path; regressions would affect every generated doc site (HTML, JS, CSS, hydration).

Overview
Replaces the inline Rolldown + LightningCSS WASM pipeline with a WebBundler adapter (getEntryId, render, build). The default implementation uses Vite ~8.1 for SSR (temporary dir, then cleanup), client bundling, CSS via Lightning CSS, and HTML entries that get hashed scripts/styles injected before write.

Config/API changes: rolldown and lightningcss web options are removed in favor of optional bundler or createViteBundler(userConfig). The generator is output-only (generate returns void); callers must read from output instead of in-memory { html, css }. Template drops import maps, the static styles.css link, and Google Fonts; fonts move to @fontsource in ui/index.css. SERVER/CLIENT defines become server on #theme/config.

Custom Rolldown bundling, chunk require, and the dedicated CSS loader modules are deleted; docs and tests cover the adapter contract, Vite virtual modules, and disk output.

Reviewed by Cursor Bugbot for commit 1c1bf70. Bugbot is set up for automated code reviews on this repo. Configure here.

@avivkeller

Copy link
Copy Markdown
Member Author
Screenshot 2026-07-23 at 2 38 58 PM

Perfomance is up to 91% :-)

Comment thread src/generators/web/bundlers/vite.mjs
@avivkeller avivkeller changed the title chore(build): use vite in the web generator chore(build): implement bundler adapter contract Jul 24, 2026
Copilot AI review requested due to automatic review settings July 24, 2026 17:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 24, 2026 17:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit edf1f60. Configure here.

Comment thread src/generators/web/bundlers/vite.mjs
This reverts commit edf1f60.
Copilot AI review requested due to automatic review settings July 24, 2026 18:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants