LearnNewsExamplesServices
Frontmatter
id8391
titleUpdate generateSeoFiles.mjs to handle tree-structured release data
stateClosed
labels
bugdocumentationbuild
assigneestobiu
createdAtJan 7, 2026, 7:32 PM
updatedAtJan 7, 2026, 7:50 PM
githubUrlhttps://github.com/neomjs/neo/issues/8391
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 7, 2026, 7:41 PM

Update generateSeoFiles.mjs to handle tree-structured release data

Closed v11.19.0 bugdocumentationbuild
tobiu
tobiu commented on Jan 7, 2026, 7:32 PM

The apps/portal/resources/data/releases.json structure was recently refactored from a simple flat list to a flat-tree structure (including parent nodes for major versions) to support the Portal's TreeList component.

The buildScripts/generateSeoFiles.mjs script, specifically the getLlmsTxt function, consumes this JSON to generate the "Latest Updates" section. Currently, it iterates over the array without filtering, which causes it to process the new parent nodes (e.g., "v11") as if they were release notes. Since these parent nodes lack the version, date, and title properties of actual release objects, this results in malformed entries or errors.

Task: Update buildScripts/generateSeoFiles.mjs to filter the releases array. It should exclude nodes where isLeaf is explicitly false (or check for the existence of the version property) before slicing the top 5 items for the SEO content.

Affected File:

  • buildScripts/generateSeoFiles.mjs
tobiu added the bug label on Jan 7, 2026, 7:32 PM
tobiu added the documentation label on Jan 7, 2026, 7:32 PM
tobiu added the build label on Jan 7, 2026, 7:32 PM
tobiu assigned to @tobiu on Jan 7, 2026, 7:33 PM
tobiu referenced in commit 3f0e48f - "fix(build): Filter release tree nodes in SEO generation (#8391) on Jan 7, 2026, 7:40 PM
tobiu closed this issue on Jan 7, 2026, 7:41 PM
tobiu
tobiu Jan 7, 2026, 7:50 PM

Input from Gemini 3 Pro:

✦ Task completed.

Updated buildScripts/generateSeoFiles.mjs to filter out directory nodes (parent items without a version) from the release data. This ensures the llms.txt generation works correctly with the new tree-structured releases.json.