Implement real-time (on-load) updates to API docs live-environment
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 64
- Forks
- 71
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 31
Description
Enter your suggestions in details:
One of the "flaws" (intentionally designed as-is) of our API docs is that once a release is done, docs cannot be udpated for said release or iterated over. This is due to the nature of our API docs release process and how its hosting is independent and completely static. There are advantages and disadvantages to this model.
For example, one of the disadvantages is, we cannot apply our global announcement banners over the course of time.
This proposal implements a static (resides on this repository or nodejs/node) api-docs.config.json that contains a map of entries for any given version of the Node.js API docs; Where the key is the current "major" the API doc was built and the value are the possible overrides such as:
- header banners (same mechanism from the website)
And then also global entries (not specific to version-specific changes):
- header banners (stays on top of the version-based banners)
And then the API Docs can also pool https://nodejs.org/dist/index.json or even https://nodejs.org/en/next-data/release-data to asynchronously completement the release dropdown with newer versions. So that people can navigate to newer versions of the docs.
All this data is loaded asynchronously and non-blocking.
Example structure of api-docs.config.json:
{
"global": {
"banner": {
"startDate": "2025-05-14T03:00:00.000Z",
"endDate": "2025-05-21T03:00:00.000Z",
"text": "May Security Release is available",
"link": "https://nodejs.org/en/blog/vulnerability/may-2025-security-releases",
"type": "warning"
}
}
"v24": {
"banner": {
"startDate": "2025-05-14T03:00:00.000Z",
"endDate": "2025-05-21T03:00:00.000Z",
"text": "May Security Release is available",
"link": "https://nodejs.org/en/blog/vulnerability/may-2025-security-releases",
"type": "warning"
}
}
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by locating the API docs live-environment code, then trace how banners and the release dropdown are rendered; compare the available Node.js release-data endpoints. Done means non-blocking loading supports global and version-specific banners and newer documentation versions without breaking the static docs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- documentation, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100