/ts-quick

⚡️ Zero-configuration JavaScript static analysis

Primary LanguageJavaScriptISC LicenseISC

lightning bolt

ts-quick️

Zero-configuration JavaScript static analysis tool

Build Status Code Coverage NPM Version NPM License


Easily catch bugs and enforce JSDoc types throughout your JavaScript project using the proven power of TypeScript. Either use it as a standalone CLI, or add it to your test script to ensure that your JS the best it can be.

ts-quick reporting two errors

Install

$ npm install --global ts-quick

Usage

$ ts-quick --help

  Usage
    $ ts-quick [<file|glob> ...]

  Options
    --init         Add ts-quick to your project
    --implicitAny  Allow variables to implicitly have the "any" type
    --ignore       Additional paths to ignore  [Can be set multiple times]
    --cwd=<dir>    Working directory for files

  Examples
    $ ts-quick
    $ ts-quick index.js
    $ ts-quick *.js !foo.js
    $ ts-quick --init
    $ ts-quick --implicitAny

  Tips
    Put options in package.json instead of using flags so other tools can read it.

Workflow

The recommended workflow is to add ts-quick locally to your project to have it run with tests.

Simply run $ ts-quick --init to add ts-quick to your package.json.

Before

{
  "name": "example-package",
  "scripts": {
    "test": "jest"
  },
  "devDependencies": {
    "jest": "^23.0.0"
  }
}

After

{
  "name": "example-package",
  "scripts": {
    "test": "ts-quick && jest"
  },
  "devDependencies": {
    "jest": "^23.0.0",
    "ts-quick": "^1.1.0"
  }
}

Then just run $ npm test and ts-quick will be run before your tests.

Config

You can configure options in ts-quick by putting them in package.json:

{
  "name": "example-package",
  "ts-quick": {
    "implicitAny": true,
    "ignores": ["./test", "foo.js"]
  }
}

implicitAny

Type: boolean
Default: false (types are required)

If enabled, ts-quick allows expressions and declarations to have an implied any type.

ignores

Type: Array

Some paths are ignored by default, including paths in .gitignore. Additional ignores can be added here.

License

ISC © Matan Kushner

Attribution

The ts-quick logo is a derivative of the "flash-outline" icon in Typicons by stephenhutchings, used under CC BY-SA.
The ts-quick logo is licensed under CC BY-SA by Matan Kushner.