Skip to content

Provides typescript integration with ESLint for neutrino projects.

License

Notifications You must be signed in to change notification settings

davidje13/neutrino-typescript-eslint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neutrino Typescript ESLint

Provides typescript integration with ESLint for neutrino projects.

ESLint replaces TSLint for linting TypeScript.

Existing JavaScript rules will be converted to support TypeScript, so you can combine this with base configurations such as airbnb easily. See below for full details.

Installation

This package is intended for use with neutrinojs-typescript, and any eslint module (e.g. @neutrino/eslint / @neutrino/airbnb / etc.), so you should already have those installed and configured.

  1. Install dependencies:

    npm install --save-dev neutrinojs-typescript-eslint
  2. Include in .neutrinorc.js:

    const typescriptLint = require('neutrinojs-typescript-eslint');
    // ...
    
    module.exports = {
      use: [
        typescript(), // must be first in use section
        typescriptLint(), // order does not matter; can be later
        eslint(), // or airbnb or any other eslint-based module
        node(), // or whichever target you are using
      ],
    };
  3. Include type checking in package.json scripts:

    {
      "scripts": {
        "lint": "eslint --format codeframe --ext mjs,jsx,js,tsx,ts src test && tsc"
      }
    }

    Note: if you are using eslint 7 or above, you can simplify the lint script:

    {
      "scripts": {
        "lint": "eslint --format codeframe src test && tsc"
      }
    }

Options

// default values shown
typescriptLint({
  // file patterns where TypeScript rules are applied
  typescriptFiles: ['*.ts', '*.tsx'],

  // add "plugin:@typescript-eslint/recommended"
  recommended: true,

  // convert "indent" to "@typescript-eslint/indent"
  indent: false,
})

Note that indent is false by default due to known issues with @typescript-eslint/indent.

Any unrecognised options are passed through to typescript-eslint-converter.

Automatic rule conversion

This uses typescript-eslint-converter to automatically convert Javascript rules to be TypeScript compatible.

All conversions only apply if an equivalent explicit configuration is not found.

About

Provides typescript integration with ESLint for neutrino projects.

Topics

Resources

License

Stars

Watchers

Forks