eslint-config-noftalint
v2.21.1
Published
Noftaly's eslint configuration
Downloads
45
Maintainers
Readme
eslint-config-noftalint
This package provides noftaly's .eslintrc as an extensible shared config.
See the comparison with airbnb, google and standard's config here
Table of Content
Usage
- Install this package, with
$ npm i -D eslint \
eslint-config-noftalint \
eslint-plugin-import \
eslint-plugin-node \
eslint-plugin-unicorn
- Add
noftalint
to your.eslintrc.js
:extends: ['noftalint']
Use with TypeScript
noftalint
also contains TypeScript rules, from @typescript-eslint/eslint-plugin
! They are not included by default, so you need to configure some things first.
- Run the following command to install the required dependencies
$ npm i -D typescript \
@typescript-eslint/parser \
@typescript-eslint/eslint-plugin
- Update your
.eslintrc.js
configuration with the following values:
module.exports = {
extends: ['noftalint/typescript'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
...
};
- Create a file named
tsconfig.eslint.json
, at the same level as yourtsconfig.json
. - Add this inside your
tsconfig.eslint.json
. Theincludes
property must be all the files you want to lint, including JS files.
{
"extends": "./tsconfig.json",
"include": [
"src/**/*.ts",
".eslintrc.js"
]
}
If you want to use custom TypeScript's path aliases, you will have to follow these steps:
$ npm install --save-dev eslint-import-resolver-typescript
Update your .eslintrc.js
by disabling node/no-missing-import
as it does not support TypeScript's path aliases; and by updating the settings for import/resolver
.
module.exports = {
...
rules: {
...
// It cannot resolve TypeScript's path aliases. See https://github.com/mysticatea/eslint-plugin-node/issues/233
'node/no-missing-import': 'off',
},
settings: {
...
'import/resolver': {
typescript: {
alwaysTryTypes: true,
},
},
},
};
If you use the shebang notation inside your project, you will need to modify the node/shebang
rule in your .eslintrc.js
:
module.exports = {
...
rules: {
...
'node/shebang': ['error', {
convertPath: {
// Change your main file and your destination file to what you want
'src/main.ts': ['^src/main.ts$', 'build/main.js'],
},
}],
}
}
Links
GitHub repository: eslint-config-noftalint
npm package: eslint-config-noftalint
Credits
Inspired by the Airbnb's config
Generator adapted from Canonical's generator