@chris.araneo/eslint-config 0.0.12 → 0.0.13

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