feat(cli): Add new check command for type checking and update compiler options handling
This commit is contained in:
		
							
								
								
									
										45
									
								
								readme.plan.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								readme.plan.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
# Implementation Plan for tsbuild `check` Command
 | 
			
		||||
 | 
			
		||||
## Overview
 | 
			
		||||
Add a new `check` command to tsbuild that allows checking TypeScript files against a glob pattern without emitting them, similar to running the TypeScript compiler with the `--noEmit` flag.
 | 
			
		||||
 | 
			
		||||
## Implementation Steps
 | 
			
		||||
 | 
			
		||||
1. **Reread CLAUDE.md** to ensure we follow project guidelines
 | 
			
		||||
 | 
			
		||||
2. **Extend TsBuild Class**
 | 
			
		||||
   - The existing `TsBuild` class already has a `checkEmit()` method
 | 
			
		||||
   - We can leverage this method for our implementation
 | 
			
		||||
 | 
			
		||||
3. **Implement Check Command in CLI**
 | 
			
		||||
   - Add a new `check` command to `tsbuild.cli.ts`
 | 
			
		||||
   - Command should accept glob patterns as arguments
 | 
			
		||||
   - Process glob patterns to find matching TypeScript files
 | 
			
		||||
   - Use the `TsBuild` class to check the files without emitting
 | 
			
		||||
 | 
			
		||||
4. **Update Exports**
 | 
			
		||||
   - Ensure any new functionality is properly exported
 | 
			
		||||
 | 
			
		||||
5. **Testing**
 | 
			
		||||
   - Test the command with various glob patterns
 | 
			
		||||
   - Verify error reporting works correctly
 | 
			
		||||
 | 
			
		||||
## Differences from Existing `emitcheck` Command
 | 
			
		||||
The `emitcheck` command already exists and checks specific files without emitting. Our new `check` command will:
 | 
			
		||||
- Be designed specifically for checking files against glob patterns
 | 
			
		||||
- Use a simpler, more intuitive command name
 | 
			
		||||
- Potentially add additional benefits (like summary statistics of checked files)
 | 
			
		||||
 | 
			
		||||
## Example Usage
 | 
			
		||||
Once implemented, the command would work like this:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
npx tsbuild check ts/**/* 
 | 
			
		||||
npx tsbuild check "src/**/*.ts" "test/**/*.ts"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Expected Output
 | 
			
		||||
The command should:
 | 
			
		||||
- Report any TypeScript errors in the matched files
 | 
			
		||||
- Provide a count of files checked and any errors found
 | 
			
		||||
- Exit with code 0 if successful, or 1 if errors are found
 | 
			
		||||
		Reference in New Issue
	
	Block a user