Repository navigation
fix(workspace): skip include-matched directories without a package.json - #1069
Closed
JiangYueYun wants to merge 1 commit into
Closed
JiangYueYun wants to merge 1 commit into
JiangYueYun wants to merge 1 commit into
Conversation
✅ Deploy Preview for tsdown-main ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
tsdown
create-tsdown
@tsdown/css
@tsdown/exe
tsdown-migrate
commit: |
JiangYueYun
force-pushed
the
fix/workspace-manifestless-directories
branch
2 times, most recently
from
September 11, 2026 04:55
9cfcf2e to
a302455
Compare
JiangYueYun
force-pushed
the
fix/workspace-manifestless-directories
branch
from
September 11, 2026 04:55
a302455 to
fb432d4
Compare
Author
1 of 3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AI usage
Description
workspace.includeis a list of glob patterns, expanded withonlyDirectories: true, so a directorythat is not a package — a directory left behind by a package rename, for example — becomes a
workspace entry. It has no config of its own, so it inherits the root config's
entryandname,and the build then fails with
[root-name] Cannot find entry: [...]: the message names the rootpackage and carries no path.
This brings the
includebranch in line withauto, which discovers**/package.jsonand so nevermatches a non-package: directories matched by the globs that own no
package.jsonare skipped, andreported instead of being passed over quietly.
Source report
Reproduced from a real monorepo: deepseek-ai/deepseek-harness discussion #6089
(deepseek-ai/deepseek-harness#6089).
pnpm run build:lib:hostfailswith
[@deepseek-ai/dsh-root] Cannot find entry: ["lib/types/{index,invariant,startup}.js"]on a treethat holds a directory without a
package.jsonunderpackages/*/*, while a clean checkout of thesame revision builds 249 packages without a root
lib/types.Linked Issues
Refs #1067. #1068 covers the other half — naming the offending directory in the error message; this
covers "a directory that is not a package must not join the workspace".
Tests
tests/e2e.test.tsgains a workspace whose include glob matches one real package and one directoryholding only
.gitkeep: it fails onmain(Build failed with 1 error) and passes with the change,together with its snapshot.
eslint --max-warnings 0andtsc --noEmitare clean on the touchedfiles.