Repository navigation
Explain why files under different roots can't be checked together - #2699
Conversation
Every file in a run must share one root. When two files under different roots have the same path from their roots, and the first had errors, OutputSink stopped with "File has already been drained to the output sink". It now names both files, says they must share one root, and suggests separate runs or another root marker. Adds a `cli/multiple-roots` conformance case and fixture. Its golden comes in the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QjLhVH1NnUc7MzCSYLd8Yn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QjLhVH1NnUc7MzCSYLd8Yn
🦋 Changeset detectedLatest commit: 82b19c4 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2699 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 93 93
Lines 3171 3177 +6
Branches 2381 2384 +3
=========================================
+ Hits 3171 3177 +6
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
checksync only stops when the earlier file had errors, so the message now says it can't report on both files rather than that a run must have one root. It also mentions the rootMarker configuration option alongside --root-marker. startFile now works out the file's key once, and a file with no errors is dropped from both maps. The fixture's tagged content is a comment, so eslint no longer reports an unused variable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QjLhVH1NnUc7MzCSYLd8Yn
Bundle ReportChanges will increase total bundle size by 417 bytes (0.06%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: checksync-cjsAssets Changed:
Files in
|
cwdRelativePath uses the platform's separators, so the inline snapshots failed on Windows. The tests now keep the paths as given. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QjLhVH1NnUc7MzCSYLd8Yn
Say plainly that the two files are under different root folders, what a root folder is, and how to check them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QjLhVH1NnUc7MzCSYLd8Yn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QjLhVH1NnUc7MzCSYLd8Yn
…72zesp-multiple-roots # Conflicts: # src/conformance/constants.ts
Every file in a checksync run must share one root. When two files under different roots had the same path from their roots, such as
one/src/a.jsandtwo/src/a.jswith apackage.jsonin each ofoneandtwo, the run stopped with "File has already been drained to the output sink". That gave no hint of the cause.The error now names both files and says that every file in a run must share one root. It suggests checking them in separate runs, or using
--root-markerto pick a marker that only the shared root contains. The error only appears where the old one did; runs that worked before are unchanged.This patch is for 11.x. It adds a
cli/multiple-rootsconformance case with its own fixture.Test plan
oneandtwo. Give each apackage.jsonand asrc/a.jscontaining a sync tag with a wrong checksum.checksync one two. It namestwo/src/a.jsandone/src/a.jsand explains that they need separate runs.Generated by Claude Code