code.gitea.io/gitea@v1.22.3/.eslintrc.yaml (about) 1 root: true 2 reportUnusedDisableDirectives: true 3 4 ignorePatterns: 5 - /web_src/js/vendor 6 - /web_src/fomantic 7 8 parserOptions: 9 sourceType: module 10 ecmaVersion: latest 11 12 plugins: 13 - "@eslint-community/eslint-plugin-eslint-comments" 14 - "@stylistic/eslint-plugin-js" 15 - eslint-plugin-array-func 16 - eslint-plugin-github 17 - eslint-plugin-i 18 - eslint-plugin-jquery 19 - eslint-plugin-no-jquery 20 - eslint-plugin-no-use-extend-native 21 - eslint-plugin-regexp 22 - eslint-plugin-sonarjs 23 - eslint-plugin-unicorn 24 - eslint-plugin-vitest 25 - eslint-plugin-vitest-globals 26 - eslint-plugin-wc 27 28 env: 29 es2024: true 30 node: true 31 32 overrides: 33 - files: ["web_src/**/*"] 34 globals: 35 __webpack_public_path__: true 36 process: false # https://github.com/webpack/webpack/issues/15833 37 - files: ["web_src/**/*", "docs/**/*"] 38 env: 39 browser: true 40 node: false 41 - files: ["web_src/**/*worker.*"] 42 env: 43 worker: true 44 rules: 45 no-restricted-globals: [2, addEventListener, blur, close, closed, confirm, defaultStatus, defaultstatus, error, event, external, find, focus, frameElement, frames, history, innerHeight, innerWidth, isFinite, isNaN, length, locationbar, menubar, moveBy, moveTo, name, onblur, onerror, onfocus, onload, onresize, onunload, open, opener, opera, outerHeight, outerWidth, pageXOffset, pageYOffset, parent, print, removeEventListener, resizeBy, resizeTo, screen, screenLeft, screenTop, screenX, screenY, scroll, scrollbars, scrollBy, scrollTo, scrollX, scrollY, status, statusbar, stop, toolbar, top] 46 - files: ["*.config.*"] 47 rules: 48 i/no-unused-modules: [0] 49 - files: ["**/*.test.*", "web_src/js/test/setup.js"] 50 env: 51 vitest-globals/env: true 52 rules: 53 vitest/consistent-test-filename: [0] 54 vitest/consistent-test-it: [0] 55 vitest/expect-expect: [0] 56 vitest/max-expects: [0] 57 vitest/max-nested-describe: [0] 58 vitest/no-alias-methods: [0] 59 vitest/no-commented-out-tests: [0] 60 vitest/no-conditional-expect: [0] 61 vitest/no-conditional-in-test: [0] 62 vitest/no-conditional-tests: [0] 63 vitest/no-disabled-tests: [0] 64 vitest/no-done-callback: [0] 65 vitest/no-duplicate-hooks: [0] 66 vitest/no-focused-tests: [0] 67 vitest/no-hooks: [0] 68 vitest/no-identical-title: [2] 69 vitest/no-interpolation-in-snapshots: [0] 70 vitest/no-large-snapshots: [0] 71 vitest/no-mocks-import: [0] 72 vitest/no-restricted-matchers: [0] 73 vitest/no-restricted-vi-methods: [0] 74 vitest/no-standalone-expect: [0] 75 vitest/no-test-prefixes: [0] 76 vitest/no-test-return-statement: [0] 77 vitest/prefer-called-with: [0] 78 vitest/prefer-comparison-matcher: [0] 79 vitest/prefer-each: [0] 80 vitest/prefer-equality-matcher: [0] 81 vitest/prefer-expect-resolves: [0] 82 vitest/prefer-hooks-in-order: [0] 83 vitest/prefer-hooks-on-top: [2] 84 vitest/prefer-lowercase-title: [0] 85 vitest/prefer-mock-promise-shorthand: [0] 86 vitest/prefer-snapshot-hint: [0] 87 vitest/prefer-spy-on: [0] 88 vitest/prefer-strict-equal: [0] 89 vitest/prefer-to-be: [0] 90 vitest/prefer-to-be-falsy: [0] 91 vitest/prefer-to-be-object: [0] 92 vitest/prefer-to-be-truthy: [0] 93 vitest/prefer-to-contain: [0] 94 vitest/prefer-to-have-length: [0] 95 vitest/prefer-todo: [0] 96 vitest/require-hook: [0] 97 vitest/require-to-throw-message: [0] 98 vitest/require-top-level-describe: [0] 99 vitest/valid-describe-callback: [2] 100 vitest/valid-expect: [2] 101 vitest/valid-title: [2] 102 - files: ["web_src/js/modules/fetch.js", "web_src/js/standalone/**/*"] 103 rules: 104 no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression] 105 106 rules: 107 "@eslint-community/eslint-comments/disable-enable-pair": [2] 108 "@eslint-community/eslint-comments/no-aggregating-enable": [2] 109 "@eslint-community/eslint-comments/no-duplicate-disable": [2] 110 "@eslint-community/eslint-comments/no-restricted-disable": [0] 111 "@eslint-community/eslint-comments/no-unlimited-disable": [2] 112 "@eslint-community/eslint-comments/no-unused-disable": [2] 113 "@eslint-community/eslint-comments/no-unused-enable": [2] 114 "@eslint-community/eslint-comments/no-use": [0] 115 "@eslint-community/eslint-comments/require-description": [0] 116 "@stylistic/js/array-bracket-newline": [0] 117 "@stylistic/js/array-bracket-spacing": [2, never] 118 "@stylistic/js/array-element-newline": [0] 119 "@stylistic/js/arrow-parens": [2, always] 120 "@stylistic/js/arrow-spacing": [2, {before: true, after: true}] 121 "@stylistic/js/block-spacing": [0] 122 "@stylistic/js/brace-style": [2, 1tbs, {allowSingleLine: true}] 123 "@stylistic/js/comma-dangle": [2, always-multiline] 124 "@stylistic/js/comma-spacing": [2, {before: false, after: true}] 125 "@stylistic/js/comma-style": [2, last] 126 "@stylistic/js/computed-property-spacing": [2, never] 127 "@stylistic/js/dot-location": [2, property] 128 "@stylistic/js/eol-last": [2] 129 "@stylistic/js/function-call-spacing": [2, never] 130 "@stylistic/js/function-call-argument-newline": [0] 131 "@stylistic/js/function-paren-newline": [0] 132 "@stylistic/js/generator-star-spacing": [0] 133 "@stylistic/js/implicit-arrow-linebreak": [0] 134 "@stylistic/js/indent": [2, 2, {ignoreComments: true, SwitchCase: 1}] 135 "@stylistic/js/key-spacing": [2] 136 "@stylistic/js/keyword-spacing": [2] 137 "@stylistic/js/linebreak-style": [2, unix] 138 "@stylistic/js/lines-around-comment": [0] 139 "@stylistic/js/lines-between-class-members": [0] 140 "@stylistic/js/max-len": [0] 141 "@stylistic/js/max-statements-per-line": [0] 142 "@stylistic/js/multiline-ternary": [0] 143 "@stylistic/js/new-parens": [2] 144 "@stylistic/js/newline-per-chained-call": [0] 145 "@stylistic/js/no-confusing-arrow": [0] 146 "@stylistic/js/no-extra-parens": [0] 147 "@stylistic/js/no-extra-semi": [2] 148 "@stylistic/js/no-floating-decimal": [0] 149 "@stylistic/js/no-mixed-operators": [0] 150 "@stylistic/js/no-mixed-spaces-and-tabs": [2] 151 "@stylistic/js/no-multi-spaces": [2, {ignoreEOLComments: true, exceptions: {Property: true}}] 152 "@stylistic/js/no-multiple-empty-lines": [2, {max: 1, maxEOF: 0, maxBOF: 0}] 153 "@stylistic/js/no-tabs": [2] 154 "@stylistic/js/no-trailing-spaces": [2] 155 "@stylistic/js/no-whitespace-before-property": [2] 156 "@stylistic/js/nonblock-statement-body-position": [2] 157 "@stylistic/js/object-curly-newline": [0] 158 "@stylistic/js/object-curly-spacing": [2, never] 159 "@stylistic/js/object-property-newline": [0] 160 "@stylistic/js/one-var-declaration-per-line": [0] 161 "@stylistic/js/operator-linebreak": [2, after] 162 "@stylistic/js/padded-blocks": [2, never] 163 "@stylistic/js/padding-line-between-statements": [0] 164 "@stylistic/js/quote-props": [0] 165 "@stylistic/js/quotes": [2, single, {avoidEscape: true, allowTemplateLiterals: true}] 166 "@stylistic/js/rest-spread-spacing": [2, never] 167 "@stylistic/js/semi": [2, always, {omitLastInOneLineBlock: true}] 168 "@stylistic/js/semi-spacing": [2, {before: false, after: true}] 169 "@stylistic/js/semi-style": [2, last] 170 "@stylistic/js/space-before-blocks": [2, always] 171 "@stylistic/js/space-before-function-paren": [2, {anonymous: ignore, named: never, asyncArrow: always}] 172 "@stylistic/js/space-in-parens": [2, never] 173 "@stylistic/js/space-infix-ops": [2] 174 "@stylistic/js/space-unary-ops": [2] 175 "@stylistic/js/spaced-comment": [2, always] 176 "@stylistic/js/switch-colon-spacing": [2] 177 "@stylistic/js/template-curly-spacing": [2, never] 178 "@stylistic/js/template-tag-spacing": [2, never] 179 "@stylistic/js/wrap-iife": [2, inside] 180 "@stylistic/js/wrap-regex": [0] 181 "@stylistic/js/yield-star-spacing": [2, after] 182 accessor-pairs: [2] 183 array-callback-return: [2, {checkForEach: true}] 184 array-func/avoid-reverse: [2] 185 array-func/from-map: [2] 186 array-func/no-unnecessary-this-arg: [2] 187 array-func/prefer-array-from: [2] 188 array-func/prefer-flat-map: [0] # handled by unicorn/prefer-array-flat-map 189 array-func/prefer-flat: [0] # handled by unicorn/prefer-array-flat 190 arrow-body-style: [0] 191 block-scoped-var: [2] 192 camelcase: [0] 193 capitalized-comments: [0] 194 class-methods-use-this: [0] 195 complexity: [0] 196 consistent-return: [0] 197 consistent-this: [0] 198 constructor-super: [2] 199 curly: [0] 200 default-case-last: [2] 201 default-case: [0] 202 default-param-last: [0] 203 dot-notation: [0] 204 eqeqeq: [2] 205 for-direction: [2] 206 func-name-matching: [2] 207 func-names: [0] 208 func-style: [0] 209 getter-return: [2] 210 github/a11y-aria-label-is-well-formatted: [0] 211 github/a11y-no-title-attribute: [0] 212 github/a11y-no-visually-hidden-interactive-element: [0] 213 github/a11y-role-supports-aria-props: [0] 214 github/a11y-svg-has-accessible-name: [0] 215 github/array-foreach: [0] 216 github/async-currenttarget: [2] 217 github/async-preventdefault: [2] 218 github/authenticity-token: [0] 219 github/get-attribute: [0] 220 github/js-class-name: [0] 221 github/no-blur: [0] 222 github/no-d-none: [0] 223 github/no-dataset: [2] 224 github/no-dynamic-script-tag: [2] 225 github/no-implicit-buggy-globals: [2] 226 github/no-inner-html: [0] 227 github/no-innerText: [2] 228 github/no-then: [2] 229 github/no-useless-passive: [2] 230 github/prefer-observers: [2] 231 github/require-passive-events: [2] 232 github/unescaped-html-literal: [0] 233 grouped-accessor-pairs: [2] 234 guard-for-in: [0] 235 id-blacklist: [0] 236 id-length: [0] 237 id-match: [0] 238 i/consistent-type-specifier-style: [0] 239 i/default: [0] 240 i/dynamic-import-chunkname: [0] 241 i/export: [2] 242 i/exports-last: [0] 243 i/extensions: [2, always, {ignorePackages: true}] 244 i/first: [2] 245 i/group-exports: [0] 246 i/max-dependencies: [0] 247 i/named: [2] 248 i/namespace: [0] 249 i/newline-after-import: [0] 250 i/no-absolute-path: [0] 251 i/no-amd: [2] 252 i/no-anonymous-default-export: [0] 253 i/no-commonjs: [2] 254 i/no-cycle: [2, {ignoreExternal: true, maxDepth: 1}] 255 i/no-default-export: [0] 256 i/no-deprecated: [0] 257 i/no-dynamic-require: [0] 258 i/no-empty-named-blocks: [2] 259 i/no-extraneous-dependencies: [2] 260 i/no-import-module-exports: [0] 261 i/no-internal-modules: [0] 262 i/no-mutable-exports: [0] 263 i/no-named-as-default-member: [0] 264 i/no-named-as-default: [2] 265 i/no-named-default: [0] 266 i/no-named-export: [0] 267 i/no-namespace: [0] 268 i/no-nodejs-modules: [0] 269 i/no-relative-packages: [0] 270 i/no-relative-parent-imports: [0] 271 i/no-restricted-paths: [0] 272 i/no-self-import: [2] 273 i/no-unassigned-import: [0] 274 i/no-unresolved: [2, {commonjs: true, ignore: ["\\?.+$", ^vitest/]}] 275 i/no-unused-modules: [2, {unusedExports: true}] 276 i/no-useless-path-segments: [2, {commonjs: true}] 277 i/no-webpack-loader-syntax: [2] 278 i/order: [0] 279 i/prefer-default-export: [0] 280 i/unambiguous: [0] 281 init-declarations: [0] 282 jquery/no-ajax-events: [2] 283 jquery/no-ajax: [2] 284 jquery/no-animate: [2] 285 jquery/no-attr: [2] 286 jquery/no-bind: [2] 287 jquery/no-class: [0] 288 jquery/no-clone: [2] 289 jquery/no-closest: [0] 290 jquery/no-css: [2] 291 jquery/no-data: [0] 292 jquery/no-deferred: [2] 293 jquery/no-delegate: [2] 294 jquery/no-each: [0] 295 jquery/no-extend: [2] 296 jquery/no-fade: [2] 297 jquery/no-filter: [0] 298 jquery/no-find: [0] 299 jquery/no-global-eval: [2] 300 jquery/no-grep: [2] 301 jquery/no-has: [2] 302 jquery/no-hide: [2] 303 jquery/no-html: [0] 304 jquery/no-in-array: [2] 305 jquery/no-is-array: [2] 306 jquery/no-is-function: [2] 307 jquery/no-is: [2] 308 jquery/no-load: [2] 309 jquery/no-map: [2] 310 jquery/no-merge: [2] 311 jquery/no-param: [2] 312 jquery/no-parent: [0] 313 jquery/no-parents: [2] 314 jquery/no-parse-html: [2] 315 jquery/no-prop: [2] 316 jquery/no-proxy: [2] 317 jquery/no-ready: [2] 318 jquery/no-serialize: [2] 319 jquery/no-show: [2] 320 jquery/no-size: [2] 321 jquery/no-sizzle: [2] 322 jquery/no-slide: [2] 323 jquery/no-submit: [2] 324 jquery/no-text: [0] 325 jquery/no-toggle: [2] 326 jquery/no-trigger: [0] 327 jquery/no-trim: [2] 328 jquery/no-val: [0] 329 jquery/no-when: [2] 330 jquery/no-wrap: [2] 331 line-comment-position: [0] 332 logical-assignment-operators: [0] 333 max-classes-per-file: [0] 334 max-depth: [0] 335 max-lines-per-function: [0] 336 max-lines: [0] 337 max-nested-callbacks: [0] 338 max-params: [0] 339 max-statements: [0] 340 multiline-comment-style: [2, separate-lines] 341 new-cap: [0] 342 no-alert: [0] 343 no-array-constructor: [2] 344 no-async-promise-executor: [0] 345 no-await-in-loop: [0] 346 no-bitwise: [0] 347 no-buffer-constructor: [0] 348 no-caller: [2] 349 no-case-declarations: [2] 350 no-class-assign: [2] 351 no-compare-neg-zero: [2] 352 no-cond-assign: [2, except-parens] 353 no-console: [1, {allow: [debug, info, warn, error]}] 354 no-const-assign: [2] 355 no-constant-binary-expression: [2] 356 no-constant-condition: [0] 357 no-constructor-return: [2] 358 no-continue: [0] 359 no-control-regex: [0] 360 no-debugger: [1] 361 no-delete-var: [2] 362 no-div-regex: [0] 363 no-dupe-args: [2] 364 no-dupe-class-members: [2] 365 no-dupe-else-if: [2] 366 no-dupe-keys: [2] 367 no-duplicate-case: [2] 368 no-duplicate-imports: [2] 369 no-else-return: [2] 370 no-empty-character-class: [2] 371 no-empty-function: [0] 372 no-empty-pattern: [2] 373 no-empty-static-block: [2] 374 no-empty: [2, {allowEmptyCatch: true}] 375 no-eq-null: [2] 376 no-eval: [2] 377 no-ex-assign: [2] 378 no-extend-native: [2] 379 no-extra-bind: [2] 380 no-extra-boolean-cast: [2] 381 no-extra-label: [0] 382 no-fallthrough: [2] 383 no-func-assign: [2] 384 no-global-assign: [2] 385 no-implicit-coercion: [2] 386 no-implicit-globals: [0] 387 no-implied-eval: [2] 388 no-import-assign: [2] 389 no-inline-comments: [0] 390 no-inner-declarations: [2] 391 no-invalid-regexp: [2] 392 no-invalid-this: [0] 393 no-irregular-whitespace: [2] 394 no-iterator: [2] 395 no-jquery/no-ajax-events: [2] 396 no-jquery/no-ajax: [2] 397 no-jquery/no-and-self: [2] 398 no-jquery/no-animate-toggle: [2] 399 no-jquery/no-animate: [2] 400 no-jquery/no-append-html: [2] 401 no-jquery/no-attr: [2] 402 no-jquery/no-bind: [2] 403 no-jquery/no-box-model: [2] 404 no-jquery/no-browser: [2] 405 no-jquery/no-camel-case: [2] 406 no-jquery/no-class-state: [0] 407 no-jquery/no-class: [0] 408 no-jquery/no-clone: [2] 409 no-jquery/no-closest: [0] 410 no-jquery/no-constructor-attributes: [2] 411 no-jquery/no-contains: [2] 412 no-jquery/no-context-prop: [2] 413 no-jquery/no-css: [2] 414 no-jquery/no-data: [0] 415 no-jquery/no-deferred: [2] 416 no-jquery/no-delegate: [2] 417 no-jquery/no-each-collection: [0] 418 no-jquery/no-each-util: [0] 419 no-jquery/no-each: [0] 420 no-jquery/no-error-shorthand: [2] 421 no-jquery/no-error: [2] 422 no-jquery/no-escape-selector: [2] 423 no-jquery/no-event-shorthand: [2] 424 no-jquery/no-extend: [2] 425 no-jquery/no-fade: [2] 426 no-jquery/no-filter: [0] 427 no-jquery/no-find-collection: [0] 428 no-jquery/no-find-util: [2] 429 no-jquery/no-find: [0] 430 no-jquery/no-fx-interval: [2] 431 no-jquery/no-global-eval: [2] 432 no-jquery/no-global-selector: [0] 433 no-jquery/no-grep: [2] 434 no-jquery/no-has: [2] 435 no-jquery/no-hold-ready: [2] 436 no-jquery/no-html: [0] 437 no-jquery/no-in-array: [2] 438 no-jquery/no-is-array: [2] 439 no-jquery/no-is-empty-object: [2] 440 no-jquery/no-is-function: [2] 441 no-jquery/no-is-numeric: [2] 442 no-jquery/no-is-plain-object: [2] 443 no-jquery/no-is-window: [2] 444 no-jquery/no-is: [2] 445 no-jquery/no-jquery-constructor: [0] 446 no-jquery/no-live: [2] 447 no-jquery/no-load-shorthand: [2] 448 no-jquery/no-load: [2] 449 no-jquery/no-map-collection: [0] 450 no-jquery/no-map-util: [2] 451 no-jquery/no-map: [2] 452 no-jquery/no-merge: [2] 453 no-jquery/no-node-name: [2] 454 no-jquery/no-noop: [2] 455 no-jquery/no-now: [2] 456 no-jquery/no-on-ready: [2] 457 no-jquery/no-other-methods: [0] 458 no-jquery/no-other-utils: [2] 459 no-jquery/no-param: [2] 460 no-jquery/no-parent: [0] 461 no-jquery/no-parents: [2] 462 no-jquery/no-parse-html-literal: [0] 463 no-jquery/no-parse-html: [2] 464 no-jquery/no-parse-json: [2] 465 no-jquery/no-parse-xml: [2] 466 no-jquery/no-prop: [2] 467 no-jquery/no-proxy: [2] 468 no-jquery/no-ready-shorthand: [2] 469 no-jquery/no-ready: [2] 470 no-jquery/no-selector-prop: [2] 471 no-jquery/no-serialize: [2] 472 no-jquery/no-size: [2] 473 no-jquery/no-sizzle: [2] 474 no-jquery/no-slide: [2] 475 no-jquery/no-sub: [2] 476 no-jquery/no-support: [2] 477 no-jquery/no-text: [0] 478 no-jquery/no-trigger: [0] 479 no-jquery/no-trim: [2] 480 no-jquery/no-type: [2] 481 no-jquery/no-unique: [2] 482 no-jquery/no-unload-shorthand: [2] 483 no-jquery/no-val: [0] 484 no-jquery/no-visibility: [2] 485 no-jquery/no-when: [2] 486 no-jquery/no-wrap: [2] 487 no-jquery/variable-pattern: [2] 488 no-label-var: [2] 489 no-labels: [0] # handled by no-restricted-syntax 490 no-lone-blocks: [2] 491 no-lonely-if: [0] 492 no-loop-func: [0] 493 no-loss-of-precision: [2] 494 no-magic-numbers: [0] 495 no-misleading-character-class: [2] 496 no-multi-assign: [0] 497 no-multi-str: [2] 498 no-negated-condition: [0] 499 no-nested-ternary: [0] 500 no-new-func: [2] 501 no-new-native-nonconstructor: [2] 502 no-new-object: [2] 503 no-new-symbol: [2] 504 no-new-wrappers: [2] 505 no-new: [0] 506 no-nonoctal-decimal-escape: [2] 507 no-obj-calls: [2] 508 no-octal-escape: [2] 509 no-octal: [2] 510 no-param-reassign: [0] 511 no-plusplus: [0] 512 no-promise-executor-return: [0] 513 no-proto: [2] 514 no-prototype-builtins: [2] 515 no-redeclare: [2] 516 no-regex-spaces: [2] 517 no-restricted-exports: [0] 518 no-restricted-globals: [2, addEventListener, blur, close, closed, confirm, defaultStatus, defaultstatus, error, event, external, find, focus, frameElement, frames, history, innerHeight, innerWidth, isFinite, isNaN, length, location, locationbar, menubar, moveBy, moveTo, name, onblur, onerror, onfocus, onload, onresize, onunload, open, opener, opera, outerHeight, outerWidth, pageXOffset, pageYOffset, parent, print, removeEventListener, resizeBy, resizeTo, screen, screenLeft, screenTop, screenX, screenY, scroll, scrollbars, scrollBy, scrollTo, scrollX, scrollY, self, status, statusbar, stop, toolbar, top, __dirname, __filename] 519 no-restricted-imports: [0] 520 no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression, {selector: "CallExpression[callee.name='fetch']", message: "use modules/fetch.js instead"}] 521 no-return-assign: [0] 522 no-script-url: [2] 523 no-self-assign: [2, {props: true}] 524 no-self-compare: [2] 525 no-sequences: [2] 526 no-setter-return: [2] 527 no-shadow-restricted-names: [2] 528 no-shadow: [0] 529 no-sparse-arrays: [2] 530 no-template-curly-in-string: [2] 531 no-ternary: [0] 532 no-this-before-super: [2] 533 no-throw-literal: [2] 534 no-undef-init: [2] 535 no-undef: [2, {typeof: true}] 536 no-undefined: [0] 537 no-underscore-dangle: [0] 538 no-unexpected-multiline: [2] 539 no-unmodified-loop-condition: [2] 540 no-unneeded-ternary: [2] 541 no-unreachable-loop: [2] 542 no-unreachable: [2] 543 no-unsafe-finally: [2] 544 no-unsafe-negation: [2] 545 no-unused-expressions: [2] 546 no-unused-labels: [2] 547 no-unused-private-class-members: [2] 548 no-unused-vars: [2, {args: all, argsIgnorePattern: ^_, varsIgnorePattern: ^_, caughtErrorsIgnorePattern: ^_, destructuredArrayIgnorePattern: ^_, ignoreRestSiblings: false}] 549 no-use-before-define: [2, {functions: false, classes: true, variables: true, allowNamedExports: true}] 550 no-use-extend-native/no-use-extend-native: [2] 551 no-useless-backreference: [2] 552 no-useless-call: [2] 553 no-useless-catch: [2] 554 no-useless-computed-key: [2] 555 no-useless-concat: [2] 556 no-useless-constructor: [2] 557 no-useless-escape: [2] 558 no-useless-rename: [2] 559 no-useless-return: [2] 560 no-var: [2] 561 no-void: [2] 562 no-warning-comments: [0] 563 no-with: [0] # handled by no-restricted-syntax 564 object-shorthand: [2, always] 565 one-var-declaration-per-line: [0] 566 one-var: [0] 567 operator-assignment: [2, always] 568 operator-linebreak: [2, after] 569 prefer-arrow-callback: [2, {allowNamedFunctions: true, allowUnboundThis: true}] 570 prefer-const: [2, {destructuring: all, ignoreReadBeforeAssign: true}] 571 prefer-destructuring: [0] 572 prefer-exponentiation-operator: [2] 573 prefer-named-capture-group: [0] 574 prefer-numeric-literals: [2] 575 prefer-object-has-own: [2] 576 prefer-object-spread: [2] 577 prefer-promise-reject-errors: [2, {allowEmptyReject: false}] 578 prefer-regex-literals: [2] 579 prefer-rest-params: [2] 580 prefer-spread: [2] 581 prefer-template: [2] 582 radix: [2, as-needed] 583 regexp/confusing-quantifier: [2] 584 regexp/control-character-escape: [2] 585 regexp/hexadecimal-escape: [0] 586 regexp/letter-case: [0] 587 regexp/match-any: [2] 588 regexp/negation: [2] 589 regexp/no-contradiction-with-assertion: [0] 590 regexp/no-control-character: [0] 591 regexp/no-dupe-characters-character-class: [2] 592 regexp/no-dupe-disjunctions: [2] 593 regexp/no-empty-alternative: [2] 594 regexp/no-empty-capturing-group: [2] 595 regexp/no-empty-character-class: [0] 596 regexp/no-empty-group: [2] 597 regexp/no-empty-lookarounds-assertion: [2] 598 regexp/no-empty-string-literal: [2] 599 regexp/no-escape-backspace: [2] 600 regexp/no-extra-lookaround-assertions: [0] 601 regexp/no-invalid-regexp: [2] 602 regexp/no-invisible-character: [2] 603 regexp/no-lazy-ends: [2] 604 regexp/no-legacy-features: [2] 605 regexp/no-misleading-capturing-group: [0] 606 regexp/no-misleading-unicode-character: [0] 607 regexp/no-missing-g-flag: [2] 608 regexp/no-non-standard-flag: [2] 609 regexp/no-obscure-range: [2] 610 regexp/no-octal: [2] 611 regexp/no-optional-assertion: [2] 612 regexp/no-potentially-useless-backreference: [2] 613 regexp/no-standalone-backslash: [2] 614 regexp/no-super-linear-backtracking: [0] 615 regexp/no-super-linear-move: [0] 616 regexp/no-trivially-nested-assertion: [2] 617 regexp/no-trivially-nested-quantifier: [2] 618 regexp/no-unused-capturing-group: [0] 619 regexp/no-useless-assertions: [2] 620 regexp/no-useless-backreference: [2] 621 regexp/no-useless-character-class: [2] 622 regexp/no-useless-dollar-replacements: [2] 623 regexp/no-useless-escape: [2] 624 regexp/no-useless-flag: [2] 625 regexp/no-useless-lazy: [2] 626 regexp/no-useless-non-capturing-group: [2] 627 regexp/no-useless-quantifier: [2] 628 regexp/no-useless-range: [2] 629 regexp/no-useless-set-operand: [2] 630 regexp/no-useless-string-literal: [2] 631 regexp/no-useless-two-nums-quantifier: [2] 632 regexp/no-zero-quantifier: [2] 633 regexp/optimal-lookaround-quantifier: [2] 634 regexp/optimal-quantifier-concatenation: [0] 635 regexp/prefer-character-class: [0] 636 regexp/prefer-d: [0] 637 regexp/prefer-escape-replacement-dollar-char: [0] 638 regexp/prefer-lookaround: [0] 639 regexp/prefer-named-backreference: [0] 640 regexp/prefer-named-capture-group: [0] 641 regexp/prefer-named-replacement: [0] 642 regexp/prefer-plus-quantifier: [2] 643 regexp/prefer-predefined-assertion: [2] 644 regexp/prefer-quantifier: [0] 645 regexp/prefer-question-quantifier: [2] 646 regexp/prefer-range: [2] 647 regexp/prefer-regexp-exec: [2] 648 regexp/prefer-regexp-test: [2] 649 regexp/prefer-result-array-groups: [0] 650 regexp/prefer-set-operation: [2] 651 regexp/prefer-star-quantifier: [2] 652 regexp/prefer-unicode-codepoint-escapes: [2] 653 regexp/prefer-w: [0] 654 regexp/require-unicode-regexp: [0] 655 regexp/simplify-set-operations: [2] 656 regexp/sort-alternatives: [0] 657 regexp/sort-character-class-elements: [0] 658 regexp/sort-flags: [0] 659 regexp/strict: [2] 660 regexp/unicode-escape: [0] 661 regexp/use-ignore-case: [0] 662 require-atomic-updates: [0] 663 require-await: [0] 664 require-unicode-regexp: [0] 665 require-yield: [2] 666 sonarjs/cognitive-complexity: [0] 667 sonarjs/elseif-without-else: [0] 668 sonarjs/max-switch-cases: [0] 669 sonarjs/no-all-duplicated-branches: [2] 670 sonarjs/no-collapsible-if: [0] 671 sonarjs/no-collection-size-mischeck: [2] 672 sonarjs/no-duplicate-string: [0] 673 sonarjs/no-duplicated-branches: [0] 674 sonarjs/no-element-overwrite: [2] 675 sonarjs/no-empty-collection: [2] 676 sonarjs/no-extra-arguments: [2] 677 sonarjs/no-gratuitous-expressions: [2] 678 sonarjs/no-identical-conditions: [2] 679 sonarjs/no-identical-expressions: [2] 680 sonarjs/no-identical-functions: [2, 5] 681 sonarjs/no-ignored-return: [2] 682 sonarjs/no-inverted-boolean-check: [2] 683 sonarjs/no-nested-switch: [0] 684 sonarjs/no-nested-template-literals: [0] 685 sonarjs/no-one-iteration-loop: [2] 686 sonarjs/no-redundant-boolean: [2] 687 sonarjs/no-redundant-jump: [2] 688 sonarjs/no-same-line-conditional: [2] 689 sonarjs/no-small-switch: [0] 690 sonarjs/no-unused-collection: [2] 691 sonarjs/no-use-of-empty-return-value: [2] 692 sonarjs/no-useless-catch: [2] 693 sonarjs/non-existent-operator: [2] 694 sonarjs/prefer-immediate-return: [0] 695 sonarjs/prefer-object-literal: [0] 696 sonarjs/prefer-single-boolean-return: [0] 697 sonarjs/prefer-while: [2] 698 sort-imports: [0] 699 sort-keys: [0] 700 sort-vars: [0] 701 strict: [0] 702 symbol-description: [2] 703 unicode-bom: [2, never] 704 unicorn/better-regex: [0] 705 unicorn/catch-error-name: [0] 706 unicorn/consistent-destructuring: [2] 707 unicorn/consistent-function-scoping: [2] 708 unicorn/custom-error-definition: [0] 709 unicorn/empty-brace-spaces: [2] 710 unicorn/error-message: [0] 711 unicorn/escape-case: [0] 712 unicorn/expiring-todo-comments: [0] 713 unicorn/explicit-length-check: [0] 714 unicorn/filename-case: [0] 715 unicorn/import-index: [0] 716 unicorn/import-style: [0] 717 unicorn/new-for-builtins: [2] 718 unicorn/no-abusive-eslint-disable: [0] 719 unicorn/no-anonymous-default-export: [0] 720 unicorn/no-array-callback-reference: [0] 721 unicorn/no-array-for-each: [2] 722 unicorn/no-array-method-this-argument: [2] 723 unicorn/no-array-push-push: [2] 724 unicorn/no-array-reduce: [2] 725 unicorn/no-await-expression-member: [0] 726 unicorn/no-await-in-promise-methods: [2] 727 unicorn/no-console-spaces: [0] 728 unicorn/no-document-cookie: [2] 729 unicorn/no-empty-file: [2] 730 unicorn/no-for-loop: [0] 731 unicorn/no-hex-escape: [0] 732 unicorn/no-instanceof-array: [0] 733 unicorn/no-invalid-remove-event-listener: [2] 734 unicorn/no-keyword-prefix: [0] 735 unicorn/no-lonely-if: [2] 736 unicorn/no-negated-condition: [0] 737 unicorn/no-nested-ternary: [0] 738 unicorn/no-new-array: [0] 739 unicorn/no-new-buffer: [0] 740 unicorn/no-null: [0] 741 unicorn/no-object-as-default-parameter: [0] 742 unicorn/no-process-exit: [0] 743 unicorn/no-single-promise-in-promise-methods: [2] 744 unicorn/no-static-only-class: [2] 745 unicorn/no-thenable: [2] 746 unicorn/no-this-assignment: [2] 747 unicorn/no-typeof-undefined: [2] 748 unicorn/no-unnecessary-await: [2] 749 unicorn/no-unnecessary-polyfills: [2] 750 unicorn/no-unreadable-array-destructuring: [0] 751 unicorn/no-unreadable-iife: [2] 752 unicorn/no-unused-properties: [2] 753 unicorn/no-useless-fallback-in-spread: [2] 754 unicorn/no-useless-length-check: [2] 755 unicorn/no-useless-promise-resolve-reject: [2] 756 unicorn/no-useless-spread: [2] 757 unicorn/no-useless-switch-case: [2] 758 unicorn/no-useless-undefined: [0] 759 unicorn/no-zero-fractions: [2] 760 unicorn/number-literal-case: [0] 761 unicorn/numeric-separators-style: [0] 762 unicorn/prefer-add-event-listener: [2] 763 unicorn/prefer-array-find: [2] 764 unicorn/prefer-array-flat-map: [2] 765 unicorn/prefer-array-flat: [2] 766 unicorn/prefer-array-index-of: [2] 767 unicorn/prefer-array-some: [2] 768 unicorn/prefer-at: [0] 769 unicorn/prefer-blob-reading-methods: [2] 770 unicorn/prefer-code-point: [0] 771 unicorn/prefer-date-now: [2] 772 unicorn/prefer-default-parameters: [0] 773 unicorn/prefer-dom-node-append: [2] 774 unicorn/prefer-dom-node-dataset: [0] 775 unicorn/prefer-dom-node-remove: [2] 776 unicorn/prefer-dom-node-text-content: [2] 777 unicorn/prefer-event-target: [2] 778 unicorn/prefer-export-from: [0] 779 unicorn/prefer-includes: [2] 780 unicorn/prefer-json-parse-buffer: [0] 781 unicorn/prefer-keyboard-event-key: [2] 782 unicorn/prefer-logical-operator-over-ternary: [2] 783 unicorn/prefer-math-trunc: [2] 784 unicorn/prefer-modern-dom-apis: [0] 785 unicorn/prefer-modern-math-apis: [2] 786 unicorn/prefer-module: [2] 787 unicorn/prefer-native-coercion-functions: [2] 788 unicorn/prefer-negative-index: [2] 789 unicorn/prefer-node-protocol: [2] 790 unicorn/prefer-number-properties: [0] 791 unicorn/prefer-object-from-entries: [2] 792 unicorn/prefer-object-has-own: [0] 793 unicorn/prefer-optional-catch-binding: [2] 794 unicorn/prefer-prototype-methods: [0] 795 unicorn/prefer-query-selector: [0] 796 unicorn/prefer-reflect-apply: [0] 797 unicorn/prefer-regexp-test: [2] 798 unicorn/prefer-set-has: [0] 799 unicorn/prefer-set-size: [2] 800 unicorn/prefer-spread: [0] 801 unicorn/prefer-string-replace-all: [0] 802 unicorn/prefer-string-slice: [0] 803 unicorn/prefer-string-starts-ends-with: [2] 804 unicorn/prefer-string-trim-start-end: [2] 805 unicorn/prefer-switch: [0] 806 unicorn/prefer-ternary: [0] 807 unicorn/prefer-text-content: [2] 808 unicorn/prefer-top-level-await: [0] 809 unicorn/prefer-type-error: [0] 810 unicorn/prevent-abbreviations: [0] 811 unicorn/relative-url-style: [2] 812 unicorn/require-array-join-separator: [2] 813 unicorn/require-number-to-fixed-digits-argument: [2] 814 unicorn/require-post-message-target-origin: [0] 815 unicorn/string-content: [0] 816 unicorn/switch-case-braces: [0] 817 unicorn/template-indent: [2] 818 unicorn/text-encoding-identifier-case: [0] 819 unicorn/throw-new-error: [2] 820 use-isnan: [2] 821 valid-typeof: [2, {requireStringLiterals: true}] 822 vars-on-top: [0] 823 wc/attach-shadow-constructor: [2] 824 wc/define-tag-after-class-definition: [0] 825 wc/expose-class-on-global: [0] 826 wc/file-name-matches-element: [2] 827 wc/guard-define-call: [0] 828 wc/guard-super-call: [2] 829 wc/max-elements-per-file: [0] 830 wc/no-child-traversal-in-attributechangedcallback: [2] 831 wc/no-child-traversal-in-connectedcallback: [2] 832 wc/no-closed-shadow-root: [2] 833 wc/no-constructor-attributes: [2] 834 wc/no-constructor-params: [2] 835 wc/no-constructor: [2] 836 wc/no-customized-built-in-elements: [2] 837 wc/no-exports-with-element: [0] 838 wc/no-invalid-element-name: [2] 839 wc/no-invalid-extends: [2] 840 wc/no-method-prefixed-with-on: [2] 841 wc/no-self-class: [2] 842 wc/no-typos: [2] 843 wc/require-listener-teardown: [2] 844 wc/tag-name-matches-class: [2] 845 yoda: [2, never]