sadpandajoe commented on code in PR #42994: URL: https://github.com/apache/superset/pull/42994#discussion_r3996360745
########## .claude/projects/js-to-ts/PROJECT.md: ########## @@ -1,76 +1,23 @@ # JavaScript to TypeScript Migration Project -Progressive migration of 219 JS/JSX files to TypeScript in Apache Superset frontend. +Migration of JS/JSX application files to TypeScript in Apache Superset frontend. ## 📁 Project Documentation - **[AGENT.md](./AGENT.md)** - Complete technical migration guide for agents (includes type reference, patterns, validation) - **[COORDINATOR.md](./COORDINATOR.md)** - Strategic workflow for coordinators (file selection, task management, integration) -## 🎯 Quick Start +## 📊 Migration Status -**For Agents:** Read [AGENT.md](./AGENT.md) for complete migration instructions -**For Coordinators:** Read [COORDINATOR.md](./COORDINATOR.md) for workflow and [AGENT.md](./AGENT.md) for supervision - -**Command:** `/js-to-ts <filename>` - See [../../commands/js-to-ts.md](../../commands/js-to-ts.md) - -## 📊 Migration Progress - -**Scope**: 219 files total (112 JS + 107 JSX) -- Production files: 139 (63%) -- Test files: 80 (37%) - -**Strategy**: Leaf-first migration with dependency-aware coordination - -### Completed Migrations ✅ - -1. **roundDecimal** - `plugins/legacy-plugin-chart-map-box/src/utils/roundDecimal.js` - - Migrated core + test files - - Added proper TypeScript function signature with optional precision parameter - - All tests pass - -2. **timeGrainSqlaAnimationOverrides** - `src/explore/controlPanels/timeGrainSqlaAnimationOverrides.js` - - Migrated to TypeScript with ControlPanelState and Dataset types - - Added TimeGrainOverrideState interface for return type - - Used type guards for safe property access - -3. **DebouncedMessageQueue** - `src/utils/DebouncedMessageQueue.js` - - Migrated to TypeScript with proper generics - - Created DebouncedMessageQueueOptions interface - - **CREATED test file** with 4 comprehensive test cases - - Excellent class property typing with private/readonly modifiers - -**Files Migrated**: 3/219 (1.4%) -**Tests Created**: 2 (roundDecimal had existing, DebouncedMessageQueue created) - -### Next Candidates (Leaf Nodes) 🎯 - -**Identified leaf files with no JS/JSX dependencies:** -- `src/utils/hostNamesConfig.js` - Domain configuration utility -- `src/explore/controlPanels/Separator.js` - Control panel configuration -- `src/middleware/loggerMiddleware.js` - Logging middleware - -**Migration Quality**: All completed migrations have: -- ✅ Zero `any` types -- ✅ Proper TypeScript compilation -- ✅ ESLint validation passed -- ✅ Test coverage (created where missing) +- **Application Code (`superset-frontend/src`, `plugins/`)**: 100% TypeScript (`.js`/`.jsx` migration complete). +- **Remaining JavaScript Files**: Limited to generator/mock/template files under `packages/` and project configuration scripts. Review Comment: This still understates the remaining JavaScript: the current tree has `.js` tests and helpers under `superset-frontend/cypress-base` and `superset-frontend/spec`, so a migration owner following this status would incorrectly treat those paths as already converted. Could we scope this claim to application code or list the remaining test/helper locations too? -- 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]
