Fix require() inside functions being treated as imports#1247
Merged
misrasaurabh1 merged 1 commit intomainfrom Feb 2, 2026
Merged
Fix require() inside functions being treated as imports#1247misrasaurabh1 merged 1 commit intomainfrom
misrasaurabh1 merged 1 commit intomainfrom
Conversation
When extracting imports from JavaScript/TypeScript code, dynamic
require() calls inside function bodies were incorrectly being
extracted as module-level imports. This caused invalid code to be
sent to the AI service for optimization.
For example, the code:
```
function foo() {
const mod = require('module') as typeof import('module');
}
```
Would have `require('module') as typeof import('module')` extracted
as an import statement, which when added to the top of the code
would create invalid syntax.
The fix tracks when we enter function/method bodies during tree
traversal and only treats require() calls as imports when they
are at module level.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.
Summary
require()calls inside function/method bodies were incorrectly treated as module-level importsExample
The code:
Would incorrectly extract
require('next/dist/compiled/gzip-size') as typeof import('next/dist/compiled/gzip-size')as an import, which when added to the top of the file creates invalid syntax.Test plan
test_require_inside_function_not_import🤖 Generated with Claude Code