npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@yutengjing/ts-fix

v0.0.1

Published

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

Downloads

2,317

Readme

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

Download

If cloning from GitHub, after cloning, run

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.