aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/.eslintrc.json
blob: c5685b9dc1b2d3c864d126af7780c8fdfc1bf8ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
{
  "root": true,
  "ignorePatterns": [
    "projects/**/*",
    "node_modules/",
    "src/standalone/embed-player-api/dist"
  ],
  "overrides": [
    {
      "files": [
        "*.ts"
      ],
      "parserOptions": {
        "project": [
          "tsconfig.eslint.json"
        ],
        "createDefaultProgram": false
      },
      "extends": [
        "../.eslintrc.json",
        "plugin:@angular-eslint/recommended",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {
        "jsdoc/newline-after-description": "off",
        "jsdoc/check-alignment": "off",
        "lines-between-class-members": "off",
        "@typescript-eslint/lines-between-class-members": [ "off" ],
        "arrow-body-style": "off",
        "import/no-webpack-loader-syntax": "off",
        "no-underscore-dangle": "off",
        "n/no-callback-literal": "off",
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": [ "element", "attribute" ],
            "prefix": "my",
            "style": "kebab-case"
          }
        ],
        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": [ "element", "attribute" ],
            "prefix": "my",
            "style": "camelCase"
          }
        ],
        "@typescript-eslint/no-this-alias": [
          "error",
          {
            "allowDestructuring": true,
            "allowedNames": ["self", "player"]
          }
        ],
        "@typescript-eslint/prefer-readonly": "off",
        "@angular-eslint/use-component-view-encapsulation": "error",
        "prefer-arrow/prefer-arrow-functions": "off",
        "@typescript-eslint/await-thenable": "error",
        "@typescript-eslint/consistent-type-definitions": "off",
        "@typescript-eslint/dot-notation": "off",
        "@typescript-eslint/explicit-member-accessibility": [
          "off",
          {
            "accessibility": "explicit"
          }
        ],
        "@typescript-eslint/member-ordering": [
          "off"
        ],
        "@typescript-eslint/member-delimiter-style": [
          "error",
          {
            "multiline": {
              "delimiter": "none",
              "requireLast": true
            },
            "singleline": {
              "delimiter": "comma",
              "requireLast": false
            }
          }
        ],
        "@typescript-eslint/prefer-for-of": "off",
        "@typescript-eslint/no-empty-function": "error",
        "@typescript-eslint/no-floating-promises": "off",
        "@typescript-eslint/no-inferrable-types": "error",
        "@typescript-eslint/no-shadow": [
          "off",
          {
            "hoist": "all"
          }
        ],
        "@typescript-eslint/no-unnecessary-qualifier": "error",
        "@typescript-eslint/no-unnecessary-type-assertion": "error",
        "@typescript-eslint/no-unused-expressions": [
          "error",
          {
            "allowTaggedTemplates": true,
            "allowShortCircuit": true
          }
        ],
        "@typescript-eslint/quotes": [
          "error",
          "single",
          {
            "avoidEscape": true,
            "allowTemplateLiterals": true
          }
        ],
        "@typescript-eslint/semi": [
          "error",
          "never"
        ],
        "brace-style": [
          "error",
          "1tbs"
        ],
        "comma-dangle": "error",
        "curly": [
          "error",
          "multi-line"
        ],
        "dot-notation": "off",
        "no-useless-return": "off",
        "indent": "off",
        "no-bitwise": "off",
        "no-console": "off",
        "no-return-assign": "off",
        "no-constant-condition": "error",
        "no-control-regex": "error",
        "no-duplicate-imports": "error",
        "no-empty": "error",
        "no-empty-function": [
          "error",
          { "allow": [ "constructors" ] }
        ],
        "no-invalid-regexp": "error",
        "no-multiple-empty-lines": "error",
        "no-redeclare": "error",
        "no-regex-spaces": "error",
        "no-return-await": "error",
        "no-shadow": "off",
        "no-unused-expressions": "error",
        "semi": "error",
        "space-before-function-paren": [
          "error",
          "always"
        ],
        "space-in-parens": [
          "error",
          "never"
        ],
        "object-shorthand": [
          "error",
          "properties"
        ],
        "quote-props": [
          "error",
          "consistent-as-needed"
        ]
      }
    },
    {
      "files": [
        "*.html"
      ],
      "extends": [
        "plugin:@angular-eslint/template/recommended",
        "plugin:@angular-eslint/template/accessibility"
      ],
      "rules": {}
    }
  ]
}