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