tsbuild/readme.plan.md

1.6 KiB

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:

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