➕ Migrated to ESLint
parent
295aef9ac1
commit
4b30fc615c
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
"root": true,
|
||||
"ignorePatterns": [
|
||||
"projects/**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts"
|
||||
],
|
||||
"parserOptions": {
|
||||
"project": [
|
||||
"tsconfig.json",
|
||||
"e2e/tsconfig.json"
|
||||
],
|
||||
"createDefaultProgram": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:@angular-eslint/recommended",
|
||||
"plugin:@angular-eslint/template/process-inline-templates"
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
"type": "attribute",
|
||||
"prefix": "app",
|
||||
"style": "camelCase"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
"type": "element",
|
||||
"prefix": "app",
|
||||
"style": "kebab-case"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.html"
|
||||
],
|
||||
"extends": [
|
||||
"plugin:@angular-eslint/template/recommended"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -5,13 +5,12 @@
|
|||
"recommendations": [
|
||||
"angular.ng-template",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"editorconfig.editorconfig",
|
||||
"gitlab.gitlab-workflow",
|
||||
"hookyqr.beautify",
|
||||
"johnpapa.angular2",
|
||||
"ms-vscode.vscode-typescript-next",
|
||||
"ms-vscode.vscode-typescript-tslint-plugin",
|
||||
"visualstudioexptteam.vscodeintellicode"
|
||||
"visualstudioexptteam.vscodeintellicode",
|
||||
],
|
||||
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
|
||||
"unwantedRecommendations": [
|
||||
|
|
|
@ -15,6 +15,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
|
|||
* Upgraded to Angular 12
|
||||
* Upgraded TSLint rules
|
||||
* Updated `gateways.json`
|
||||
* Upgraded to Angular 13
|
||||
* Changed to ESLint
|
||||
|
||||
### Deprecated
|
||||
|
||||
|
|
12
angular.json
12
angular.json
|
@ -3,7 +3,8 @@
|
|||
"version": 1,
|
||||
"cli": {
|
||||
"packageManager": "yarn",
|
||||
"analytics": "10b848ad-8b81-4346-852f-5eff89573a85"
|
||||
"analytics": "10b848ad-8b81-4346-852f-5eff89573a85",
|
||||
"defaultCollection": "@angular-eslint/schematics"
|
||||
},
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
|
@ -165,6 +166,15 @@
|
|||
"devServerTarget": "public-gateway-cacher:serve:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-eslint/builder:lint",
|
||||
"options": {
|
||||
"lintFilePatterns": [
|
||||
"src/**/*.ts",
|
||||
"src/**/*.html"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
16
package.json
16
package.json
|
@ -56,13 +56,20 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~13.2.6",
|
||||
"@angular-eslint/builder": "13.1.0",
|
||||
"@angular-eslint/eslint-plugin": "13.1.0",
|
||||
"@angular-eslint/eslint-plugin-template": "13.1.0",
|
||||
"@angular-eslint/schematics": "13.1.0",
|
||||
"@angular-eslint/template-parser": "13.1.0",
|
||||
"@angular/cli": "~13.2.6",
|
||||
"@angular/compiler-cli": "~13.2.6",
|
||||
"@angular/language-service": "~13.2.6",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"codelyzer": "^6.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "5.11.0",
|
||||
"@typescript-eslint/parser": "5.11.0",
|
||||
"eslint": "^8.2.0",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~6.3.17",
|
||||
|
@ -71,13 +78,8 @@
|
|||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.5.0",
|
||||
"protractor": "~7.0.0",
|
||||
"rxjs-tslint-rules": "^4.33.3",
|
||||
"ts-node": "~8.10.2",
|
||||
"tslint": "~6.1.2",
|
||||
"tslint-consistent-codestyle": "^1.16.0",
|
||||
"tslint-origin-ordered-imports-rule": "^2.0.0",
|
||||
"tslint-rxjs-subject-restrictions-rule": "^1.0.4",
|
||||
"typescript": "~4.5.5"
|
||||
},
|
||||
"private": true
|
||||
}
|
||||
}
|
||||
|
|
324
tslint.json
324
tslint.json
|
@ -1,324 +0,0 @@
|
|||
{
|
||||
"extends": [
|
||||
"tslint:recommended",
|
||||
"rxjs-tslint-rules"
|
||||
],
|
||||
"linterOptions": {
|
||||
"exclude": [
|
||||
"**/*-routing.module.ts",
|
||||
"src/polyfills.ts",
|
||||
"src/test.ts",
|
||||
"**/*.po.ts"
|
||||
]
|
||||
},
|
||||
"rules": {
|
||||
"align": {
|
||||
"options": [
|
||||
"parameters",
|
||||
"statements"
|
||||
]
|
||||
},
|
||||
"array-type": false,
|
||||
"arrow-parens": false,
|
||||
"arrow-return-shorthand": [
|
||||
true,
|
||||
"multiline"
|
||||
],
|
||||
"ban-types": [
|
||||
true,
|
||||
[
|
||||
"Object",
|
||||
"Use {} instead."
|
||||
],
|
||||
[
|
||||
"String"
|
||||
]
|
||||
],
|
||||
"callable-types": true,
|
||||
"component-class-suffix": true,
|
||||
"component-max-inline-declarations": true,
|
||||
"component-selector": [
|
||||
true,
|
||||
"element",
|
||||
"app",
|
||||
"kebab-case"
|
||||
],
|
||||
"contextual-decorator": false,
|
||||
"contextual-lifecycle": true,
|
||||
"curly": true,
|
||||
"cyclomatic-complexity": [
|
||||
true,
|
||||
20
|
||||
],
|
||||
"deprecation": {
|
||||
"severity": "warning"
|
||||
},
|
||||
"directive-class-suffix": true,
|
||||
"directive-selector": [
|
||||
true,
|
||||
"attribute",
|
||||
"app",
|
||||
"camelCase"
|
||||
],
|
||||
"encoding": true,
|
||||
"eofline": true,
|
||||
"import-blacklist": [
|
||||
true,
|
||||
"rxjs/Rx"
|
||||
],
|
||||
"import-destructuring-spacing": true,
|
||||
"import-spacing": true,
|
||||
"increment-decrement": [
|
||||
true,
|
||||
"allow-post"
|
||||
],
|
||||
"indent": {
|
||||
"options": [
|
||||
"spaces"
|
||||
]
|
||||
},
|
||||
"interface-name": false,
|
||||
"max-classes-per-file": false,
|
||||
"max-file-line-count": [
|
||||
true,
|
||||
400
|
||||
],
|
||||
"max-line-length": [
|
||||
true,
|
||||
{
|
||||
"ignore-pattern": "^import |^export {(.*?)}|class [a-zA-Z]+ implements |// ",
|
||||
"limit": 140
|
||||
}
|
||||
],
|
||||
"member-access": false,
|
||||
"member-ordering": [
|
||||
true,
|
||||
{
|
||||
"order": [
|
||||
"public-static-field",
|
||||
"private-static-field",
|
||||
"public-instance-field",
|
||||
"private-instance-field",
|
||||
"public-constructor",
|
||||
"private-constructor",
|
||||
"public-instance-method",
|
||||
"protected-instance-method",
|
||||
"private-instance-method",
|
||||
"public-static-method",
|
||||
"protected-static-method",
|
||||
"private-static-method"
|
||||
]
|
||||
}
|
||||
],
|
||||
"newline-before-return": false,
|
||||
"no-any": [
|
||||
true,
|
||||
{
|
||||
"ignore-rest-args": true
|
||||
}
|
||||
],
|
||||
"no-arg": true,
|
||||
"no-attribute-decorator": true,
|
||||
"no-collapsible-if": true,
|
||||
"no-conflicting-lifecycle": true,
|
||||
"no-consecutive-blank-lines": [
|
||||
true,
|
||||
1
|
||||
],
|
||||
"no-console": [
|
||||
true,
|
||||
"debug",
|
||||
"info",
|
||||
"time",
|
||||
"timeEnd",
|
||||
"trace"
|
||||
],
|
||||
"no-default-export": true,
|
||||
"no-default-import": true,
|
||||
"no-duplicate-imports": true,
|
||||
"no-duplicate-super": true,
|
||||
"no-duplicate-switch-case": true,
|
||||
"no-empty": [
|
||||
true,
|
||||
"allow-empty-functions"
|
||||
],
|
||||
"no-for-in-array": true,
|
||||
"no-forward-ref": true,
|
||||
"no-host-metadata-property": true,
|
||||
"no-implicit-dependencies": [
|
||||
false,
|
||||
"dev"
|
||||
],
|
||||
"no-import-side-effect": [
|
||||
true,
|
||||
{
|
||||
"ignore-module": "(hammerjs|core-js|zone.js)"
|
||||
}
|
||||
],
|
||||
"no-inferrable-types": [
|
||||
true,
|
||||
"ignore-params"
|
||||
],
|
||||
"no-input-rename": true,
|
||||
"no-inputs-metadata-property": true,
|
||||
"no-invalid-template-strings": true,
|
||||
"no-invalid-this": [
|
||||
true,
|
||||
"check-function-in-method"
|
||||
],
|
||||
"no-lifecycle-call": true,
|
||||
"no-misused-new": true,
|
||||
"no-non-null-assertion": true,
|
||||
"no-output-native": true,
|
||||
"no-output-on-prefix": true,
|
||||
"no-output-rename": true,
|
||||
"no-outputs-metadata-property": true,
|
||||
"no-pipe-impure": true,
|
||||
"no-queries-metadata-property": true,
|
||||
"no-redundant-jsdoc": true,
|
||||
"no-reference": true,
|
||||
"no-require-imports": true,
|
||||
"no-return-await": true,
|
||||
"no-return-undefined": true,
|
||||
"no-static-this": true,
|
||||
"no-switch-case-fall-through": true,
|
||||
"no-tautology-expression": true,
|
||||
"no-this-assignment": true,
|
||||
"no-trailing-whitespace": true,
|
||||
"no-unbound-method": true,
|
||||
"no-unnecessary-callback-wrapper": true,
|
||||
"no-unnecessary-class": [
|
||||
true,
|
||||
"allow-constructor-only",
|
||||
"allow-static-only",
|
||||
"allow-empty-class"
|
||||
],
|
||||
"no-unnecessary-initializer": true,
|
||||
"no-unnecessary-type-assertion": true,
|
||||
"no-unsafe-finally": true,
|
||||
"no-unused": true,
|
||||
"no-unused-css": true,
|
||||
"no-var-keyword": true,
|
||||
"no-var-requires": false,
|
||||
"object-literal-key-quotes": [
|
||||
true,
|
||||
"as-needed"
|
||||
],
|
||||
"object-literal-sort-keys": false,
|
||||
"ordered-imports": false,
|
||||
"origin-ordered-imports": [
|
||||
true
|
||||
],
|
||||
"prefer-const": true,
|
||||
"prefer-inline-decorator": false,
|
||||
"prefer-output-readonly": true,
|
||||
"prefer-readonly": true,
|
||||
"prefer-template": true,
|
||||
"quotemark": [
|
||||
true,
|
||||
"single"
|
||||
],
|
||||
"radix": false,
|
||||
"restrict-plus-operands": true,
|
||||
"rx-subject-restrictions": true,
|
||||
"rxjs-no-compat": true,
|
||||
"rxjs-no-internal": true,
|
||||
"semicolon": {
|
||||
"options": [
|
||||
"always"
|
||||
]
|
||||
},
|
||||
"space-before-function-paren": [
|
||||
true,
|
||||
{
|
||||
"anonymous": "never",
|
||||
"asyncArrow": "always",
|
||||
"constructor": "never",
|
||||
"method": "never",
|
||||
"named": "never"
|
||||
}
|
||||
],
|
||||
"space-within-parens": true,
|
||||
"template-banana-in-box": true,
|
||||
"template-conditional-complexity": true,
|
||||
"template-no-call-expression": true,
|
||||
"template-no-negated-async": true,
|
||||
"template-use-track-by-function": true,
|
||||
"trailing-comma": [
|
||||
true,
|
||||
{
|
||||
"esSpecCompliant": true,
|
||||
"multiline": {
|
||||
"arrays": "ignore",
|
||||
"functions": "never",
|
||||
"objects": "ignore",
|
||||
"typeLiterals": "ignore"
|
||||
}
|
||||
}
|
||||
],
|
||||
"triple-equals": [
|
||||
true,
|
||||
"allow-null-check"
|
||||
],
|
||||
"typedef": [
|
||||
true,
|
||||
"call-signature",
|
||||
"property-declaration",
|
||||
"object-destructuring",
|
||||
"arrow-call-signature"
|
||||
],
|
||||
"typedef-whitespace": {
|
||||
"options": [
|
||||
{
|
||||
"call-signature": "nospace",
|
||||
"index-signature": "nospace",
|
||||
"parameter": "nospace",
|
||||
"property-declaration": "nospace",
|
||||
"variable-declaration": "nospace"
|
||||
},
|
||||
{
|
||||
"call-signature": "onespace",
|
||||
"index-signature": "onespace",
|
||||
"parameter": "onespace",
|
||||
"property-declaration": "onespace",
|
||||
"variable-declaration": "onespace"
|
||||
}
|
||||
]
|
||||
},
|
||||
"unnecessary-else": [
|
||||
true,
|
||||
{
|
||||
"allow-else-if": true
|
||||
}
|
||||
],
|
||||
"use-component-view-encapsulation": true,
|
||||
"use-isnan": true,
|
||||
"use-lifecycle-interface": true,
|
||||
"use-pipe-decorator": true,
|
||||
"use-pipe-transform-interface": true,
|
||||
"variable-name": {
|
||||
"options": [
|
||||
"ban-keywords",
|
||||
"check-format",
|
||||
"allow-leading-underscore",
|
||||
"allow-pascal-case"
|
||||
]
|
||||
},
|
||||
"whitespace": {
|
||||
"options": [
|
||||
"check-branch",
|
||||
"check-decl",
|
||||
"check-operator",
|
||||
"check-separator",
|
||||
"check-type",
|
||||
"check-typecast"
|
||||
]
|
||||
}
|
||||
},
|
||||
"rulesDirectory": [
|
||||
"codelyzer",
|
||||
"node_modules/tslint-origin-ordered-imports-rule/dist",
|
||||
"node_modules/tslint-rxjs-subject-restrictions-rule/dist",
|
||||
"node_modules/tslint-consistent-codestyle/rules"
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue