@chris.araneo/eslint-config 0.0.10 → 0.0.12

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
@@ -1,7 +1,110 @@
1
- import typescript from "./typescript";
2
- import template from "./template";
3
-
4
1
  export default {
5
- typescript,
6
- template,
2
+ typescript: {
3
+ extends: [
4
+ "plugin:@typescript-eslint/recommended",
5
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
6
+ "plugin:@typescript-eslint/strict",
7
+ "plugin:@angular-eslint/recommended",
8
+ "plugin:@angular-eslint/template/process-inline-templates",
9
+ ],
10
+ rules: {
11
+ "@angular-eslint/component-class-suffix": [
12
+ "error",
13
+ { suffixes: ["Component", "Modal", "Page"] },
14
+ ],
15
+ "@angular-eslint/component-max-inline-declarations": "error",
16
+ "@angular-eslint/component-selector": [
17
+ "error",
18
+ { type: "element", style: "kebab-case" },
19
+ ],
20
+ "@angular-eslint/consistent-component-styles": "error",
21
+ "@angular-eslint/contextual-decorator": "error",
22
+ "@angular-eslint/contextual-lifecycle": "error",
23
+ "@angular-eslint/directive-class-suffix": "error",
24
+ "@angular-eslint/directive-selector": [
25
+ "error",
26
+ { type: "attribute", style: "camelCase" },
27
+ ],
28
+ "@angular-eslint/no-async-lifecycle-method": "error",
29
+ "@angular-eslint/no-attribute-decorator": "error",
30
+ "@angular-eslint/no-conflicting-lifecycle": "error",
31
+ "@angular-eslint/no-empty-lifecycle-method": "error",
32
+ "@angular-eslint/no-forward-ref": "error",
33
+ "@angular-eslint/no-input-prefix": ["error", { prefixes: ["on"] }],
34
+ "@angular-eslint/no-input-rename": "error",
35
+ "@angular-eslint/no-inputs-metadata-property": "error",
36
+ "@angular-eslint/no-lifecycle-call": "error",
37
+ "@angular-eslint/no-output-native": "error",
38
+ "@angular-eslint/no-output-on-prefix": "error",
39
+ "@angular-eslint/no-output-rename": "error",
40
+ "@angular-eslint/no-outputs-metadata-property": "error",
41
+ "@angular-eslint/no-pipe-impure": "error",
42
+ "@angular-eslint/no-queries-metadata-property": "error",
43
+ "@angular-eslint/prefer-output-readonly": "error",
44
+ "@angular-eslint/prefer-standalone": "error",
45
+ "@angular-eslint/relative-url-prefix": "error",
46
+ "@angular-eslint/sort-lifecycle-methods": "error",
47
+ "@angular-eslint/sort-ngmodule-metadata-arrays": "error",
48
+ "@angular-eslint/use-component-view-encapsulation": "error",
49
+ "@angular-eslint/use-injectable-provided-in": "error",
50
+ "@angular-eslint/use-lifecycle-interface": "error",
51
+ "@angular-eslint/use-pipe-transform-interface": "error",
52
+ "@typescript-eslint/return-await": "error",
53
+ "@typescript-eslint/lines-between-class-members": [
54
+ "error",
55
+ "always",
56
+ { exceptAfterSingleLine: true },
57
+ ],
58
+ "@typescript-eslint/member-ordering": "error",
59
+ "@typescript-eslint/no-explicit-any": "off",
60
+ "@typescript-eslint/no-extraneous-class": [
61
+ "error",
62
+ { allowEmpty: true, allowStaticOnly: true },
63
+ ],
64
+ "@typescript-eslint/no-misused-promises": [
65
+ "error",
66
+ { checksVoidReturn: false },
67
+ ],
68
+ "@typescript-eslint/no-non-null-assertion": "off",
69
+ "@typescript-eslint/prefer-destructuring": "error",
70
+ "@typescript-eslint/prefer-optional-chain": "error",
71
+ "@typescript-eslint/sort-type-constituents": "error",
72
+ "@typescript-eslint/unbound-method": ["error", { ignoreStatic: true }],
73
+ },
74
+ },
75
+ template: {
76
+ extends: ["plugin:@angular-eslint/template/recommended"],
77
+ rules: {
78
+ "@angular-eslint/template/attributes-order": [
79
+ "error",
80
+ { alphabetical: true },
81
+ ],
82
+ "@angular-eslint/template/banana-in-box": "error",
83
+ "@angular-eslint/template/conditional-complexity": "error",
84
+ "@angular-eslint/template/cyclomatic-complexity": [
85
+ "error",
86
+ { maxComplexity: 10 },
87
+ ],
88
+ "@angular-eslint/template/elements-content": "error",
89
+ "@angular-eslint/template/eqeqeq": "error",
90
+ "@angular-eslint/template/label-has-associated-control": "error",
91
+ "@angular-eslint/template/mouse-events-have-key-events": "error",
92
+ "@angular-eslint/template/no-any": "error",
93
+ "@angular-eslint/template/no-autofocus": "error",
94
+ "@angular-eslint/template/no-call-expression": "error",
95
+ "@angular-eslint/template/no-distracting-elements": "error",
96
+ "@angular-eslint/template/no-duplicate-attributes": "error",
97
+ "@angular-eslint/template/no-interpolation-in-attributes": "error",
98
+ "@angular-eslint/template/no-negated-async": "error",
99
+ "@angular-eslint/template/no-positive-tabindex": "error",
100
+ "@angular-eslint/template/prefer-self-closing-tags": "error",
101
+ "@angular-eslint/template/role-has-required-aria": "error",
102
+ "@angular-eslint/template/table-scope": "error",
103
+ "@angular-eslint/template/use-track-by-function": [
104
+ "error",
105
+ { alias: ["ngForTrackByIndex", "ngForTrackByProperty"] },
106
+ ],
107
+ "@angular-eslint/template/valid-aria": "error",
108
+ },
109
+ },
7
110
  };
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.12",
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
- };