• Stars
    star
    696
  • Rank 62,637 (Top 2 %)
  • Language
    TypeScript
  • Created over 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An ESLint shareable config for TypeScript that is based on eslint-config-standard and has TypeScript specific rules from @typescript-eslint/eslint-plugin.

Build Status JavaScript Style Guide npm

An ESLint shareable config for TypeScript that is based on eslint-config-standard and has TypeScript specific rules from @typescript-eslint/eslint-plugin.

Peer dependencies

This package specifies the following peerDependencies:

Yes, this is a large number of peerDependencies. This is due to a known limitation in ESLint.

@typescript-eslint dependencies

This package has @typescript-eslint/parser in dependencies.
And it has @typescript-eslint/eslint-plugin in peerDependencies.
Both are specified as ranges. It's probably safest for the installed versions of these packages to be the same. This can be achieved by:

  1. Pin (exact version) the @typescript-eslint/eslint-plugin in package.json.
  2. Have a package-lock.json which locks the version of the @typescript-eslint/parser sub-dependency.

And both pin/lock to the same version.

npm@<7

npm@<7 does not automatically install peerDependencies, so if that's what you're using, install them manually. Here is an example, but use it only for reference, because your decisions regarding version ranges and range specifiers may vary.

npm install --save-dev \
  typescript@\* \
  eslint@^8.0.1 \
  eslint-plugin-promise@^6.0.0 \
  eslint-plugin-import@^2.25.2 \
  eslint-plugin-n@^15.0.0 \
  @typescript-eslint/eslint-plugin@^5.50.0 \
  eslint-config-standard-with-typescript@latest

Example config

Here is an example .eslintrc.js:

module.exports = {
  extends: 'standard-with-typescript',
  parserOptions: {
    project: './tsconfig.json'
  }
}

Note: Please read some important instructions regarding the project option here.

There are some more parserOptions you may care about.

Example command line usage:

$ npx eslint .