You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
5.4 KiB
158 lines
5.4 KiB
{
|
|
"root": true,
|
|
"ignorePatterns": ["**/*"],
|
|
"plugins": ["@nx"],
|
|
"overrides": [
|
|
{
|
|
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
|
"rules": {
|
|
"@nx/enforce-module-boundaries": [
|
|
"warn",
|
|
{
|
|
"enforceBuildableLibDependency": true,
|
|
"allow": [],
|
|
"depConstraints": [
|
|
{
|
|
"sourceTag": "*",
|
|
"onlyDependOnLibsWithTags": ["*"]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"@typescript-eslint/no-extra-semi": "error",
|
|
"no-extra-semi": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": ["*.ts", "*.tsx"],
|
|
"extends": ["plugin:@nx/typescript"]
|
|
},
|
|
{
|
|
"files": ["*.js", "*.jsx"],
|
|
"extends": ["plugin:@nx/javascript"]
|
|
},
|
|
{
|
|
"files": ["*.ts"],
|
|
"plugins": ["eslint-plugin-import", "@typescript-eslint"],
|
|
"extends": [
|
|
"plugin:@typescript-eslint/recommended-type-checked",
|
|
"plugin:@typescript-eslint/stylistic-type-checked"
|
|
],
|
|
"rules": {
|
|
"@typescript-eslint/dot-notation": "off",
|
|
"@typescript-eslint/explicit-member-accessibility": [
|
|
"off",
|
|
{
|
|
"accessibility": "explicit"
|
|
}
|
|
],
|
|
"@typescript-eslint/member-ordering": "warn",
|
|
"@typescript-eslint/naming-convention": [
|
|
"off",
|
|
{
|
|
"selector": "default",
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "allow",
|
|
"trailingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": ["variable", "classProperty", "typeProperty"],
|
|
"format": ["camelCase", "UPPER_CASE"],
|
|
"leadingUnderscore": "allow",
|
|
"trailingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": "objectLiteralProperty",
|
|
"format": null
|
|
},
|
|
{
|
|
"selector": "enumMember",
|
|
"format": ["camelCase", "UPPER_CASE", "PascalCase"]
|
|
},
|
|
{
|
|
"selector": "typeLike",
|
|
"format": ["PascalCase"]
|
|
}
|
|
],
|
|
"@typescript-eslint/no-empty-interface": "warn",
|
|
"@typescript-eslint/no-inferrable-types": [
|
|
"warn",
|
|
{
|
|
"ignoreParameters": true
|
|
}
|
|
],
|
|
"@typescript-eslint/no-non-null-assertion": "warn",
|
|
"@typescript-eslint/no-shadow": [
|
|
"warn",
|
|
{
|
|
"hoist": "all"
|
|
}
|
|
],
|
|
"@typescript-eslint/unified-signatures": "error",
|
|
"@typescript-eslint/no-loss-of-precision": "warn",
|
|
"@typescript-eslint/no-var-requires": "warn",
|
|
"@typescript-eslint/ban-types": "warn",
|
|
"arrow-body-style": "off",
|
|
"constructor-super": "error",
|
|
"eqeqeq": ["error", "smart"],
|
|
"guard-for-in": "warn",
|
|
"id-blacklist": "off",
|
|
"id-match": "off",
|
|
"import/no-deprecated": "warn",
|
|
"no-bitwise": "error",
|
|
"no-caller": "error",
|
|
"no-debugger": "error",
|
|
"no-empty": "off",
|
|
"no-eval": "error",
|
|
"no-fallthrough": "error",
|
|
"no-new-wrappers": "error",
|
|
"no-restricted-imports": ["error", "rxjs/Rx"],
|
|
"no-undef-init": "error",
|
|
"no-underscore-dangle": "off",
|
|
"no-var": "error",
|
|
"radix": "error",
|
|
"no-unsafe-optional-chaining": "warn",
|
|
"no-extra-boolean-cast": "warn",
|
|
"no-empty-pattern": "warn",
|
|
"no-useless-catch": "warn",
|
|
"no-unsafe-finally": "warn",
|
|
"no-prototype-builtins": "warn",
|
|
"no-async-promise-executor": "warn",
|
|
"no-constant-condition": "warn",
|
|
|
|
// The following rules are part of @typescript-eslint/recommended-type-checked
|
|
// and can be remove once solved
|
|
"@typescript-eslint/await-thenable": "warn",
|
|
"@typescript-eslint/ban-ts-comment": "warn",
|
|
"@typescript-eslint/no-base-to-string": "warn",
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-floating-promises": "warn",
|
|
"@typescript-eslint/no-misused-promises": "warn",
|
|
"@typescript-eslint/no-redundant-type-constituents": "warn",
|
|
"@typescript-eslint/no-unnecessary-type-assertion": "warn",
|
|
"@typescript-eslint/no-unsafe-argument": "warn",
|
|
"@typescript-eslint/no-unsafe-assignment": "warn",
|
|
"@typescript-eslint/no-unsafe-enum-comparison": "warn",
|
|
"@typescript-eslint/no-unsafe-member-access": "warn",
|
|
"@typescript-eslint/no-unsafe-return": "warn",
|
|
"@typescript-eslint/no-unsafe-call": "warn",
|
|
"@typescript-eslint/require-await": "warn",
|
|
"@typescript-eslint/restrict-template-expressions": "warn",
|
|
"@typescript-eslint/unbound-method": "warn",
|
|
|
|
// The following rules are part of @typescript-eslint/stylistic-type-checked
|
|
// and can be remove once solved
|
|
"@typescript-eslint/consistent-type-definitions": "warn",
|
|
"@typescript-eslint/prefer-function-type": "warn",
|
|
"@typescript-eslint/no-empty-function": "warn",
|
|
"@typescript-eslint/prefer-nullish-coalescing": "warn", // TODO: Requires strictNullChecks: true
|
|
"@typescript-eslint/consistent-type-assertions": "warn",
|
|
"@typescript-eslint/prefer-optional-chain": "warn",
|
|
"@typescript-eslint/consistent-indexed-object-style": "warn",
|
|
"@typescript-eslint/consistent-generic-constructors": "warn"
|
|
}
|
|
}
|
|
],
|
|
"extends": ["plugin:storybook/recommended"]
|
|
}
|