@chris.araneo/eslint-config 0.0.8 → 0.0.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chris.araneo/eslint-config",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "eslint",
@@ -14,9 +14,16 @@
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
+ },
17
22
  "main": "./index.js",
18
23
  "files": [
19
- "./index.js"
24
+ "./index.js",
25
+ "./typescript.js",
26
+ "./template.js"
20
27
  ],
21
28
  "scripts": {
22
29
  "format": "npx sort-package-json"
package/template.js ADDED
@@ -0,0 +1,35 @@
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 ADDED
@@ -0,0 +1,73 @@
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
+ };