Package Exports
- @kdujs/eslint-config-typescript
- @kdujs/eslint-config-typescript/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@kdujs/eslint-config-typescript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@kdujs/eslint-config-typescript
eslint-config-typescript for Kdu
See @typescript-eslint/eslint-plugin for available rules.
This config is specifically designed to be used by @kdujs/cli
& create-kdu
setups
and is not meant for outside use (it can be used but some adaptations
on the user side might be needed - for details see the config file).
A part of its design is that this config may implicitly depend on
other parts of @kdujs/cli
/create-kdu
setups, such as eslint-plugin-kdu
being
extended in the same resulting config.
Installation
In order to work around a known limitation in ESLint, we recommend you to use this package alongside @rushstack/eslint-patch
, so that you don't have to install too many dependencies:
npm add --dev @kdujs/eslint-config-typescript @rushstack/eslint-patch
Usage
This package comes with 2 rulesets.
@kdujs/eslint-config-typescript
This ruleset is the base configuration for Kdu-TypeScript projects.
Besides setting the parser and plugin options, it also turns off several conflicting rules in the eslint:recommended
ruleset.
So when used alongside other sharable configs, this config should be placed at the end of the extends
array.
An example .eslintrc.cjs
:
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution")
module.exports = {
extends: [
'eslint:recommended',
'plugin:kdu/kdu3-essential',
'@kdujs/eslint-config-typescript'
]
}
@kdujs/eslint-config-typescript/recommended
This is extended from the @typescript-eslint/recommended
ruleset, which is an opinionated ruleset.
See the original documentation for more information.
Some of its rules, however, might conflict with prettier
.
So when used alongside other sharable configs, this config should be placed after all other configs except for the one from @kdujs/eslint-config-prettier
or eslint-plugin-prettier
in the extends
array.
An example .eslintrc.cjs
:
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution")
module.exports = {
extends: [
'plugin:kdu/kdu3-essential',
'@kdujs/eslint-config-typescript/recommended',
'@kdujs/eslint-config-prettier'
]
}