Repository navigation
fix(docs): use relative POSIX package entry globs - #3016
felixweinberger merged 4 commits into
Conversation
Normalize TypeDoc package entry-point separators on native Windows while letting TypeDoc escape special characters in the checkout directory. Keep native filesystem paths unchanged.
|
@modelcontextprotocol/client
@modelcontextprotocol/codemod
@modelcontextprotocol/core
@modelcontextprotocol/server
@modelcontextprotocol/server-legacy
@modelcontextprotocol/express
@modelcontextprotocol/fastify
@modelcontextprotocol/hono
@modelcontextprotocol/node
commit: |
karaaslanz
left a comment
There was a problem hiding this comment.
I reviewed the exact docs-only head 0600a7d1a0d6d0cabe564f1ab2114bd0eca6a72b, comparing the pinned typedoc.config.mjs blobs from base 9bc40e903fde15534ec06ff4c1347d47000dbe16 (blob 99c74f4e6565bf7b84ff4816f66d72685c20a626) and this PR (blob 4932484be47b2cba321b8cf876b1fc4ceb10bd7e).
I extracted and executed the actual entryPoints = publicPackages.map(...) expression from each version, using Node's native path.win32 functions and three Windows checkout fixtures:
C:\Dev\MCP SDK\packages\client-> patchedpackages/clientC:\Dev\checkout[1]\packages\server-> patchedpackages/serverC:\Dev\MCP SDK\packages\core-internal-> patchedpackages/core-internal
The unmodified base returns absolute backslash-containing Windows paths in all three cases, while the patched expression returns the expected relative, forward-slash package entries. 6/6 exact-source path assertions passed. This aligns with the reported Windows glob-path failure and removes the checkout prefix, including any special characters in the checkout folder, from TypeDoc's entry glob.
Scope: This is an independent pinned-source path-generation check only, not a full pnpm docs:api/TypeDoc run, and it does not independently prove TypeDoc's package-glob resolution or every Windows filesystem edge case. The author's PR description reports full Windows TypeDoc validation. I found no issue in the narrow transformation tested here and made no repository edits.
Fixes #3015.
On native Windows,
docs:apireceives absolute package entry points containing backslashes. TypeDoc treats these as glob escapes, finds none of the eight public packages, and exits with an error. Use package-relative POSIX globs so TypeDoc can resolve them and escape special characters in the checkout directory. Filesystem reads keep their native paths.Validation on native Windows, against
9bc40e903fde15534ec06ff4c1347d47000dbe16:pnpm docs:apifailed to match all eight packages. The fix generated all eight successfully.expandPackageshelper selected the literalcheckout[1]directory with acheckout1sibling present. Both native and normalized absolute entry-point controls failed. This is a local verification fixture, not an added repository test.pnpm build:all,pnpm lint:all, Prettier andgit diff --checkpassed.transport:stdio:shutdown-escalationcases. Both failures were reproduced with the original config restored. The recursive command stopped with exit 1, so the integration suite did not complete. Default Node 24.15 worker crashes were also reproduced with the original config.Only
typedoc.config.mjschanges. No runtime, dependency or generated documentation changes. Prepared with Codex assistance and independently reviewed by four Luna agents and one Sol agent after the final change.