fix(turbo-trace): exclude require() calls when tracing type imports only - #13638
Draft
okxint wants to merge 1 commit into
Draft
fix(turbo-trace): exclude require() calls when tracing type imports only#13638okxint wants to merge 1 commit into
okxint wants to merge 1 commit into
Conversation
find_require_calls was called unconditionally in find_imports, ignoring the import_trace_type parameter. CommonJS require() calls always produce value imports (ImportType::Value), so they should be skipped entirely when ImportTraceType::Types is requested. Without this guard, a `turbo trace --type` run would include every require() call in its output even though require() can never carry a type-only import.
Contributor
|
@okxint is attempting to deploy a commit to the Internal Apps Team on Vercel. A member of the Team first needs to authorize it. |
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.
find_require_callswas called unconditionally at the end offind_imports, regardless of theimport_trace_typeargument.CommonJS
require()calls always produce value imports (ImportType::Value). When a caller passesImportTraceType::Types, only type-only imports should be returned, butrequire()calls were still appended to the results — everyconst x = require("./y")in the traced file appeared in a types-only trace output.The fix guards the call behind a check:
find_require_callsis now skipped entirely whenimport_trace_type == ImportTraceType::Types.