feat: TypeScript Migration - Phase 1: Infrastructure Setup #649

Closed
opened 2025-10-14 16:06:55 -06:00 by navan · 0 comments
Owner

Originally created by @neno-is-ooo on 5/27/2025

TypeScript Migration - Phase 1: Infrastructure Setup

This PR begins the TypeScript migration for claude-task-master, addressing #5.

Summary

Following the incremental approach suggested in #5, this PR sets up the TypeScript infrastructure without breaking existing JavaScript functionality. The migration will proceed gradually, starting with src/ directory as the home for clean, refactored TypeScript code.

Changes in this PR

  1. TypeScript Infrastructure

    • Added TypeScript and type definitions as dev dependencies
    • Created tsconfig.json with permissive settings for gradual migration
    • Added tsup for building TypeScript files to dist/ folder
    • Added build scripts: build, build:watch, typecheck
  2. Migration Tracking

    • Created TYPESCRIPT_MIGRATION.md to track progress
    • Defined clear phases for migration
    • Established testing strategy

Migration Strategy

As suggested in #5, we're taking a "little by little" approach:

  1. Phase 1 (This PR): Set up tsconfig and tsup for compilation
  2. Phase 2 (Next): Start converting src/ to TypeScript
  3. Phase 3+: Gradually migrate other modules

The src/ folder will be the primary location for refactored TypeScript code, keeping non-MCP related code clean and typed.

Testing

  • npm run typecheck runs without errors
  • Existing JavaScript functionality remains unchanged
  • All existing tests still pass

Next Steps

  1. Create core type definitions
  2. Convert files in src/ to TypeScript
  3. Gradually expand to other modules

This is a draft PR to signal the start of TypeScript migration. Will add more commits as the migration progresses.

Closes #5 (when complete)

*Originally created by @neno-is-ooo on 5/27/2025* ## TypeScript Migration - Phase 1: Infrastructure Setup This PR begins the TypeScript migration for claude-task-master, addressing #5. ### Summary Following the incremental approach suggested in #5, this PR sets up the TypeScript infrastructure without breaking existing JavaScript functionality. The migration will proceed gradually, starting with `src/` directory as the home for clean, refactored TypeScript code. ### Changes in this PR 1. **TypeScript Infrastructure** ✅ - Added TypeScript and type definitions as dev dependencies - Created `tsconfig.json` with permissive settings for gradual migration - Added `tsup` for building TypeScript files to `dist/` folder - Added build scripts: `build`, `build:watch`, `typecheck` 2. **Migration Tracking** - Created `TYPESCRIPT_MIGRATION.md` to track progress - Defined clear phases for migration - Established testing strategy ### Migration Strategy As suggested in #5, we're taking a "little by little" approach: 1. **Phase 1** (This PR): Set up tsconfig and tsup for compilation 2. **Phase 2** (Next): Start converting `src/` to TypeScript 3. **Phase 3+**: Gradually migrate other modules The `src/` folder will be the primary location for refactored TypeScript code, keeping non-MCP related code clean and typed. ### Testing - [x] `npm run typecheck` runs without errors - [x] Existing JavaScript functionality remains unchanged - [x] All existing tests still pass ### Next Steps 1. Create core type definitions 2. Convert files in `src/` to TypeScript 3. Gradually expand to other modules This is a draft PR to signal the start of TypeScript migration. Will add more commits as the migration progresses. ### Related Issues Closes #5 (when complete)
navan closed this issue 2025-10-14 16:06:56 -06:00
Sign in to join this conversation.
No labels
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:ai-models
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:cli
area:installation
area:installation
area:installation
area:installation
area:installation
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:mcp
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:task-management
area:vscode-extension
area:vscode-extension
area:vscode-extension
area:vscode-extension
area:vscode-extension
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
documentation
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
duplicate
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
feedback
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
good first issue
help wanted
help wanted
help wanted
help wanted
help wanted
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
high-priority
integration request
integration request
integration request
integration request
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
low-priority
low-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
medium-priority
provider:anthropic
provider:anthropic
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:claude-code
provider:gemini-cli
provider:openai
provider:perplexity
question
question
question
question
question
question
question
question
question
question
question
question
question
question
refactor
refactor
wontfix
wontfix
wontfix
wontfix
wontfix
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github/claude-task-master#649
No description provided.