michael-s-molina opened a new pull request, #35159:
URL: https://github.com/apache/superset/pull/35159

   ### SUMMARY
   Modernized and streamlined TypeScript configuration across Superset's 
monorepo, consolidating redundant configurations and implementing a paths-only 
module resolution approach.
   
   This PR also updates files to use `GenericDataType` from 
`@apache-superset/core`.
   
   ## Key Changes
   
   ### 1. Root Configuration Modernization
   - **Consolidated** `tsconfig.base.json` into main `tsconfig.json` to 
eliminate redundancy
   - **Updated** module resolution from `"node"` to `"bundler"` (modern 
recommended approach)
   - **Updated** target from `"esnext"` to `"es2020"` for better compatibility
   - **Enhanced** include patterns to cover packages and plugins test files
   - **Added** echarts internal types path mapping to resolve bundler 
resolution conflicts
   
   ### 2. Package/Plugin tsconfig Cleanup (27 files affected)
   - **Removed** all project references (`"references"` fields) that caused 
build conflicts
   - **Simplified** configurations to minimal extends-only pattern
   - **Eliminated** redundant compiler options already defined in root config
   - **Standardized** inheritance pattern across all packages and plugins
   
   ### 3. Module Resolution Strategy
   - **Implemented** paths-only approach instead of hybrid project references + 
paths
   - **Centralized** all path mappings in root `tsconfig.json` for better 
maintainability
   - **Fixed** ECharts internal type imports blocked by bundler resolution
   
   ## Technical Benefits
   
   - ✅ **Faster type checking** - No more incremental builds dependency chain
   - ✅ **Simplified configuration** - Reduced from complex multi-file setup to 
clean inheritance
   - ✅ **Better IDE support** - Modern bundler resolution works better with IDEs
   - ✅ **Eliminated build conflicts** - No more conflicts between path mappings 
and project references
   - ✅ **Maintained compatibility** - All existing imports continue working
   
   ## Files Changed
   - **Root config**: `tsconfig.json` (consolidated and modernized)
   - **Packages**: 4 package tsconfig files cleaned up
   - **Plugins**: 23 plugin tsconfig files cleaned up
   - **Total**: 96 lines removed, cleaner configuration maintained
   
   ### TESTING INSTRUCTIONS
     - `npm run type` passes without errors
     - `npm run eslint` continues working
     - All internal module resolution working correctly
     - External library types (ECharts) resolved properly
   
   ### ADDITIONAL INFORMATION
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to