Skip to content

feat(web): add all, index, and 404 generation - #780

Merged
avivkeller merged 6 commits into
mainfrom
web-all-html
May 16, 2026
Merged

feat(web): add all, index, and 404 generation#780
avivkeller merged 6 commits into
mainfrom
web-all-html

Conversation

@avivkeller

@avivkelleravivkeller commented Apr 29, 2026

Copy link
Copy Markdown
Member

Closes#622
Closes#644
Closes#357

CopilotAI review requested due to automatic review settings April 29, 2026 20:43
@avivkeller
avivkeller requested a review from a team as a code ownerApril 29, 2026 20:43
@vercel

vercelBot commented Apr 29, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
api-docs-toolingReadyReadyPreviewMay 16, 2026 3:40pm

Request Review

@cursor

cursorBot commented Apr 29, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Adds new synthetic documentation pages and threads a new synthetic flag through metadata, JSX generation, bundling, and UI rendering; mistakes could affect navigation/sidebar ordering and per-page links across the docs build.

Overview
Adds configurable synthetic page generation to the jsx-ast generator, producing all, index, and 404 entries and marking them with a new MetadataEntry.synthetic flag.

Updates the web generator and UI to treat synthetic pages differently: the sidebar page list is built from non-synthetic entries, and MetaBar hides View As and Contribute links on synthetic pages; index now renders a stability overview table using a newly-added Badge import. Includes new unit tests covering synthetic page builders and the new web behavior.

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

@codecov

codecovBot commented Apr 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.56230% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.75%. Comparing base (05f0e64) to head (bbc07e6).
⚠️ Report is 5 commits behind head on main.

Files with missing linesPatch %Lines
src/generators/jsx-ast/generate.mjs81.81%6 Missing ⚠️
src/generators/jsx-ast/__tests__/generate.test.mjs98.94%1 Missing ⚠️
...s/jsx-ast/utils/synthetic/__tests__/index.test.mjs98.97%1 Missing ⚠️
src/generators/jsx-ast/utils/synthetic/index.mjs98.75%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #780 +/- ##
==========================================
+ Coverage 77.95% 82.75% +4.80% 
==========================================
Files 159 169 +10 Lines 14056 14670 +614 Branches 1152 1258 +106 ==========================================
+ Hits 10957 12140 +1183 + Misses 3094 2524 -570 - Partials 5 6 +1 

☔ View full report in Codecov by Sentry.
📢 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-actionsBot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

orama-db Generator

FileBaseHeadDiff
orama-db.json8.38 MB8.38 MB+1.24 KB (+0.01%)

web Generator

FileBaseHeadDiff
index.js5.79 KB13.57 KB+7.77 KB (+134.13%)
index.html36.49 KB41.99 KB+5.50 KB (+15.07%)
addons.js288.81 KB288.81 KB-5.00 B (-0.00%)
assert.js448.96 KB448.97 KB+5.00 B (+0.00%)
async_context.js213.42 KB213.43 KB+5.00 B (+0.00%)
async_hooks.js191.51 KB191.51 KB+5.00 B (+0.00%)
buffer.js1.08 MB1.08 MB+5.00 B (+0.00%)
child_process.js457.77 KB457.77 KB+5.00 B (+0.00%)
cli.js303.29 KB303.29 KB+5.00 B (+0.00%)
cluster.js190.22 KB190.23 KB+5.00 B (+0.00%)
console.js101.69 KB101.70 KB+5.00 B (+0.00%)
crypto.js1.21 MB1.21 MB+5.00 B (+0.00%)
debugger.js48.56 KB48.56 KB-5.00 B (-0.01%)
deprecations.js285.61 KB285.61 KB-5.00 B (-0.00%)
dgram.js165.66 KB165.67 KB+5.00 B (+0.00%)
diagnostics_channel.js302.75 KB302.75 KB+5.00 B (+0.00%)
dns.js259.62 KB259.63 KB+5.00 B (+0.00%)
domain.js85.64 KB85.64 KB+5.00 B (+0.01%)
environment_variables.js11.70 KB11.70 KB-5.00 B (-0.04%)
errors.js349.41 KB349.40 KB-5.00 B (-0.00%)
esm.js131.43 KB131.44 KB+5.00 B (+0.00%)
events.js539.31 KB539.31 KB+5.00 B (+0.00%)
ffi.js88.35 KB88.36 KB+5.00 B (+0.01%)
fs.js1.22 MB1.22 MB+5.00 B (+0.00%)
globals.js122.74 KB122.75 KB+5.00 B (+0.00%)
http2.js796.06 KB796.06 KB+5.00 B (+0.00%)
module.js330.80 KB330.80 KB+5.00 B (+0.00%)
modules.js143.97 KB143.97 KB+5.00 B (+0.00%)
n-api.js710.45 KB710.45 KB-5.00 B (-0.00%)
net.js271.31 KB271.32 KB+5.00 B (+0.00%)
os.js100.52 KB100.52 KB+5.00 B (+0.00%)
packages.js118.89 KB118.89 KB-5.00 B (-0.00%)
path.js91.91 KB91.92 KB+5.00 B (+0.01%)
perf_hooks.js355.10 KB355.10 KB+5.00 B (+0.00%)
permissions.js28.21 KB28.20 KB-5.00 B (-0.02%)
process.js698.88 KB698.88 KB+5.00 B (+0.00%)
punycode.js23.36 KB23.37 KB+5.00 B (+0.02%)
querystring.js26.13 KB26.14 KB+5.00 B (+0.02%)
quic.js164.35 KB164.36 KB+5.00 B (+0.00%)
readline.js217.30 KB217.31 KB+5.00 B (+0.00%)
repl.js205.02 KB205.03 KB+5.00 B (+0.00%)
single-executable-applications.js80.14 KB80.15 KB+5.00 B (+0.01%)
stream.js855.88 KB855.88 KB+5.00 B (+0.00%)
stream_iter.js448.32 KB448.32 KB+5.00 B (+0.00%)
string_decoder.js26.62 KB26.63 KB+5.00 B (+0.02%)
timers.js93.29 KB93.30 KB+5.00 B (+0.01%)
tls.js308.18 KB308.19 KB+5.00 B (+0.00%)
tracing.js73.02 KB73.02 KB+5.00 B (+0.01%)
tty.js42.95 KB42.95 KB+5.00 B (+0.01%)
url.js330.67 KB330.67 KB+5.00 B (+0.00%)
util.js741.35 KB741.36 KB+5.00 B (+0.00%)
v8.js342.62 KB342.62 KB+5.00 B (+0.00%)
wasi.js38.02 KB38.03 KB+5.00 B (+0.01%)
webcrypto.js386.56 KB386.56 KB-5.00 B (-0.00%)
webstreams.js280.03 KB280.04 KB+5.00 B (+0.00%)
worker_threads.js400.12 KB400.12 KB+5.00 B (+0.00%)
zlib.js307.44 KB307.45 KB+5.00 B (+0.00%)

@avivkelleravivkeller changed the title feat(web): add all.html generationfeat(web): add all, index, and 404 generationApr 29, 2026
@avivkeller
avivkeller marked this pull request as draft April 29, 2026 21:38
Comment threadsrc/generators/jsx-ast/utils/synthetic/404.mjs
Comment threadsrc/generators/web/utils/synthetic/index.mjs Outdated
@AugustinMauroy

Copy link
Copy Markdown
Member

There are still stability overview heading in the about doc page. IMO there are 2 options

  1. also include it there
  2. remove this header by processing it. and in future remove the md content then remove the logic on generator

@AugustinMauroy

Copy link
Copy Markdown
Member

BTW thanks aviv for your energy there !

@avivkeller

Copy link
Copy Markdown
MemberAuthor

remove this header by processing it. and in future remove the md content then remove the logic on generator

I think when we move to the web generator, we'll just remove the heading from the source

@AugustinMauroy

Copy link
Copy Markdown
Member

remove this header by processing it. and in future remove the md content then remove the logic on generator

I think when we move to the web generator, we'll just remove the heading from the source

Agree make sens. But why not remove/merge index and about ? but for backward compatibility we can just duplicate the file with different name like index became the main thing and about became the copy.

@avivkeller

Copy link
Copy Markdown
MemberAuthor

@nodejs/web-infra Thoughts?

Comment threadsrc/generators/web/generate.mjs Outdated

@AugustinMauroyAugustinMauroy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGMT !

Comment threadsrc/generators/jsx-ast/utils/synthetic/index.mjs
@avivkeller

Copy link
Copy Markdown
MemberAuthor

@nodejs/web-infra this should be our last major blocker, so PTAL

@avivkeller

Copy link
Copy Markdown
MemberAuthor

@MattIPv4 or @flakey5 can you PTAL so this can land?

@avivkeller

Copy link
Copy Markdown
MemberAuthor

FYI @nodejs/web-infra Once this lands I'm going to undraft and bring the PR moving core to use the web generator up-to-date

@flakey5flakey5 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm except all.html has links to all.md in the View As and Contribute sections of the right sidebar which 404's since it doesn't exist

Image

(also the fun fact that it takes ~30hrs to read all of the docs for Node, huh)

@avivkeller
avivkeller merged commit ee581f1 into mainMay 16, 2026
23 checks passed
@avivkeller
avivkeller deleted the web-all-html branch May 16, 2026 15:40

@cursorcursorBot 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 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.

Reviewed by Cursor Bugbot for commit bbc07e6. Configure here.

Comment threadsrc/generators/jsx-ast/generate.mjs
Sign up for freeto 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.

web-all Generator Generating the Stability Overview

3 participants

@avivkeller@AugustinMauroy@flakey5