204 lines
6.5 KiB
JSON
204 lines
6.5 KiB
JSON
{
|
|
"root": true,
|
|
"ignorePatterns": ["**/*"],
|
|
"plugins": ["@nrwl/nx"],
|
|
"overrides": [
|
|
{
|
|
"files": ["*.ts"],
|
|
"rules": {
|
|
"@nrwl/nx/enforce-module-boundaries": [
|
|
"error",
|
|
{
|
|
"enforceBuildableLibDependency": true,
|
|
"allow": [
|
|
"@redaction/red-cache",
|
|
"@services/**",
|
|
"@components/**",
|
|
"@guards/**",
|
|
"@i18n/**",
|
|
"@utils/**",
|
|
"@models/**",
|
|
"@environments/**",
|
|
"@shared/**",
|
|
"@upload-download/**",
|
|
"@translations/**"
|
|
],
|
|
"depConstraints": [
|
|
{
|
|
"sourceTag": "*",
|
|
"onlyDependOnLibsWithTags": ["*"]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"files": ["*.ts"],
|
|
"extends": ["plugin:@nrwl/nx/typescript"]
|
|
},
|
|
{
|
|
"files": ["*.ts"],
|
|
"extends": [
|
|
"plugin:@nrwl/nx/angular",
|
|
"plugin:import/recommended",
|
|
"airbnb-typescript/base",
|
|
"eslint:recommended",
|
|
"plugin:@angular-eslint/recommended",
|
|
"plugin:@angular-eslint/recommended--extra",
|
|
"plugin:@angular-eslint/template/process-inline-templates",
|
|
"plugin:prettier/recommended"
|
|
],
|
|
"rules": {
|
|
"@angular-eslint/no-conflicting-lifecycle": "error",
|
|
"@angular-eslint/no-host-metadata-property": "error",
|
|
"@angular-eslint/no-input-rename": "error",
|
|
"@angular-eslint/no-inputs-metadata-property": "error",
|
|
"@angular-eslint/no-output-native": "error",
|
|
"@angular-eslint/no-output-on-prefix": "error",
|
|
"@angular-eslint/no-output-rename": "error",
|
|
"@angular-eslint/no-outputs-metadata-property": "error",
|
|
"@angular-eslint/use-lifecycle-interface": "error",
|
|
"@angular-eslint/use-pipe-transform-interface": "error",
|
|
"@typescript-eslint/consistent-type-definitions": "error",
|
|
"@typescript-eslint/dot-notation": "off",
|
|
"@typescript-eslint/no-unsafe-call": "off",
|
|
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
"@typescript-eslint/no-unsafe-return": "off",
|
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
"@typescript-eslint/no-misused-promises": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"@typescript-eslint/indent": "off",
|
|
"@typescript-eslint/lines-between-class-members": "off",
|
|
"@typescript-eslint/ban-types": "off",
|
|
"@typescript-eslint/explicit-member-accessibility": [
|
|
"error",
|
|
{
|
|
"accessibility": "no-public"
|
|
}
|
|
],
|
|
"@typescript-eslint/member-ordering": "error",
|
|
"@typescript-eslint/naming-convention": [
|
|
"error",
|
|
{
|
|
"selector": "memberLike",
|
|
"modifiers": ["readonly"],
|
|
"format": ["UPPER_CASE", "camelCase"]
|
|
},
|
|
{
|
|
"selector": "enumMember",
|
|
"format": ["UPPER_CASE"]
|
|
},
|
|
{
|
|
"selector": "memberLike",
|
|
"modifiers": ["private"],
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": "memberLike",
|
|
"modifiers": ["protected"],
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": "memberLike",
|
|
"modifiers": ["private", "readonly"],
|
|
"format": ["UPPER_CASE", "camelCase"],
|
|
"leadingUnderscore": "allow"
|
|
}
|
|
],
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
"@typescript-eslint/no-empty-interface": "error",
|
|
"@typescript-eslint/no-inferrable-types": [
|
|
"error",
|
|
{
|
|
"ignoreParameters": true
|
|
}
|
|
],
|
|
"@typescript-eslint/no-misused-new": "error",
|
|
"@typescript-eslint/no-non-null-assertion": "error",
|
|
"@typescript-eslint/no-shadow": [
|
|
"error",
|
|
{
|
|
"hoist": "all"
|
|
}
|
|
],
|
|
"@typescript-eslint/no-unused-expressions": "error",
|
|
"@typescript-eslint/prefer-function-type": "error",
|
|
"@typescript-eslint/unified-signatures": "error",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-floating-promises": "off",
|
|
"@typescript-eslint/unbound-method": "off",
|
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
"arrow-body-style": "error",
|
|
"arrow-parens": ["error", "as-needed"],
|
|
"constructor-super": "error",
|
|
"eqeqeq": ["error", "smart"],
|
|
"guard-for-in": "error",
|
|
"id-blacklist": "off",
|
|
"id-match": "off",
|
|
"import/prefer-default-export": "off",
|
|
"import/no-deprecated": "warn",
|
|
"import/no-extraneous-dependencies": "off",
|
|
"no-bitwise": "error",
|
|
"no-caller": "error",
|
|
"no-console": "off",
|
|
"no-debugger": "error",
|
|
"no-empty": "off",
|
|
"no-eval": "error",
|
|
"no-fallthrough": "error",
|
|
"no-new-wrappers": "error",
|
|
"no-restricted-imports": ["error", "rxjs/Rx"],
|
|
"no-throw-literal": "error",
|
|
"no-undef-init": "error",
|
|
"no-underscore-dangle": "off",
|
|
"no-var": "error",
|
|
"no-else-return": "error",
|
|
"prefer-const": "error",
|
|
"radix": "error",
|
|
"curly": "error",
|
|
"class-methods-use-this": "off",
|
|
"quotes": ["error", "single"],
|
|
"comma-dangle": [
|
|
"error",
|
|
{
|
|
"arrays": "always-multiline",
|
|
"objects": "always-multiline",
|
|
"imports": "always-multiline",
|
|
"exports": "always-multiline",
|
|
"functions": "always-multiline"
|
|
}
|
|
],
|
|
"max-len": [
|
|
"error",
|
|
{
|
|
"code": 140,
|
|
"tabWidth": 4,
|
|
"ignoreComments": true,
|
|
"ignorePattern": "^import .*"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"files": ["*.html"],
|
|
"extends": ["plugin:@nrwl/nx/angular-template", "plugin:@angular-eslint/template/recommended"]
|
|
},
|
|
{
|
|
// https://github.com/angular-eslint/angular-eslint#notes-for-eslint-plugin-prettier-users
|
|
"files": ["*.html"],
|
|
"excludedFiles": ["*inline-template-*.component.html"],
|
|
"extends": ["plugin:prettier/recommended"],
|
|
"rules": {
|
|
"prettier/prettier": [
|
|
"error",
|
|
{
|
|
"parser": "angular"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|