Skip to content

fix(core): make generator output ordering deterministic - #1193

Open
OKAN-SOFTWARE wants to merge 6 commits into
nodejs:mainfrom
OKAN-SOFTWARE:fix/1183-deterministic-generator-order
Open

OKAN-SOFTWARE wants to merge 6 commits into
nodejs:mainfrom
OKAN-SOFTWARE:fix/1183-deterministic-generator-order

Conversation

@OKAN-SOFTWARE

Copy link
Copy Markdown

Summary

Fixes #1183.

  • Preserve input order when collecting parallel worker results, without sacrificing concurrent task execution.
  • Sort Markdown and JavaScript files before processing to ensure deterministic output.
  • Add regression tests for ordering and worker failures.
  • Include a patch changeset for @doc-kit/core.

Validation

  • Focused tests on Windows (Node.js 24): 26 passed, 0 failed.
  • Lint: 0 warnings, 0 errors.
  • The full test suite encountered failures in the TypeDoc package. The adapted-URL test failure was reproduced separately on the unchanged main branch and is unrelated to this fix.

Notes

PRs #1179 and #1180 modify related threading and file-discovery code. This change is based on the current implementation and may require coordination if either PR merges first.

@OKAN-SOFTWARE
OKAN-SOFTWARE requested a review from a team as a code owner October 27, 2026 15:04
@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
api-docs-tooling Ready Ready Preview Oct 27, 2026 3:05pm UTC

Request Review

@codecov

codecov Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.51%. Comparing base (ec7751f) to head (25c9572).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1193      +/-   ##
==========================================
+ Coverage   93.44%   93.51%   +0.07%     
==========================================
  Files         278      279       +1     
  Lines       27820    27968     +148     
  Branches     2790     2813      +23     
==========================================
+ Hits        25997    26155     +158     
+ Misses       1801     1791      -10     
  Partials       22       22              

☔ 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

Copy link
Copy Markdown
Contributor

api-links Generator

Performance estimate (single CI run)

  • Generation time: 10.3% slower (680.00 ms → 750.00 ms)
  • Peak memory: 2.2% lower (299.32 MB → 292.84 MB)

json Generator

Performance estimate (single CI run)

  • Generation time: 15.9% slower (8.55 s → 9.91 s)
  • Peak memory: 8.7% lower (1.26 GB → 1.15 GB)

legacy-html Generator

Performance estimate (single CI run)

  • Generation time: 7.7% slower (15.31 s → 16.49 s)
  • Peak memory: 0.4% lower (1.73 GB → 1.73 GB)

legacy-json Generator

Performance estimate (single CI run)

  • Generation time: 65.8% slower (5.52 s → 9.15 s)
  • Peak memory: 2.6% lower (1.18 GB → 1.15 GB)

llms-txt Generator

Performance estimate (single CI run)

  • Generation time: 2.8% faster (5.32 s → 5.17 s)
  • Peak memory: 3.8% lower (1.23 GB → 1.18 GB)

orama-db Generator

Output size: 1 file changed · net -759.00 B

File size details
File Main PR Change
orama-db.json 29.22 MB 29.22 MB -759.00 B (-0.0%)

Performance estimate (single CI run)

  • Generation time: 0.5% faster (6.64 s → 6.61 s)
  • Peak memory: 6.9% higher (1.26 GB → 1.34 GB)

web Generator

Output size: 64 files changed · net 0 B

File size details
File Main PR Change
assets/SearchBox-CWh3xKwr.js 84.66 KB — -84.66 KB (-100.0%)
assets/SearchBox-pLrqlZ1p.js — 84.66 KB +84.66 KB
assets/dist-BYff4Nb9.js 30.42 KB — -30.42 KB (-100.0%)
assets/dist-Cu7wqVB9.js — 30.42 KB +30.42 KB
assets/SideBar-C7dco05x.js 25.61 KB — -25.61 KB (-100.0%)
assets/SideBar-M40Hx9l7.js — 25.61 KB +25.61 KB
assets/client-GPyj1vjp.js 25.08 KB — -25.08 KB (-100.0%)
assets/client-Bt6pVmLw.js — 25.08 KB +25.08 KB
assets/config-DtT2jlD0.js 24.09 KB — -24.09 KB (-100.0%)
assets/config-BvFqojp3.js — 24.09 KB +24.09 KB
assets/Combination-BmJ0lnzd.js 16.11 KB — -16.11 KB (-100.0%)
assets/Combination-C0o3jFO6.js — 16.11 KB +16.11 KB
assets/ThemeToggle-Bws341Om.js 13.65 KB — -13.65 KB (-100.0%)
assets/ThemeToggle-CGbkQkCf.js — 13.65 KB +13.65 KB
assets/dist-CtYeyKbs.js 10.20 KB — -10.20 KB (-100.0%)
assets/dist-BF3zNp7r.js — 10.20 KB +10.20 KB
assets/compat-BdCbJT8e.js 10.13 KB — -10.13 KB (-100.0%)
assets/compat-BLmEXbOe.js — 10.13 KB +10.13 KB
assets/Layout-6nbr2xwo.js 10.13 KB — -10.13 KB (-100.0%)
assets/Layout-COY_5R0i.js — 10.13 KB +10.13 KB
assets/Tooltip-CZdLypHU.js 7.93 KB — -7.93 KB (-100.0%)
assets/Tooltip-MM-JXZTA.js — 7.93 KB +7.93 KB
assets/dist-BT83R5Zi.js 6.99 KB — -6.99 KB (-100.0%)
assets/dist-DAMJWDRr.js — 6.99 KB +6.99 KB
assets/jsx-runtime-CcH8sYa0.js 5.67 KB — -5.67 KB (-100.0%)
assets/jsx-runtime-CPlxzdKb.js — 5.67 KB +5.67 KB
assets/dist-BnS9dFnb.js 3.93 KB — -3.93 KB (-100.0%)
assets/dist-dqXC6q8E.js — 3.93 KB +3.93 KB
assets/CodeTabs-B-vr1rJG.js 3.89 KB — -3.89 KB (-100.0%)
assets/CodeTabs-BvPVs4Js.js — 3.89 KB +3.89 KB
assets/CodeBox-CZUrdd_C.js 3.44 KB — -3.44 KB (-100.0%)
assets/CodeBox-CcPx9CKF.js — 3.44 KB +3.44 KB
assets/hooks.module-JC599V3k.js 3.40 KB — -3.40 KB (-100.0%)
assets/hooks.module-WXMg5n6W.js — 3.40 KB +3.40 KB
assets/FunctionSignature-CCIPZNzz.js 2.28 KB — -2.28 KB (-100.0%)
assets/FunctionSignature-DQYs6hhY.js — 2.28 KB +2.28 KB
assets/Banner-BT1yBYM5.js 2.13 KB — -2.13 KB (-100.0%)
assets/Banner-CFnpnzlt.js — 2.13 KB +2.13 KB
assets/ChangeHistory-BGC8GXW-.js 1.77 KB — -1.77 KB (-100.0%)
assets/ChangeHistory-dW8bIhtD.js — 1.77 KB +1.77 KB
assets/DataTag-BAJRxOON.js 844.00 B — -844.00 B (-100.0%)
assets/DataTag-BfUi4k22.js — 844.00 B +844.00 B
assets/DocumentationIndex-D9u01mMO.js 833.00 B — -833.00 B (-100.0%)
assets/DocumentationIndex-DVuZbp_U.js — 833.00 B +833.00 B
assets/ArrowUpRightIcon-3rrAw9tL.js 618.00 B — -618.00 B (-100.0%)
assets/ArrowUpRightIcon-9b_MxCMG.js — 618.00 B +618.00 B
assets/Badge-DCiAoYW0.js 607.00 B — -607.00 B (-100.0%)
assets/Badge-DTSUf-o4.js — 607.00 B +607.00 B
assets/AlertBox-BjJkptee.js 591.00 B — -591.00 B (-100.0%)
assets/AlertBox-DIWqUpIC.js — 591.00 B +591.00 B
assets/CodeBracketIcon-CLozeGPo.js 512.00 B — -512.00 B (-100.0%)
assets/CodeBracketIcon-9fLgf1NC.js — 512.00 B +512.00 B
assets/dist-Qgd4IXja.js 477.00 B — -477.00 B (-100.0%)
assets/dist-C8iEZbdC.js — 477.00 B +477.00 B
assets/ChevronDownIcon-CeCixlbl.js 468.00 B — -468.00 B (-100.0%)
assets/ChevronDownIcon-B_ayBHzG.js — 468.00 B +468.00 B
assets/renderLabel-De9VfGuc.js 447.00 B — -447.00 B (-100.0%)
assets/renderLabel-DOtc6a10.js — 447.00 B +447.00 B
assets/Blockquote-DYd-xjeH.js 167.00 B — -167.00 B (-100.0%)
assets/Blockquote-ReUj8QM8.js — 167.00 B +167.00 B
assets/useRemoteConfig-C1tgkHqf.js 151.00 B — -151.00 B (-100.0%)
assets/useRemoteConfig-B-550P2l.js — 151.00 B +151.00 B
assets/withIsland-Zt0EKufw.js 105.00 B — -105.00 B (-100.0%)
assets/withIsland-CclzIgCv.js — 105.00 B +105.00 B

Performance estimate (single CI run)

  • Generation time: 4.8% slower (23.70 s → 24.83 s)
  • Peak memory: 1.9% higher (1.95 GB → 1.98 GB)

This branch was successfully deployed

1 active deployment
Preview – api-docs-tooling — 25c95725 Deployed Oct 27, 2026 by vercel[bot]
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.

core: output order changes between builds

3 participants