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
Copy link
Copy Markdown
Member

@avivkeller avivkeller commented Apr 29, 2026

Closes #622
Closes #644
Closes #357

Copilot AI review requested due to automatic review settings April 29, 2026 20:43
@avivkeller avivkeller requested a review from a team as a code owner April 29, 2026 20:43
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 29, 2026

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

Project Deployment Actions Updated (UTC)
api-docs-tooling Ready Ready Preview May 16, 2026 3:40pm

Request Review

@cursor
Copy link
Copy Markdown

cursor Bot commented Apr 29, 2026

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
Copy link
Copy Markdown

codecov Bot commented Apr 29, 2026

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 lines Patch % Lines
src/generators/jsx-ast/generate.mjs 81.81% 6 Missing ⚠️
src/generators/jsx-ast/__tests__/generate.test.mjs 98.94% 1 Missing ⚠️
...s/jsx-ast/utils/synthetic/__tests__/index.test.mjs 98.97% 1 Missing ⚠️
src/generators/jsx-ast/utils/synthetic/index.mjs 98.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
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 29, 2026

orama-db Generator

File Base Head Diff
orama-db.json 8.38 MB 8.38 MB +1.24 KB (+0.01%)

web Generator

File Base Head Diff
index.js 5.79 KB 13.57 KB +7.77 KB (+134.13%)
index.html 36.49 KB 41.99 KB +5.50 KB (+15.07%)
addons.js 288.81 KB 288.81 KB -5.00 B (-0.00%)
assert.js 448.96 KB 448.97 KB +5.00 B (+0.00%)
async_context.js 213.42 KB 213.43 KB +5.00 B (+0.00%)
async_hooks.js 191.51 KB 191.51 KB +5.00 B (+0.00%)
buffer.js 1.08 MB 1.08 MB +5.00 B (+0.00%)
child_process.js 457.77 KB 457.77 KB +5.00 B (+0.00%)
cli.js 303.29 KB 303.29 KB +5.00 B (+0.00%)
cluster.js 190.22 KB 190.23 KB +5.00 B (+0.00%)
console.js 101.69 KB 101.70 KB +5.00 B (+0.00%)
crypto.js 1.21 MB 1.21 MB +5.00 B (+0.00%)
debugger.js 48.56 KB 48.56 KB -5.00 B (-0.01%)
deprecations.js 285.61 KB 285.61 KB -5.00 B (-0.00%)
dgram.js 165.66 KB 165.67 KB +5.00 B (+0.00%)
diagnostics_channel.js 302.75 KB 302.75 KB +5.00 B (+0.00%)
dns.js 259.62 KB 259.63 KB +5.00 B (+0.00%)
domain.js 85.64 KB 85.64 KB +5.00 B (+0.01%)
environment_variables.js 11.70 KB 11.70 KB -5.00 B (-0.04%)
errors.js 349.41 KB 349.40 KB -5.00 B (-0.00%)
esm.js 131.43 KB 131.44 KB +5.00 B (+0.00%)
events.js 539.31 KB 539.31 KB +5.00 B (+0.00%)
ffi.js 88.35 KB 88.36 KB +5.00 B (+0.01%)
fs.js 1.22 MB 1.22 MB +5.00 B (+0.00%)
globals.js 122.74 KB 122.75 KB +5.00 B (+0.00%)
http2.js 796.06 KB 796.06 KB +5.00 B (+0.00%)
module.js 330.80 KB 330.80 KB +5.00 B (+0.00%)
modules.js 143.97 KB 143.97 KB +5.00 B (+0.00%)
n-api.js 710.45 KB 710.45 KB -5.00 B (-0.00%)
net.js 271.31 KB 271.32 KB +5.00 B (+0.00%)
os.js 100.52 KB 100.52 KB +5.00 B (+0.00%)
packages.js 118.89 KB 118.89 KB -5.00 B (-0.00%)
path.js 91.91 KB 91.92 KB +5.00 B (+0.01%)
perf_hooks.js 355.10 KB 355.10 KB +5.00 B (+0.00%)
permissions.js 28.21 KB 28.20 KB -5.00 B (-0.02%)
process.js 698.88 KB 698.88 KB +5.00 B (+0.00%)
punycode.js 23.36 KB 23.37 KB +5.00 B (+0.02%)
querystring.js 26.13 KB 26.14 KB +5.00 B (+0.02%)
quic.js 164.35 KB 164.36 KB +5.00 B (+0.00%)
readline.js 217.30 KB 217.31 KB +5.00 B (+0.00%)
repl.js 205.02 KB 205.03 KB +5.00 B (+0.00%)
single-executable-applications.js 80.14 KB 80.15 KB +5.00 B (+0.01%)
stream.js 855.88 KB 855.88 KB +5.00 B (+0.00%)
stream_iter.js 448.32 KB 448.32 KB +5.00 B (+0.00%)
string_decoder.js 26.62 KB 26.63 KB +5.00 B (+0.02%)
timers.js 93.29 KB 93.30 KB +5.00 B (+0.01%)
tls.js 308.18 KB 308.19 KB +5.00 B (+0.00%)
tracing.js 73.02 KB 73.02 KB +5.00 B (+0.01%)
tty.js 42.95 KB 42.95 KB +5.00 B (+0.01%)
url.js 330.67 KB 330.67 KB +5.00 B (+0.00%)
util.js 741.35 KB 741.36 KB +5.00 B (+0.00%)
v8.js 342.62 KB 342.62 KB +5.00 B (+0.00%)
wasi.js 38.02 KB 38.03 KB +5.00 B (+0.01%)
webcrypto.js 386.56 KB 386.56 KB -5.00 B (-0.00%)
webstreams.js 280.03 KB 280.04 KB +5.00 B (+0.00%)
worker_threads.js 400.12 KB 400.12 KB +5.00 B (+0.00%)
zlib.js 307.44 KB 307.45 KB +5.00 B (+0.00%)

@avivkeller avivkeller changed the title feat(web): add all.html generation feat(web): add all, index, and 404 generation Apr 29, 2026
@avivkeller avivkeller marked this pull request as draft April 29, 2026 21:38
@avivkeller avivkeller marked this pull request as ready for review April 29, 2026 22:28
Comment thread src/generators/jsx-ast/utils/synthetic/404.mjs
Comment thread src/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
Member Author

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
Member Author

@nodejs/web-infra Thoughts?

Comment thread src/generators/web/generate.mjs Outdated
Copy link
Copy Markdown
Member

@AugustinMauroy AugustinMauroy left a comment

Choose a reason for hiding this comment

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

LGMT !

Comment thread src/generators/jsx-ast/utils/synthetic/index.mjs
@avivkeller
Copy link
Copy Markdown
Member Author

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

@avivkeller
Copy link
Copy Markdown
Member Author

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

@avivkeller
Copy link
Copy Markdown
Member Author

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

Copy link
Copy Markdown
Member

@flakey5 flakey5 left a comment

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 main May 16, 2026
23 checks passed
@avivkeller avivkeller deleted the web-all-html branch May 16, 2026 15:40
Copy link
Copy Markdown

@cursor cursor Bot left a comment

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 thread src/generators/jsx-ast/generate.mjs
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.

web-all Generator Generating the Stability Overview

3 participants