@chris.araneo/eslint-config 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -2,6 +2,112 @@ import typescript from "./typescript";
2
2
  import template from "./template";
3
3
 
4
4
  export default {
5
- typescript,
6
- template,
5
+ typescript: {
6
+ extends: [
7
+ "plugin:@typescript-eslint/recommended",
8
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
9
+ "plugin:@typescript-eslint/strict",
10
+ "plugin:@angular-eslint/recommended",
11
+ "plugin:@angular-eslint/template/process-inline-templates",
12
+ ],
13
+ rules: {
14
+ "@angular-eslint/component-class-suffix": [
15
+ "error",
16
+ { suffixes: ["Component", "Modal", "Page"] },
17
+ ],
18
+ "@angular-eslint/component-max-inline-declarations": "error",
19
+ "@angular-eslint/component-selector": [
20
+ "error",
21
+ { type: "element", style: "kebab-case" },
22
+ ],
23
+ "@angular-eslint/consistent-component-styles": "error",
24
+ "@angular-eslint/contextual-decorator": "error",
25
+ "@angular-eslint/contextual-lifecycle": "error",
26
+ "@angular-eslint/directive-class-suffix": "error",
27
+ "@angular-eslint/directive-selector": [
28
+ "error",
29
+ { type: "attribute", style: "camelCase" },
30
+ ],
31
+ "@angular-eslint/no-async-lifecycle-method": "error",
32
+ "@angular-eslint/no-attribute-decorator": "error",
33
+ "@angular-eslint/no-conflicting-lifecycle": "error",
34
+ "@angular-eslint/no-empty-lifecycle-method": "error",
35
+ "@angular-eslint/no-forward-ref": "error",
36
+ "@angular-eslint/no-input-prefix": ["error", { prefixes: ["on"] }],
37
+ "@angular-eslint/no-input-rename": "error",
38
+ "@angular-eslint/no-inputs-metadata-property": "error",
39
+ "@angular-eslint/no-lifecycle-call": "error",
40
+ "@angular-eslint/no-output-native": "error",
41
+ "@angular-eslint/no-output-on-prefix": "error",
42
+ "@angular-eslint/no-output-rename": "error",
43
+ "@angular-eslint/no-outputs-metadata-property": "error",
44
+ "@angular-eslint/no-pipe-impure": "error",
45
+ "@angular-eslint/no-queries-metadata-property": "error",
46
+ "@angular-eslint/prefer-output-readonly": "error",
47
+ "@angular-eslint/prefer-standalone": "error",
48
+ "@angular-eslint/relative-url-prefix": "error",
49
+ "@angular-eslint/sort-lifecycle-methods": "error",
50
+ "@angular-eslint/sort-ngmodule-metadata-arrays": "error",
51
+ "@angular-eslint/use-component-view-encapsulation": "error",
52
+ "@angular-eslint/use-injectable-provided-in": "error",
53
+ "@angular-eslint/use-lifecycle-interface": "error",
54
+ "@angular-eslint/use-pipe-transform-interface": "error",
55
+ "@typescript-eslint/return-await": "error",
56
+ "@typescript-eslint/lines-between-class-members": [
57
+ "error",
58
+ "always",
59
+ { exceptAfterSingleLine: true },
60
+ ],
61
+ "@typescript-eslint/member-ordering": "error",
62
+ "@typescript-eslint/no-explicit-any": "off",
63
+ "@typescript-eslint/no-extraneous-class": [
64
+ "error",
65
+ { allowEmpty: true, allowStaticOnly: true },
66
+ ],
67
+ "@typescript-eslint/no-misused-promises": [
68
+ "error",
69
+ { checksVoidReturn: false },
70
+ ],
71
+ "@typescript-eslint/no-non-null-assertion": "off",
72
+ "@typescript-eslint/prefer-destructuring": "error",
73
+ "@typescript-eslint/prefer-optional-chain": "error",
74
+ "@typescript-eslint/sort-type-constituents": "error",
75
+ "@typescript-eslint/unbound-method": ["error", { ignoreStatic: true }],
76
+ },
77
+ },
78
+ template: {
79
+ extends: ["plugin:@angular-eslint/template/recommended"],
80
+ rules: {
81
+ "@angular-eslint/template/attributes-order": [
82
+ "error",
83
+ { alphabetical: true },
84
+ ],
85
+ "@angular-eslint/template/banana-in-box": "error",
86
+ "@angular-eslint/template/conditional-complexity": "error",
87
+ "@angular-eslint/template/cyclomatic-complexity": [
88
+ "error",
89
+ { maxComplexity: 10 },
90
+ ],
91
+ "@angular-eslint/template/elements-content": "error",
92
+ "@angular-eslint/template/eqeqeq": "error",
93
+ "@angular-eslint/template/label-has-associated-control": "error",
94
+ "@angular-eslint/template/mouse-events-have-key-events": "error",
95
+ "@angular-eslint/template/no-any": "error",
96
+ "@angular-eslint/template/no-autofocus": "error",
97
+ "@angular-eslint/template/no-call-expression": "error",
98
+ "@angular-eslint/template/no-distracting-elements": "error",
99
+ "@angular-eslint/template/no-duplicate-attributes": "error",
100
+ "@angular-eslint/template/no-interpolation-in-attributes": "error",
101
+ "@angular-eslint/template/no-negated-async": "error",
102
+ "@angular-eslint/template/no-positive-tabindex": "error",
103
+ "@angular-eslint/template/prefer-self-closing-tags": "error",
104
+ "@angular-eslint/template/role-has-required-aria": "error",
105
+ "@angular-eslint/template/table-scope": "error",
106
+ "@angular-eslint/template/use-track-by-function": [
107
+ "error",
108
+ { alias: ["ngForTrackByIndex", "ngForTrackByProperty"] },
109
+ ],
110
+ "@angular-eslint/template/valid-aria": "error",
111
+ },
112
+ },
7
113
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chris.araneo/eslint-config",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "eslint",
@@ -14,16 +14,9 @@
14
14
  "license": "MIT",
15
15
  "author": "Krzysztof Pająk (Chris Araneo) <chris.araneo@gmail.com>",
16
16
  "type": "module",
17
- "exports": {
18
- ".": "./index.js",
19
- "./typescript": "./typescript.js",
20
- "./template": "./template.js"
21
- },
22
17
  "main": "./index.js",
23
18
  "files": [
24
- "./index.js",
25
- "./typescript.js",
26
- "./template.js"
19
+ "./index.js"
27
20
  ],
28
21
  "scripts": {
29
22
  "format": "npx sort-package-json"
package/template.js DELETED
@@ -1,35 +0,0 @@
1
- export default {
2
- extends: ["plugin:@angular-eslint/template/recommended"],
3
- rules: {
4
- "@angular-eslint/template/attributes-order": [
5
- "error",
6
- { alphabetical: true },
7
- ],
8
- "@angular-eslint/template/banana-in-box": "error",
9
- "@angular-eslint/template/conditional-complexity": "error",
10
- "@angular-eslint/template/cyclomatic-complexity": [
11
- "error",
12
- { maxComplexity: 10 },
13
- ],
14
- "@angular-eslint/template/elements-content": "error",
15
- "@angular-eslint/template/eqeqeq": "error",
16
- "@angular-eslint/template/label-has-associated-control": "error",
17
- "@angular-eslint/template/mouse-events-have-key-events": "error",
18
- "@angular-eslint/template/no-any": "error",
19
- "@angular-eslint/template/no-autofocus": "error",
20
- "@angular-eslint/template/no-call-expression": "error",
21
- "@angular-eslint/template/no-distracting-elements": "error",
22
- "@angular-eslint/template/no-duplicate-attributes": "error",
23
- "@angular-eslint/template/no-interpolation-in-attributes": "error",
24
- "@angular-eslint/template/no-negated-async": "error",
25
- "@angular-eslint/template/no-positive-tabindex": "error",
26
- "@angular-eslint/template/prefer-self-closing-tags": "error",
27
- "@angular-eslint/template/role-has-required-aria": "error",
28
- "@angular-eslint/template/table-scope": "error",
29
- "@angular-eslint/template/use-track-by-function": [
30
- "error",
31
- { alias: ["ngForTrackByIndex", "ngForTrackByProperty"] },
32
- ],
33
- "@angular-eslint/template/valid-aria": "error",
34
- },
35
- };
package/typescript.js DELETED
@@ -1,73 +0,0 @@
1
- export default {
2
- extends: [
3
- "plugin:@typescript-eslint/recommended",
4
- "plugin:@typescript-eslint/recommended-requiring-type-checking",
5
- "plugin:@typescript-eslint/strict",
6
- "plugin:@angular-eslint/recommended",
7
- "plugin:@angular-eslint/template/process-inline-templates",
8
- ],
9
- rules: {
10
- "@angular-eslint/component-class-suffix": [
11
- "error",
12
- { suffixes: ["Component", "Modal", "Page"] },
13
- ],
14
- "@angular-eslint/component-max-inline-declarations": "error",
15
- "@angular-eslint/component-selector": [
16
- "error",
17
- { type: "element", style: "kebab-case" },
18
- ],
19
- "@angular-eslint/consistent-component-styles": "error",
20
- "@angular-eslint/contextual-decorator": "error",
21
- "@angular-eslint/contextual-lifecycle": "error",
22
- "@angular-eslint/directive-class-suffix": "error",
23
- "@angular-eslint/directive-selector": [
24
- "error",
25
- { type: "attribute", style: "camelCase" },
26
- ],
27
- "@angular-eslint/no-async-lifecycle-method": "error",
28
- "@angular-eslint/no-attribute-decorator": "error",
29
- "@angular-eslint/no-conflicting-lifecycle": "error",
30
- "@angular-eslint/no-empty-lifecycle-method": "error",
31
- "@angular-eslint/no-forward-ref": "error",
32
- "@angular-eslint/no-input-prefix": ["error", { prefixes: ["on"] }],
33
- "@angular-eslint/no-input-rename": "error",
34
- "@angular-eslint/no-inputs-metadata-property": "error",
35
- "@angular-eslint/no-lifecycle-call": "error",
36
- "@angular-eslint/no-output-native": "error",
37
- "@angular-eslint/no-output-on-prefix": "error",
38
- "@angular-eslint/no-output-rename": "error",
39
- "@angular-eslint/no-outputs-metadata-property": "error",
40
- "@angular-eslint/no-pipe-impure": "error",
41
- "@angular-eslint/no-queries-metadata-property": "error",
42
- "@angular-eslint/prefer-output-readonly": "error",
43
- "@angular-eslint/prefer-standalone": "error",
44
- "@angular-eslint/relative-url-prefix": "error",
45
- "@angular-eslint/sort-lifecycle-methods": "error",
46
- "@angular-eslint/sort-ngmodule-metadata-arrays": "error",
47
- "@angular-eslint/use-component-view-encapsulation": "error",
48
- "@angular-eslint/use-injectable-provided-in": "error",
49
- "@angular-eslint/use-lifecycle-interface": "error",
50
- "@angular-eslint/use-pipe-transform-interface": "error",
51
- "@typescript-eslint/return-await": "error",
52
- "@typescript-eslint/lines-between-class-members": [
53
- "error",
54
- "always",
55
- { exceptAfterSingleLine: true },
56
- ],
57
- "@typescript-eslint/member-ordering": "error",
58
- "@typescript-eslint/no-explicit-any": "off",
59
- "@typescript-eslint/no-extraneous-class": [
60
- "error",
61
- { allowEmpty: true, allowStaticOnly: true },
62
- ],
63
- "@typescript-eslint/no-misused-promises": [
64
- "error",
65
- { checksVoidReturn: false },
66
- ],
67
- "@typescript-eslint/no-non-null-assertion": "off",
68
- "@typescript-eslint/prefer-destructuring": "error",
69
- "@typescript-eslint/prefer-optional-chain": "error",
70
- "@typescript-eslint/sort-type-constituents": "error",
71
- "@typescript-eslint/unbound-method": ["error", { ignoreStatic: true }],
72
- },
73
- };