fix: update import paths for utils #8664
                
     Open
            
            
          
      
        
          +136
        
        
          −24
        
        
          
        
      
    
  
  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
The fix addresses both issues:
Issue #8648: Components have /lib/utils hardcoded
Problem: Components get /lib/utils instead of the configured /app/function/lib/utils.
Fix: When a user configures an absolute path ending with /lib/utils (e.g., /app/function/lib/utils), it is preserved.
Issue #7348/#7557: Components default to src/lib/utils instead of src/utils
Problem: Setting "utils": "src/utils" still produces src/lib/utils.
Fix: When the alias doesn't end with /utils, /utils is appended. For relative paths like @/lib/utils or paths without explicit /lib/utils, /lib/utils is replaced with /src/utils.
Behavior
Detects both @/lib/utils and @/src/utils imports.
Uses the configured utils alias from components.json.
Preserves absolute paths: if you configure /app/function/lib/utils, it keeps that path.
Defaults to /src/utils: for relative/alias paths, replaces /lib/utils with /src/utils.
Handles sub-path imports: @/lib/utils/bar and @/src/utils/bar are supported.
Handles re-exports: detects cn in export statements.
All tests pass.