An ESLint shareable config for TypeScript that is based on eslint-config-standard and has TypeScript specific rules from @typescript-eslint/eslint-plugin.
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.0.0 \
eslint-config-standard-with-typescript@latest
Yes, this is a large number of packages. This is due to a known limitation in ESLint.
This list of dependencies is:
- TypeScript, which you may already have installed
- ESLint
- 3 Peer dependencies of eslint-config-standard
- @typescript-eslint/eslint-plugin; ESLint rules for TypeScript.
- This package
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 .