mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 08:42:32 -05:00
628e1036cf
Backport #29085 by @silverwind When setting `url.host` on a URL object with no port specified (like is the case of default port), the resulting URL's port will not change. Workaround this quirk in the URL standard by explicitely setting port for the http and https protocols. Extracted the logic to a function for the purpose of testing. Initially I wanted to have the function in utils.js, but it turns out esbuild can not treeshake the unused functions which would result in the webcomponents chunk having all 2kB utils.js inlined, so it seemed not worth. Fixes: https://github.com/go-gitea/gitea/issues/29084 Co-authored-by: silverwind <me@silverwind.io> (cherry picked from commit fb7f28e9a7ee441e85dc957ac507278650af2f63)
757 lines
24 KiB
YAML
757 lines
24 KiB
YAML
root: true
|
|
reportUnusedDisableDirectives: true
|
|
|
|
ignorePatterns:
|
|
- /web_src/js/vendor
|
|
|
|
parserOptions:
|
|
sourceType: module
|
|
ecmaVersion: latest
|
|
|
|
plugins:
|
|
- "@eslint-community/eslint-plugin-eslint-comments"
|
|
- eslint-plugin-array-func
|
|
- eslint-plugin-import
|
|
- eslint-plugin-jquery
|
|
- eslint-plugin-no-jquery
|
|
- eslint-plugin-no-use-extend-native
|
|
- eslint-plugin-regexp
|
|
- eslint-plugin-sonarjs
|
|
- eslint-plugin-unicorn
|
|
- eslint-plugin-vitest-globals
|
|
- eslint-plugin-wc
|
|
|
|
env:
|
|
es2024: true
|
|
node: true
|
|
|
|
overrides:
|
|
- files: ["web_src/**/*"]
|
|
globals:
|
|
__webpack_public_path__: true
|
|
process: false # https://github.com/webpack/webpack/issues/15833
|
|
- files: ["web_src/**/*", "docs/**/*"]
|
|
env:
|
|
browser: true
|
|
node: false
|
|
- files: ["web_src/**/*worker.*"]
|
|
env:
|
|
worker: true
|
|
rules:
|
|
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]
|
|
- files: ["build/generate-images.js"]
|
|
rules:
|
|
import/no-unresolved: [0]
|
|
import/no-extraneous-dependencies: [0]
|
|
- files: ["*.config.*"]
|
|
rules:
|
|
import/no-unused-modules: [0]
|
|
- files: ["**/*.test.*", "web_src/js/test/setup.js"]
|
|
env:
|
|
vitest-globals/env: true
|
|
- files: ["web_src/js/modules/fetch.js", "web_src/js/standalone/**/*"]
|
|
rules:
|
|
no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression]
|
|
|
|
rules:
|
|
"@eslint-community/eslint-comments/disable-enable-pair": [2]
|
|
"@eslint-community/eslint-comments/no-aggregating-enable": [2]
|
|
"@eslint-community/eslint-comments/no-duplicate-disable": [2]
|
|
"@eslint-community/eslint-comments/no-restricted-disable": [0]
|
|
"@eslint-community/eslint-comments/no-unlimited-disable": [2]
|
|
"@eslint-community/eslint-comments/no-unused-disable": [2]
|
|
"@eslint-community/eslint-comments/no-unused-enable": [2]
|
|
"@eslint-community/eslint-comments/no-use": [0]
|
|
"@eslint-community/eslint-comments/require-description": [0]
|
|
accessor-pairs: [2]
|
|
array-bracket-newline: [0]
|
|
array-bracket-spacing: [2, never]
|
|
array-callback-return: [2, {checkForEach: true}]
|
|
array-element-newline: [0]
|
|
array-func/avoid-reverse: [2]
|
|
array-func/from-map: [2]
|
|
array-func/no-unnecessary-this-arg: [2]
|
|
array-func/prefer-array-from: [2]
|
|
array-func/prefer-flat-map: [0] # handled by unicorn/prefer-array-flat-map
|
|
array-func/prefer-flat: [0] # handled by unicorn/prefer-array-flat
|
|
arrow-body-style: [0]
|
|
arrow-parens: [2, always]
|
|
arrow-spacing: [2, {before: true, after: true}]
|
|
block-scoped-var: [2]
|
|
brace-style: [2, 1tbs, {allowSingleLine: true}]
|
|
camelcase: [0]
|
|
capitalized-comments: [0]
|
|
class-methods-use-this: [0]
|
|
comma-dangle: [2, only-multiline]
|
|
comma-spacing: [2, {before: false, after: true}]
|
|
comma-style: [2, last]
|
|
complexity: [0]
|
|
computed-property-spacing: [2, never]
|
|
consistent-return: [0]
|
|
consistent-this: [0]
|
|
constructor-super: [2]
|
|
curly: [0]
|
|
default-case-last: [2]
|
|
default-case: [0]
|
|
default-param-last: [0]
|
|
dot-location: [2, property]
|
|
dot-notation: [0]
|
|
eol-last: [2]
|
|
eqeqeq: [2]
|
|
for-direction: [2]
|
|
func-call-spacing: [2, never]
|
|
func-name-matching: [2]
|
|
func-names: [0]
|
|
func-style: [0]
|
|
function-call-argument-newline: [0]
|
|
function-paren-newline: [0]
|
|
generator-star-spacing: [0]
|
|
getter-return: [2]
|
|
grouped-accessor-pairs: [2]
|
|
guard-for-in: [0]
|
|
id-blacklist: [0]
|
|
id-length: [0]
|
|
id-match: [0]
|
|
implicit-arrow-linebreak: [0]
|
|
import/consistent-type-specifier-style: [0]
|
|
import/default: [0]
|
|
import/dynamic-import-chunkname: [0]
|
|
import/export: [2]
|
|
import/exports-last: [0]
|
|
import/extensions: [2, always, {ignorePackages: true}]
|
|
import/first: [2]
|
|
import/group-exports: [0]
|
|
import/max-dependencies: [0]
|
|
import/named: [2]
|
|
import/namespace: [0]
|
|
import/newline-after-import: [0]
|
|
import/no-absolute-path: [0]
|
|
import/no-amd: [2]
|
|
import/no-anonymous-default-export: [0]
|
|
import/no-commonjs: [2]
|
|
import/no-cycle: [2, {ignoreExternal: true, maxDepth: 1}]
|
|
import/no-default-export: [0]
|
|
import/no-deprecated: [0]
|
|
import/no-dynamic-require: [0]
|
|
import/no-empty-named-blocks: [2]
|
|
import/no-extraneous-dependencies: [2]
|
|
import/no-import-module-exports: [0]
|
|
import/no-internal-modules: [0]
|
|
import/no-mutable-exports: [0]
|
|
import/no-named-as-default-member: [0]
|
|
import/no-named-as-default: [2]
|
|
import/no-named-default: [0]
|
|
import/no-named-export: [0]
|
|
import/no-namespace: [0]
|
|
import/no-nodejs-modules: [0]
|
|
import/no-relative-packages: [0]
|
|
import/no-relative-parent-imports: [0]
|
|
import/no-restricted-paths: [0]
|
|
import/no-self-import: [2]
|
|
import/no-unassigned-import: [0]
|
|
import/no-unresolved: [2, {commonjs: true, ignore: ["\\?.+$", ^vitest/]}]
|
|
import/no-unused-modules: [2, {unusedExports: true}]
|
|
import/no-useless-path-segments: [2, {commonjs: true}]
|
|
import/no-webpack-loader-syntax: [2]
|
|
import/order: [0]
|
|
import/prefer-default-export: [0]
|
|
import/unambiguous: [0]
|
|
indent: [2, 2, {SwitchCase: 1}]
|
|
init-declarations: [0]
|
|
jquery/no-ajax-events: [2]
|
|
jquery/no-ajax: [0]
|
|
jquery/no-animate: [2]
|
|
jquery/no-attr: [0]
|
|
jquery/no-bind: [2]
|
|
jquery/no-class: [0]
|
|
jquery/no-clone: [2]
|
|
jquery/no-closest: [0]
|
|
jquery/no-css: [0]
|
|
jquery/no-data: [0]
|
|
jquery/no-deferred: [2]
|
|
jquery/no-delegate: [2]
|
|
jquery/no-each: [0]
|
|
jquery/no-extend: [2]
|
|
jquery/no-fade: [0]
|
|
jquery/no-filter: [0]
|
|
jquery/no-find: [0]
|
|
jquery/no-global-eval: [2]
|
|
jquery/no-grep: [2]
|
|
jquery/no-has: [2]
|
|
jquery/no-hide: [2]
|
|
jquery/no-html: [0]
|
|
jquery/no-in-array: [2]
|
|
jquery/no-is-array: [2]
|
|
jquery/no-is-function: [2]
|
|
jquery/no-is: [0]
|
|
jquery/no-load: [2]
|
|
jquery/no-map: [0]
|
|
jquery/no-merge: [2]
|
|
jquery/no-param: [2]
|
|
jquery/no-parent: [0]
|
|
jquery/no-parents: [0]
|
|
jquery/no-parse-html: [2]
|
|
jquery/no-prop: [0]
|
|
jquery/no-proxy: [2]
|
|
jquery/no-ready: [2]
|
|
jquery/no-serialize: [2]
|
|
jquery/no-show: [2]
|
|
jquery/no-size: [2]
|
|
jquery/no-sizzle: [0]
|
|
jquery/no-slide: [0]
|
|
jquery/no-submit: [0]
|
|
jquery/no-text: [0]
|
|
jquery/no-toggle: [2]
|
|
jquery/no-trigger: [0]
|
|
jquery/no-trim: [2]
|
|
jquery/no-val: [0]
|
|
jquery/no-when: [2]
|
|
jquery/no-wrap: [2]
|
|
key-spacing: [2]
|
|
keyword-spacing: [2]
|
|
line-comment-position: [0]
|
|
linebreak-style: [2, unix]
|
|
lines-around-comment: [0]
|
|
lines-between-class-members: [0]
|
|
logical-assignment-operators: [0]
|
|
max-classes-per-file: [0]
|
|
max-depth: [0]
|
|
max-len: [0]
|
|
max-lines-per-function: [0]
|
|
max-lines: [0]
|
|
max-nested-callbacks: [0]
|
|
max-params: [0]
|
|
max-statements-per-line: [0]
|
|
max-statements: [0]
|
|
multiline-comment-style: [2, separate-lines]
|
|
multiline-ternary: [0]
|
|
new-cap: [0]
|
|
new-parens: [2]
|
|
newline-per-chained-call: [0]
|
|
no-alert: [0]
|
|
no-array-constructor: [2]
|
|
no-async-promise-executor: [0]
|
|
no-await-in-loop: [0]
|
|
no-bitwise: [0]
|
|
no-buffer-constructor: [0]
|
|
no-caller: [2]
|
|
no-case-declarations: [2]
|
|
no-class-assign: [2]
|
|
no-compare-neg-zero: [2]
|
|
no-cond-assign: [2, except-parens]
|
|
no-confusing-arrow: [0]
|
|
no-console: [1, {allow: [debug, info, warn, error]}]
|
|
no-const-assign: [2]
|
|
no-constant-binary-expression: [2]
|
|
no-constant-condition: [0]
|
|
no-constructor-return: [2]
|
|
no-continue: [0]
|
|
no-control-regex: [0]
|
|
no-debugger: [1]
|
|
no-delete-var: [2]
|
|
no-div-regex: [0]
|
|
no-dupe-args: [2]
|
|
no-dupe-class-members: [2]
|
|
no-dupe-else-if: [2]
|
|
no-dupe-keys: [2]
|
|
no-duplicate-case: [2]
|
|
no-duplicate-imports: [2]
|
|
no-else-return: [2]
|
|
no-empty-character-class: [2]
|
|
no-empty-function: [0]
|
|
no-empty-pattern: [2]
|
|
no-empty-static-block: [2]
|
|
no-empty: [2, {allowEmptyCatch: true}]
|
|
no-eq-null: [2]
|
|
no-eval: [2]
|
|
no-ex-assign: [2]
|
|
no-extend-native: [2]
|
|
no-extra-bind: [2]
|
|
no-extra-boolean-cast: [2]
|
|
no-extra-label: [0]
|
|
no-extra-parens: [0]
|
|
no-extra-semi: [2]
|
|
no-fallthrough: [2]
|
|
no-floating-decimal: [0]
|
|
no-func-assign: [2]
|
|
no-global-assign: [2]
|
|
no-implicit-coercion: [2]
|
|
no-implicit-globals: [0]
|
|
no-implied-eval: [2]
|
|
no-import-assign: [2]
|
|
no-inline-comments: [0]
|
|
no-inner-declarations: [2]
|
|
no-invalid-regexp: [2]
|
|
no-invalid-this: [0]
|
|
no-irregular-whitespace: [2]
|
|
no-iterator: [2]
|
|
no-jquery/no-ajax-events: [2]
|
|
no-jquery/no-ajax: [0]
|
|
no-jquery/no-and-self: [2]
|
|
no-jquery/no-animate-toggle: [2]
|
|
no-jquery/no-animate: [2]
|
|
no-jquery/no-append-html: [0]
|
|
no-jquery/no-attr: [0]
|
|
no-jquery/no-bind: [2]
|
|
no-jquery/no-box-model: [2]
|
|
no-jquery/no-browser: [2]
|
|
no-jquery/no-camel-case: [2]
|
|
no-jquery/no-class-state: [0]
|
|
no-jquery/no-class: [0]
|
|
no-jquery/no-clone: [2]
|
|
no-jquery/no-closest: [0]
|
|
no-jquery/no-constructor-attributes: [2]
|
|
no-jquery/no-contains: [2]
|
|
no-jquery/no-context-prop: [2]
|
|
no-jquery/no-css: [0]
|
|
no-jquery/no-data: [0]
|
|
no-jquery/no-deferred: [2]
|
|
no-jquery/no-delegate: [2]
|
|
no-jquery/no-each-collection: [0]
|
|
no-jquery/no-each-util: [0]
|
|
no-jquery/no-each: [0]
|
|
no-jquery/no-error-shorthand: [2]
|
|
no-jquery/no-error: [2]
|
|
no-jquery/no-escape-selector: [2]
|
|
no-jquery/no-event-shorthand: [2]
|
|
no-jquery/no-extend: [2]
|
|
no-jquery/no-fade: [2]
|
|
no-jquery/no-filter: [0]
|
|
no-jquery/no-find-collection: [0]
|
|
no-jquery/no-find-util: [2]
|
|
no-jquery/no-find: [0]
|
|
no-jquery/no-fx-interval: [2]
|
|
no-jquery/no-global-eval: [2]
|
|
no-jquery/no-global-selector: [0]
|
|
no-jquery/no-grep: [2]
|
|
no-jquery/no-has: [2]
|
|
no-jquery/no-hold-ready: [2]
|
|
no-jquery/no-html: [0]
|
|
no-jquery/no-in-array: [2]
|
|
no-jquery/no-is-array: [2]
|
|
no-jquery/no-is-empty-object: [2]
|
|
no-jquery/no-is-function: [2]
|
|
no-jquery/no-is-numeric: [2]
|
|
no-jquery/no-is-plain-object: [2]
|
|
no-jquery/no-is-window: [2]
|
|
no-jquery/no-is: [0]
|
|
no-jquery/no-jquery-constructor: [0]
|
|
no-jquery/no-live: [2]
|
|
no-jquery/no-load-shorthand: [2]
|
|
no-jquery/no-load: [2]
|
|
no-jquery/no-map-collection: [0]
|
|
no-jquery/no-map-util: [2]
|
|
no-jquery/no-map: [0]
|
|
no-jquery/no-merge: [2]
|
|
no-jquery/no-node-name: [2]
|
|
no-jquery/no-noop: [2]
|
|
no-jquery/no-now: [2]
|
|
no-jquery/no-on-ready: [2]
|
|
no-jquery/no-other-methods: [0]
|
|
no-jquery/no-other-utils: [2]
|
|
no-jquery/no-param: [2]
|
|
no-jquery/no-parent: [0]
|
|
no-jquery/no-parents: [0]
|
|
no-jquery/no-parse-html-literal: [0]
|
|
no-jquery/no-parse-html: [2]
|
|
no-jquery/no-parse-json: [2]
|
|
no-jquery/no-parse-xml: [2]
|
|
no-jquery/no-prop: [0]
|
|
no-jquery/no-proxy: [2]
|
|
no-jquery/no-ready-shorthand: [2]
|
|
no-jquery/no-ready: [2]
|
|
no-jquery/no-selector-prop: [2]
|
|
no-jquery/no-serialize: [2]
|
|
no-jquery/no-size: [2]
|
|
no-jquery/no-sizzle: [0]
|
|
no-jquery/no-slide: [2]
|
|
no-jquery/no-sub: [2]
|
|
no-jquery/no-support: [2]
|
|
no-jquery/no-text: [0]
|
|
no-jquery/no-trigger: [0]
|
|
no-jquery/no-trim: [2]
|
|
no-jquery/no-type: [2]
|
|
no-jquery/no-unique: [2]
|
|
no-jquery/no-unload-shorthand: [2]
|
|
no-jquery/no-val: [0]
|
|
no-jquery/no-visibility: [2]
|
|
no-jquery/no-when: [2]
|
|
no-jquery/no-wrap: [2]
|
|
no-jquery/variable-pattern: [0]
|
|
no-label-var: [2]
|
|
no-labels: [0] # handled by no-restricted-syntax
|
|
no-lone-blocks: [2]
|
|
no-lonely-if: [0]
|
|
no-loop-func: [0]
|
|
no-loss-of-precision: [2]
|
|
no-magic-numbers: [0]
|
|
no-misleading-character-class: [2]
|
|
no-mixed-operators: [0]
|
|
no-mixed-spaces-and-tabs: [2]
|
|
no-multi-assign: [0]
|
|
no-multi-spaces: [2, {ignoreEOLComments: true, exceptions: {Property: true}}]
|
|
no-multi-str: [2]
|
|
no-negated-condition: [0]
|
|
no-nested-ternary: [0]
|
|
no-new-func: [2]
|
|
no-new-native-nonconstructor: [2]
|
|
no-new-object: [2]
|
|
no-new-symbol: [2]
|
|
no-new-wrappers: [2]
|
|
no-new: [0]
|
|
no-nonoctal-decimal-escape: [2]
|
|
no-obj-calls: [2]
|
|
no-octal-escape: [2]
|
|
no-octal: [2]
|
|
no-param-reassign: [0]
|
|
no-plusplus: [0]
|
|
no-promise-executor-return: [0]
|
|
no-proto: [2]
|
|
no-prototype-builtins: [2]
|
|
no-redeclare: [2]
|
|
no-regex-spaces: [2]
|
|
no-restricted-exports: [0]
|
|
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]
|
|
no-restricted-imports: [0]
|
|
no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression, {selector: "CallExpression[callee.name='fetch']", message: "use modules/fetch.js instead"}]
|
|
no-return-assign: [0]
|
|
no-script-url: [2]
|
|
no-self-assign: [2, {props: true}]
|
|
no-self-compare: [2]
|
|
no-sequences: [2]
|
|
no-setter-return: [2]
|
|
no-shadow-restricted-names: [2]
|
|
no-shadow: [0]
|
|
no-sparse-arrays: [2]
|
|
no-tabs: [2]
|
|
no-template-curly-in-string: [2]
|
|
no-ternary: [0]
|
|
no-this-before-super: [2]
|
|
no-throw-literal: [2]
|
|
no-trailing-spaces: [2]
|
|
no-undef-init: [2]
|
|
no-undef: [2, {typeof: true}]
|
|
no-undefined: [0]
|
|
no-underscore-dangle: [0]
|
|
no-unexpected-multiline: [2]
|
|
no-unmodified-loop-condition: [2]
|
|
no-unneeded-ternary: [0]
|
|
no-unreachable-loop: [2]
|
|
no-unreachable: [2]
|
|
no-unsafe-finally: [2]
|
|
no-unsafe-negation: [2]
|
|
no-unused-expressions: [2]
|
|
no-unused-labels: [2]
|
|
no-unused-private-class-members: [2]
|
|
no-unused-vars: [2, {args: all, argsIgnorePattern: ^_, varsIgnorePattern: ^_, caughtErrorsIgnorePattern: ^_, destructuredArrayIgnorePattern: ^_, ignoreRestSiblings: false}]
|
|
no-use-before-define: [2, {functions: false, classes: true, variables: true, allowNamedExports: true}]
|
|
no-use-extend-native/no-use-extend-native: [2]
|
|
no-useless-backreference: [2]
|
|
no-useless-call: [2]
|
|
no-useless-catch: [2]
|
|
no-useless-computed-key: [2]
|
|
no-useless-concat: [2]
|
|
no-useless-constructor: [2]
|
|
no-useless-escape: [2]
|
|
no-useless-rename: [2]
|
|
no-useless-return: [2]
|
|
no-var: [2]
|
|
no-void: [2]
|
|
no-warning-comments: [0]
|
|
no-whitespace-before-property: [2]
|
|
no-with: [0] # handled by no-restricted-syntax
|
|
nonblock-statement-body-position: [2]
|
|
object-curly-newline: [0]
|
|
object-curly-spacing: [2, never]
|
|
object-shorthand: [2, always]
|
|
one-var-declaration-per-line: [0]
|
|
one-var: [0]
|
|
operator-assignment: [2, always]
|
|
operator-linebreak: [2, after]
|
|
padded-blocks: [2, never]
|
|
padding-line-between-statements: [0]
|
|
prefer-arrow-callback: [2, {allowNamedFunctions: true, allowUnboundThis: true}]
|
|
prefer-const: [2, {destructuring: all, ignoreReadBeforeAssign: true}]
|
|
prefer-destructuring: [0]
|
|
prefer-exponentiation-operator: [2]
|
|
prefer-named-capture-group: [0]
|
|
prefer-numeric-literals: [2]
|
|
prefer-object-has-own: [2]
|
|
prefer-object-spread: [2]
|
|
prefer-promise-reject-errors: [2, {allowEmptyReject: false}]
|
|
prefer-regex-literals: [2]
|
|
prefer-rest-params: [2]
|
|
prefer-spread: [2]
|
|
prefer-template: [2]
|
|
quote-props: [0]
|
|
quotes: [2, single, {avoidEscape: true, allowTemplateLiterals: true}]
|
|
radix: [2, as-needed]
|
|
regexp/confusing-quantifier: [2]
|
|
regexp/control-character-escape: [2]
|
|
regexp/hexadecimal-escape: [0]
|
|
regexp/letter-case: [0]
|
|
regexp/match-any: [2]
|
|
regexp/negation: [2]
|
|
regexp/no-contradiction-with-assertion: [0]
|
|
regexp/no-control-character: [0]
|
|
regexp/no-dupe-characters-character-class: [2]
|
|
regexp/no-dupe-disjunctions: [2]
|
|
regexp/no-empty-alternative: [2]
|
|
regexp/no-empty-capturing-group: [2]
|
|
regexp/no-empty-character-class: [0]
|
|
regexp/no-empty-group: [2]
|
|
regexp/no-empty-lookarounds-assertion: [2]
|
|
regexp/no-escape-backspace: [2]
|
|
regexp/no-extra-lookaround-assertions: [0]
|
|
regexp/no-invalid-regexp: [2]
|
|
regexp/no-invisible-character: [2]
|
|
regexp/no-lazy-ends: [2]
|
|
regexp/no-legacy-features: [2]
|
|
regexp/no-misleading-capturing-group: [0]
|
|
regexp/no-misleading-unicode-character: [0]
|
|
regexp/no-missing-g-flag: [2]
|
|
regexp/no-non-standard-flag: [2]
|
|
regexp/no-obscure-range: [2]
|
|
regexp/no-octal: [2]
|
|
regexp/no-optional-assertion: [2]
|
|
regexp/no-potentially-useless-backreference: [2]
|
|
regexp/no-standalone-backslash: [2]
|
|
regexp/no-super-linear-backtracking: [0]
|
|
regexp/no-super-linear-move: [0]
|
|
regexp/no-trivially-nested-assertion: [2]
|
|
regexp/no-trivially-nested-quantifier: [2]
|
|
regexp/no-unused-capturing-group: [0]
|
|
regexp/no-useless-assertions: [2]
|
|
regexp/no-useless-backreference: [2]
|
|
regexp/no-useless-character-class: [2]
|
|
regexp/no-useless-dollar-replacements: [2]
|
|
regexp/no-useless-escape: [2]
|
|
regexp/no-useless-flag: [2]
|
|
regexp/no-useless-lazy: [2]
|
|
regexp/no-useless-non-capturing-group: [2]
|
|
regexp/no-useless-quantifier: [2]
|
|
regexp/no-useless-range: [2]
|
|
regexp/no-useless-two-nums-quantifier: [2]
|
|
regexp/no-zero-quantifier: [2]
|
|
regexp/optimal-lookaround-quantifier: [2]
|
|
regexp/optimal-quantifier-concatenation: [0]
|
|
regexp/prefer-character-class: [0]
|
|
regexp/prefer-d: [0]
|
|
regexp/prefer-escape-replacement-dollar-char: [0]
|
|
regexp/prefer-lookaround: [0]
|
|
regexp/prefer-named-backreference: [0]
|
|
regexp/prefer-named-capture-group: [0]
|
|
regexp/prefer-named-replacement: [0]
|
|
regexp/prefer-plus-quantifier: [2]
|
|
regexp/prefer-predefined-assertion: [2]
|
|
regexp/prefer-quantifier: [0]
|
|
regexp/prefer-question-quantifier: [2]
|
|
regexp/prefer-range: [2]
|
|
regexp/prefer-regexp-exec: [2]
|
|
regexp/prefer-regexp-test: [2]
|
|
regexp/prefer-result-array-groups: [0]
|
|
regexp/prefer-star-quantifier: [2]
|
|
regexp/prefer-unicode-codepoint-escapes: [2]
|
|
regexp/prefer-w: [0]
|
|
regexp/require-unicode-regexp: [0]
|
|
regexp/sort-alternatives: [0]
|
|
regexp/sort-character-class-elements: [0]
|
|
regexp/sort-flags: [0]
|
|
regexp/strict: [2]
|
|
regexp/unicode-escape: [0]
|
|
regexp/use-ignore-case: [0]
|
|
require-atomic-updates: [0]
|
|
require-await: [0]
|
|
require-unicode-regexp: [0]
|
|
require-yield: [2]
|
|
rest-spread-spacing: [2, never]
|
|
semi-spacing: [2, {before: false, after: true}]
|
|
semi-style: [2, last]
|
|
semi: [2, always, {omitLastInOneLineBlock: true}]
|
|
sonarjs/cognitive-complexity: [0]
|
|
sonarjs/elseif-without-else: [0]
|
|
sonarjs/max-switch-cases: [0]
|
|
sonarjs/no-all-duplicated-branches: [2]
|
|
sonarjs/no-collapsible-if: [0]
|
|
sonarjs/no-collection-size-mischeck: [2]
|
|
sonarjs/no-duplicate-string: [0]
|
|
sonarjs/no-duplicated-branches: [0]
|
|
sonarjs/no-element-overwrite: [2]
|
|
sonarjs/no-empty-collection: [2]
|
|
sonarjs/no-extra-arguments: [2]
|
|
sonarjs/no-gratuitous-expressions: [2]
|
|
sonarjs/no-identical-conditions: [2]
|
|
sonarjs/no-identical-expressions: [2]
|
|
sonarjs/no-identical-functions: [2, 5]
|
|
sonarjs/no-ignored-return: [2]
|
|
sonarjs/no-inverted-boolean-check: [2]
|
|
sonarjs/no-nested-switch: [0]
|
|
sonarjs/no-nested-template-literals: [0]
|
|
sonarjs/no-one-iteration-loop: [2]
|
|
sonarjs/no-redundant-boolean: [2]
|
|
sonarjs/no-redundant-jump: [2]
|
|
sonarjs/no-same-line-conditional: [2]
|
|
sonarjs/no-small-switch: [0]
|
|
sonarjs/no-unused-collection: [2]
|
|
sonarjs/no-use-of-empty-return-value: [2]
|
|
sonarjs/no-useless-catch: [2]
|
|
sonarjs/non-existent-operator: [2]
|
|
sonarjs/prefer-immediate-return: [0]
|
|
sonarjs/prefer-object-literal: [0]
|
|
sonarjs/prefer-single-boolean-return: [0]
|
|
sonarjs/prefer-while: [2]
|
|
sort-imports: [0]
|
|
sort-keys: [0]
|
|
sort-vars: [0]
|
|
space-before-blocks: [2, always]
|
|
space-in-parens: [2, never]
|
|
space-infix-ops: [2]
|
|
space-unary-ops: [2]
|
|
spaced-comment: [2, always]
|
|
strict: [0]
|
|
switch-colon-spacing: [2]
|
|
symbol-description: [2]
|
|
template-curly-spacing: [2, never]
|
|
template-tag-spacing: [2, never]
|
|
unicode-bom: [2, never]
|
|
unicorn/better-regex: [0]
|
|
unicorn/catch-error-name: [0]
|
|
unicorn/consistent-destructuring: [2]
|
|
unicorn/consistent-function-scoping: [2]
|
|
unicorn/custom-error-definition: [0]
|
|
unicorn/empty-brace-spaces: [2]
|
|
unicorn/error-message: [0]
|
|
unicorn/escape-case: [0]
|
|
unicorn/expiring-todo-comments: [0]
|
|
unicorn/explicit-length-check: [0]
|
|
unicorn/filename-case: [0]
|
|
unicorn/import-index: [0]
|
|
unicorn/import-style: [0]
|
|
unicorn/new-for-builtins: [2]
|
|
unicorn/no-abusive-eslint-disable: [0]
|
|
unicorn/no-array-callback-reference: [0]
|
|
unicorn/no-array-for-each: [2]
|
|
unicorn/no-array-method-this-argument: [2]
|
|
unicorn/no-array-push-push: [2]
|
|
unicorn/no-array-reduce: [2]
|
|
unicorn/no-await-expression-member: [0]
|
|
unicorn/no-console-spaces: [0]
|
|
unicorn/no-document-cookie: [2]
|
|
unicorn/no-empty-file: [2]
|
|
unicorn/no-for-loop: [0]
|
|
unicorn/no-hex-escape: [0]
|
|
unicorn/no-instanceof-array: [0]
|
|
unicorn/no-invalid-remove-event-listener: [2]
|
|
unicorn/no-keyword-prefix: [0]
|
|
unicorn/no-lonely-if: [2]
|
|
unicorn/no-negated-condition: [0]
|
|
unicorn/no-nested-ternary: [0]
|
|
unicorn/no-new-array: [0]
|
|
unicorn/no-new-buffer: [0]
|
|
unicorn/no-null: [0]
|
|
unicorn/no-object-as-default-parameter: [0]
|
|
unicorn/no-process-exit: [0]
|
|
unicorn/no-static-only-class: [2]
|
|
unicorn/no-thenable: [2]
|
|
unicorn/no-this-assignment: [2]
|
|
unicorn/no-typeof-undefined: [2]
|
|
unicorn/no-unnecessary-await: [2]
|
|
unicorn/no-unreadable-array-destructuring: [0]
|
|
unicorn/no-unreadable-iife: [2]
|
|
unicorn/no-unused-properties: [2]
|
|
unicorn/no-useless-fallback-in-spread: [2]
|
|
unicorn/no-useless-length-check: [2]
|
|
unicorn/no-useless-promise-resolve-reject: [2]
|
|
unicorn/no-useless-spread: [2]
|
|
unicorn/no-useless-switch-case: [2]
|
|
unicorn/no-useless-undefined: [0]
|
|
unicorn/no-zero-fractions: [2]
|
|
unicorn/number-literal-case: [0]
|
|
unicorn/numeric-separators-style: [0]
|
|
unicorn/prefer-add-event-listener: [2]
|
|
unicorn/prefer-array-find: [2]
|
|
unicorn/prefer-array-flat-map: [2]
|
|
unicorn/prefer-array-flat: [2]
|
|
unicorn/prefer-array-index-of: [2]
|
|
unicorn/prefer-array-some: [2]
|
|
unicorn/prefer-at: [0]
|
|
unicorn/prefer-blob-reading-methods: [2]
|
|
unicorn/prefer-code-point: [0]
|
|
unicorn/prefer-date-now: [2]
|
|
unicorn/prefer-default-parameters: [0]
|
|
unicorn/prefer-dom-node-append: [2]
|
|
unicorn/prefer-dom-node-dataset: [0]
|
|
unicorn/prefer-dom-node-remove: [2]
|
|
unicorn/prefer-dom-node-text-content: [2]
|
|
unicorn/prefer-event-target: [2]
|
|
unicorn/prefer-export-from: [0]
|
|
unicorn/prefer-includes: [2]
|
|
unicorn/prefer-json-parse-buffer: [0]
|
|
unicorn/prefer-keyboard-event-key: [2]
|
|
unicorn/prefer-logical-operator-over-ternary: [2]
|
|
unicorn/prefer-math-trunc: [2]
|
|
unicorn/prefer-modern-dom-apis: [0]
|
|
unicorn/prefer-modern-math-apis: [2]
|
|
unicorn/prefer-module: [2]
|
|
unicorn/prefer-native-coercion-functions: [2]
|
|
unicorn/prefer-negative-index: [2]
|
|
unicorn/prefer-node-protocol: [2]
|
|
unicorn/prefer-number-properties: [0]
|
|
unicorn/prefer-object-from-entries: [2]
|
|
unicorn/prefer-object-has-own: [0]
|
|
unicorn/prefer-optional-catch-binding: [2]
|
|
unicorn/prefer-prototype-methods: [0]
|
|
unicorn/prefer-query-selector: [0]
|
|
unicorn/prefer-reflect-apply: [0]
|
|
unicorn/prefer-regexp-test: [2]
|
|
unicorn/prefer-set-has: [0]
|
|
unicorn/prefer-set-size: [2]
|
|
unicorn/prefer-spread: [0]
|
|
unicorn/prefer-string-replace-all: [0]
|
|
unicorn/prefer-string-slice: [0]
|
|
unicorn/prefer-string-starts-ends-with: [2]
|
|
unicorn/prefer-string-trim-start-end: [2]
|
|
unicorn/prefer-switch: [0]
|
|
unicorn/prefer-ternary: [0]
|
|
unicorn/prefer-text-content: [2]
|
|
unicorn/prefer-top-level-await: [0]
|
|
unicorn/prefer-type-error: [0]
|
|
unicorn/prevent-abbreviations: [0]
|
|
unicorn/relative-url-style: [2]
|
|
unicorn/require-array-join-separator: [2]
|
|
unicorn/require-number-to-fixed-digits-argument: [2]
|
|
unicorn/require-post-message-target-origin: [0]
|
|
unicorn/string-content: [0]
|
|
unicorn/switch-case-braces: [0]
|
|
unicorn/template-indent: [2]
|
|
unicorn/text-encoding-identifier-case: [0]
|
|
unicorn/throw-new-error: [2]
|
|
use-isnan: [2]
|
|
valid-typeof: [2, {requireStringLiterals: true}]
|
|
vars-on-top: [0]
|
|
wc/attach-shadow-constructor: [2]
|
|
wc/define-tag-after-class-definition: [0]
|
|
wc/expose-class-on-global: [0]
|
|
wc/file-name-matches-element: [2]
|
|
wc/guard-define-call: [0]
|
|
wc/guard-super-call: [2]
|
|
wc/max-elements-per-file: [0]
|
|
wc/no-child-traversal-in-attributechangedcallback: [2]
|
|
wc/no-child-traversal-in-connectedcallback: [2]
|
|
wc/no-closed-shadow-root: [2]
|
|
wc/no-constructor-attributes: [2]
|
|
wc/no-constructor-params: [2]
|
|
wc/no-constructor: [2]
|
|
wc/no-customized-built-in-elements: [2]
|
|
wc/no-exports-with-element: [0]
|
|
wc/no-invalid-element-name: [2]
|
|
wc/no-invalid-extends: [2]
|
|
wc/no-method-prefixed-with-on: [2]
|
|
wc/no-self-class: [2]
|
|
wc/no-typos: [2]
|
|
wc/require-listener-teardown: [2]
|
|
wc/tag-name-matches-class: [2]
|
|
wrap-iife: [2, inside]
|
|
wrap-regex: [0]
|
|
yield-star-spacing: [2, after]
|
|
yoda: [2, never]
|