rusackas opened a new pull request, #37857:
URL: https://github.com/apache/superset/pull/37857

   ## Summary
   
   This PR adds [Turborepo](https://turbo.build/) as a build orchestration tool 
for the frontend monorepo, replacing the need for custom build scripts with 
intelligent caching.
   
   **Closes the old Bun+Nx POC**: #35302 (now closed in favor of this simpler 
approach)
   
   ## What's Changed
   
   ### Added
   - `turbo.json` with task pipeline configuration
   - Build/clean/type-check scripts to all 26 packages and plugins
   - New npm scripts for turbo commands
   - `.turbo` to `.gitignore`
   
   ### New Scripts
   ```bash
   npm run turbo:build        # Build all packages with caching
   npm run turbo:build:force  # Build without cache
   npm run turbo:type-check   # Type check all packages
   npm run turbo:clean        # Clean all build artifacts
   ```
   
   ## Performance
   
   | Scenario | Before | After (Turbo) | Speedup |
   |----------|--------|---------------|---------|
   | First build | ~5s | ~5s | Same |
   | Cached build | ~5s | 314ms | **16x faster** |
   
   ## Architecture
   
   ```
   ┌─────────────────────────────────────────────┐
   │               Turborepo                      │
   │  (Build orchestration + caching)            │
   ├─────────────────────────────────────────────┤
   │               npm workspaces                 │
   │  (Dependency management)                    │
   ├─────────────────────────────────────────────┤
   │               Lerna                          │
   │  (Versioning + publishing to npm)           │
   └─────────────────────────────────────────────┘
   ```
   
   - **Turborepo**: Handles build orchestration with intelligent caching
   - **npm workspaces**: Manages dependencies (unchanged)
   - **Lerna**: Handles versioning and npm publishing (unchanged)
   
   ## Test Plan
   
   - [x] `npx turbo run build --dry-run` shows all 26 packages
   - [x] `npx turbo run build --filter=@apache-superset/core` builds 
successfully
   - [x] Second run shows "FULL TURBO" (cache hit)
   - [ ] CI passes
   - [ ] Full `npm run turbo:build` completes successfully
   
   ## Future Enhancements (not in this PR)
   
   1. **Bun support**: Add `bun.lockb` for even faster installs
   2. **Remote caching**: Enable Turborepo remote cache for CI
   3. **More tasks**: Add lint, test tasks to turbo pipeline
   
   ---
   
   🤖 Generated with [Claude Code](https://claude.ai/code)


-- 
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