207 lines
6.0 KiB
JSON
207 lines
6.0 KiB
JSON
{
|
|
"root": true,
|
|
"ignorePatterns": ["**/*"],
|
|
"plugins": ["@nrwl/nx"],
|
|
"overrides": [
|
|
{
|
|
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
|
"rules": {
|
|
"@nrwl/nx/enforce-module-boundaries": [
|
|
"error",
|
|
{
|
|
"enforceBuildableLibDependency": true,
|
|
"allow": [
|
|
"@redaction/red-ui-http",
|
|
"@redaction/red-cache",
|
|
"@services/**",
|
|
"@components/**",
|
|
"@guards/**",
|
|
"@i18n/**",
|
|
"@state/**",
|
|
"@utils/**",
|
|
"@models/**",
|
|
"@environments/**",
|
|
"@shared/**",
|
|
"@app-config/**",
|
|
"@upload-download/**"
|
|
],
|
|
"depConstraints": [
|
|
{
|
|
"sourceTag": "*",
|
|
"onlyDependOnLibsWithTags": ["*"]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"files": ["*.ts", "*.tsx"],
|
|
"extends": ["plugin:@nrwl/nx/typescript"],
|
|
"rules": {}
|
|
},
|
|
{
|
|
"files": ["*.js", "*.jsx"],
|
|
"extends": ["plugin:@nrwl/nx/javascript"],
|
|
"rules": {}
|
|
},
|
|
{
|
|
"files": ["*.ts"],
|
|
"rules": {
|
|
"@angular-eslint/component-selector": [
|
|
"error",
|
|
{
|
|
"type": "element",
|
|
"prefix": "app",
|
|
"style": "kebab-case"
|
|
}
|
|
],
|
|
"@angular-eslint/directive-selector": [
|
|
"error",
|
|
{
|
|
"type": "attribute",
|
|
"prefix": "app",
|
|
"style": "camelCase"
|
|
}
|
|
],
|
|
"@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-explicit-any": "off",
|
|
"@typescript-eslint/ban-types": "off",
|
|
"@typescript-eslint/explicit-member-accessibility": [
|
|
"warn",
|
|
{
|
|
"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": "require"
|
|
},
|
|
{
|
|
"selector": "memberLike",
|
|
"modifiers": ["protected"],
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "require"
|
|
},
|
|
{
|
|
"selector": "memberLike",
|
|
"modifiers": ["private", "readonly"],
|
|
"format": ["UPPER_CASE", "camelCase"],
|
|
"leadingUnderscore": "require"
|
|
}
|
|
],
|
|
"@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",
|
|
"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/no-deprecated": "warn",
|
|
"no-bitwise": "error",
|
|
"no-caller": "error",
|
|
"no-console": [
|
|
"error",
|
|
{
|
|
"allow": [
|
|
"log",
|
|
"warn",
|
|
"dir",
|
|
"timeLog",
|
|
"assert",
|
|
"clear",
|
|
"count",
|
|
"countReset",
|
|
"group",
|
|
"groupEnd",
|
|
"table",
|
|
"dirxml",
|
|
"error",
|
|
"groupCollapsed",
|
|
"Console",
|
|
"profile",
|
|
"profileEnd",
|
|
"timeStamp",
|
|
"context"
|
|
]
|
|
}
|
|
],
|
|
"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",
|
|
"prefer-const": "error",
|
|
"radix": "error",
|
|
"max-len": [
|
|
"error",
|
|
{
|
|
"code": 140,
|
|
"tabWidth": 4,
|
|
"ignorePattern": "^import .*"
|
|
}
|
|
]
|
|
},
|
|
"plugins": ["eslint-plugin-import", "@angular-eslint/eslint-plugin", "@typescript-eslint"]
|
|
},
|
|
{
|
|
"files": ["*.html"],
|
|
"rules": {
|
|
"@angular-eslint/template/banana-in-box": "error",
|
|
"@angular-eslint/template/no-negated-async": "error",
|
|
"@angular-eslint/template/eqeqeq": "error"
|
|
},
|
|
"plugins": ["@angular-eslint/eslint-plugin-template"]
|
|
}
|
|
]
|
|
}
|