Skip to content

CLI for applying TypeScript codefixes

License

Notifications You must be signed in to change notification settings

microsoft/ts-fix

Repository files navigation

This tool is to automate the application of TypeScript codefixes across your TypeScript repositories.

Download

If cloning from GitHub, after cloning, run

npm install
npm run build
npm link

ts-fix can then be used in the command line

Example Usage

ts-fix -t path/to/tsconfig.json -f nameOfCodefix
ts-fix -e 4114 --write
ts-fix --interactiveMode --file relativePathToFile

Flags

Options:
      --help                Show help                                             [boolean]
      --version             Show version number                                   [boolean]
  -t, --tsconfig            Path to project's tsconfig    
                                                      [string] [default: "./tsconfig.json"]
  -e, --errorCode           The error code(s)                        [number] [default: []]
  -f, --fixName             The name(s) of codefixe(s) to apply      [string] [default: []]
  -w, --write               Tool will only emit or overwrite files if --write is included                                                       [boolean] [default: false]
  -o, --outputFolder        Path of output directory                               [string]
      --interactiveMode     Enables interactive mode             [boolean] [default: false]
      --file                Relative paths to files                  [string] [default: []]
      --showMultiple        Shows multiple fixes for a diagnostic    
                                                                 [boolean] [default: false]
      --ignoreGitStatus     Ignore working tree and force the emitting or overwriting of files                                                      [boolean] [default: false]

-t path/to/tsconfig.json or --tsconfig path/to/tsconfig.json Specifies the project to use the tool on. If no argument given, the tool will use the tsconfig in the current working directory.

-e <number> or --errorCode <number> Specifies the errors to fix. Several error codes can be specified during the same command. The easiest way to find error codes in your repository is to hover over the error in your IDE.

-f <name> or --fixName <name> Specifies the types of codefixes to use. Several names can be specified.

If both error numbers and fix names are given, then in order to be applied, a fix must be generated by a specified error and have a name that was specified.

--write Boolean for if the tool should overwrite previous code files with the codefixed code or emit any files with codefixed code. If --write not included, then the tool will print to console which files would have changed.

--interactiveMode Boolean for enabling interactive CLI to visualize which code fixes to apply to your project. Some special cases to keep in mind are:

  1. One diagnostic might be tied to more than one code fix. A simple example of this is when the paramenters of a functions have any type and the inferFromUsage fix is recommended. Let's say that you want to fix only error code 7019, this could also fix 7006 if the function parameters has both diagnostics.
  2. Some codefixes are applied on a different location from where the actual diagnostic is.Some examples: 2.1 When the code fix is applied on the diagnostic's related information instead. 2.2 When the code fix is applied in an entire different file from the original file.

--file <filename> Relative file path(s) to the file(s) in which to find diagnostics and apply quick fixes. The path is relative to the project folder.

--showMultiple Boolean for enabling showing multiple fixes for diagnostics for which this applies. One consideration when --showMultiple = true is that the tool migth not be able to find consecutives fixes afecting the same span if those diagnostics have mutliple fixes.

--ignoreGitStatus Boolean to force the overwriting of files when --write = true and output folder matches project folder. If you are sure you would like to run ts-fix on top of your current changes provide this flag.

About

CLI for applying TypeScript codefixes

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published