productive-eslint 3.3.1 → 3.3.2

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.
@@ -1 +1 @@
1
- import e from"@typescript-eslint/parser";import{FlatConfigComposer as t}from"eslint-flat-config-utils";import n from"eslint-plugin-prettier";import r from"eslint-plugin-vue";import i from"globals";import{isPackageExists as a}from"local-pkg";import o from"vue-eslint-parser";import s from"eslint-plugin-boundaries";import c from"@eslint/css";import l from"@eslint-community/eslint-plugin-eslint-comments";import u from"eslint-plugin-import";import d from"eslint-plugin-prefer-arrow-functions";import f from"eslint-plugin-unused-imports";import p from"eslint-plugin-jsdoc";import ee from"eslint-plugin-jsonc";import m from"jsonc-eslint-parser";import h from"eslint-plugin-n";import g from"eslint-plugin-perfectionist";import{AST_NODE_TYPES as _,ESLintUtils as v}from"@typescript-eslint/utils";import y from"eslint-plugin-promise";import b from"eslint-plugin-regexp";import x from"@smarttools/eslint-plugin-rxjs";import S from"eslint-plugin-sonarjs";import C from"eslint-plugin-toml";import w from"toml-eslint-parser";import T from"@typescript-eslint/eslint-plugin";import E from"eslint-plugin-unicorn";import D from"eslint-plugin-yml";import te from"yaml-eslint-parser";let O=function(e){return e.AUTO_FIXABLE=`autoFixable`,e.EASY=`easy`,e.HARD=`hard`,e.MEDIUM=`medium`,e}({});const k=[O.AUTO_FIXABLE,O.EASY,O.MEDIUM,O.HARD],A=e=>{let t=k.indexOf(e);return t===-1?0:t},j=(e,t)=>{let n=A(t),r=k.filter(e=>A(e)<=n),[i]=r,a=i?e[i]:null,o=a?(()=>{let{rules:e,...t}=a;return t})():{},s={};for(let t of r){let n=e[t];n.rules&&Object.keys(n.rules).length>0&&Object.assign(s,n.rules)}return Object.keys(s).length>0?{...o,rules:s}:o},M={name:`boundaries`,plugins:{boundaries:s},settings:{"boundaries/elements":[{pattern:`app`,type:`app`},{capture:[`page`],pattern:`pages/*`,type:`pages`},{capture:[`widget`],pattern:`widgets/*`,type:`widgets`},{capture:[`feature`],pattern:`features/*`,type:`features`},{capture:[`entity`],pattern:`entities/*`,type:`entities`},{capture:[`segment`],pattern:`shared/*`,type:`shared`}],"boundaries/include":[`src/**/*`],"import/resolver":{typescript:{alwaysTryTypes:!0}}}},N={},P={},F={"boundaries/element-types":[`error`,{default:`allow`,message:"${file.type} is not allowed to import (${dependency.type})",rules:[{disallow:[`app`,`pages`,`widgets`,`features`,`entities`],from:[`shared`],message:"Shared module must not import upper layers (${dependency.type})"},{disallow:[`app`,`pages`,`widgets`,`features`],from:[`entities`],message:"Entity must not import upper layers (${dependency.type})"},{disallow:[[`entities`,{entity:"!${entity}"}]],from:[`entities`],message:`Entity must not import other entity`},{disallow:[`app`,`pages`,`widgets`],from:[`features`],message:"Feature must not import upper layers (${dependency.type})"},{disallow:[[`features`,{feature:"!${feature}"}]],from:[`features`],message:`Feature must not import other feature`},{disallow:[`app`,`pages`],from:[`widgets`],message:"Feature must not import upper layers (${dependency.type})"},{disallow:[[`widgets`,{widget:"!${widget}"}]],from:[`widgets`],message:`Widget must not import other widget`},{disallow:[`app`],from:[`pages`],message:"Page must not import upper layers (${dependency.type})"},{disallow:[[`pages`,{page:"!${page}"}]],from:[`pages`],message:`Page must not import other page`}]}],"boundaries/entry-point":[`error`,{default:`disallow`,rules:[{allow:`**`,target:[`shared`]},{allow:`index.{ts,vue}`,target:[`app`,`pages`,`widgets`,`features`,`entities`]}]}]},I={[O.AUTO_FIXABLE]:{...M},[O.EASY]:{rules:N},[O.HARD]:{rules:F},[O.MEDIUM]:{rules:P}},L={plugins:{css:c}},R={"css/font-family-fallbacks":`error`,"css/no-duplicate-imports":`error`,"css/no-duplicate-keyframe-selectors":`error`,"css/no-empty-blocks":`error`,"css/no-important":`error`,"css/no-invalid-at-rule-placement":`error`,"css/no-invalid-at-rules":`error`,"css/no-invalid-named-grid-areas":`error`,"css/no-invalid-properties":`error`,"css/no-unmatchable-selectors":`error`,"css/use-baseline":`error`},z={[O.AUTO_FIXABLE]:{...L},[O.EASY]:{},[O.HARD]:{},[O.MEDIUM]:{rules:R}},B=`?([cm])[jt]s?(x)`,V=`**/*.${B}`,H=`**/*.?([cm])ts?(x)`,U=`**/*.?([cm])tsx`,W=`**/*.vue`,G=`**/*.json`,K=`**/*.json5`,q=`**/*.jsonc`,J=`**/*.y?(a)ml`,Y=`**/*.toml`,X=`**/*.css`;`${B}`,`${B}`,`${B}`,`${B}`,`${B}`;const Z=`**/node_modules,**/dist,**/package-lock.json,**/yarn.lock,**/pnpm-lock.yaml,**/bun.lockb,**/output,**/coverage,**/temp,**/tmp,**/.temp,**/.tmp,**/.history,**/.vitepress/cache,**/.nuxt,**/.next,**/.svelte-kit,**/.vercel,**/.changeset,**/.idea,**/.cache,**/.output,**/.vite-inspect,**/.yarn,**/*.min.*,**/LICENSE*,**/__snapshots__,**/auto-import?(s).d.ts,**/components.d.ts`.split(`,`),Q=[{files:[`**/scripts/${V}`],name:`disables/scripts`,rules:{"@typescript-eslint/explicit-function-return-type":`off`,"no-console":`off`}},{files:[`**/cli/${V}`,`**/cli.${B}`],name:`disables/cli`,rules:{"no-console":`off`}},{files:[`**/*.d.?([cm])ts`],name:`disables/dts`,rules:{"eslint-comments/no-unlimited-disable":`off`,"import/no-default-export":`off`,"no-restricted-syntax":`off`,"unused-imports/no-unused-vars":`off`}},{files:[`**/*.js`,`**/*.cjs`],name:`disables/cjs`,rules:{"@typescript-eslint/no-require-imports":`off`}},{files:[`**/*.config.${B}`,`**/*.config.*.${B}`,`**/*.plugin.${B}`],name:`disables/config-files`,rules:{"@typescript-eslint/explicit-function-return-type":`off`,"@typescript-eslint/naming-convention":`off`,"@typescript-eslint/no-magic-numbers":`off`,"no-console":`off`,"no-template-curly-in-string":`off`}}],ne={plugins:{"eslint-comments":l}},re={"eslint-comments/no-aggregating-enable":`error`,"eslint-comments/no-duplicate-disable":`error`,"eslint-comments/no-unlimited-disable":`error`,"eslint-comments/no-unused-enable":`error`},ie={[O.AUTO_FIXABLE]:{...ne},[O.EASY]:{rules:re},[O.HARD]:{},[O.MEDIUM]:{}},ae={name:`imports`,plugins:{import:u},settings:{"import/resolver":{typescript:!0}}},oe={"import/first":`error`,"import/newline-after-import":[`error`,{count:1}],"import/no-empty-named-blocks":`error`},se={"import/consistent-type-specifier-style":[`error`,`prefer-top-level`],"import/extensions":[`error`,`ignorePackages`,{js:`never`,jsx:`never`,ts:`never`,tsx:`never`}],"import/no-commonjs":`error`,"import/no-duplicates":`error`,"import/no-mutable-exports":`error`,"import/no-named-default":`error`,"import/no-namespace":`error`,"import/no-relative-packages":`error`,"import/no-self-import":`error`,"import/no-useless-path-segments":`error`},ce={"import/export":`error`,"import/no-cycle":`error`},le={[O.AUTO_FIXABLE]:{...ae,rules:oe},[O.EASY]:{rules:se},[O.HARD]:{},[O.MEDIUM]:{rules:ce}},ue={plugins:{"prefer-arrow-functions":d,"unused-imports":f}},de={"arrow-body-style":[`error`,`as-needed`],curly:[`error`,`all`],"dot-notation":`off`,"no-array-constructor":`error`,"no-extra-bind":`error`,"no-extra-boolean-cast":`error`,"no-regex-spaces":`error`,"no-restricted-syntax":`off`,"no-throw-literal":`off`,"no-undef-init":`error`,"no-unneeded-ternary":[`error`,{defaultAssignment:!1}],"no-useless-computed-key":`error`,"no-useless-rename":`error`,"no-useless-return":`error`,"no-var":`error`,"object-shorthand":[`error`,`always`,{avoidQuotes:!0,ignoreConstructors:!1}],"one-var":[`error`,{initialized:`never`}],"operator-assignment":`error`,"prefer-arrow-callback":[`error`,{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-exponentiation-operator":`error`,"prefer-object-spread":`error`,"prefer-promise-reject-errors":`off`,"prefer-template":`error`,"unicode-bom":[`error`,`never`],"unused-imports/no-unused-imports":`error`,"unused-imports/no-unused-vars":`off`,yoda:[`error`,`never`]},fe={"accessor-pairs":[`error`,{enforceForClassMembers:!0,setWithoutGet:!0}],"array-callback-return":`error`,"block-scoped-var":`error`,"constructor-super":`error`,"default-case":`error`,"default-case-last":`error`,eqeqeq:[`error`,`smart`],"prefer-arrow-functions/prefer-arrow-functions":`error`,"grouped-accessor-pairs":`error`,"id-length":[`error`,{exceptions:[`t`]}],"logical-assignment-operators":[`error`,`always`,{enforceForIfStatements:!0}],"no-alert":`error`,"no-async-promise-executor":`error`,"no-caller":`error`,"no-case-declarations":`error`,"no-class-assign":`error`,"no-compare-neg-zero":`error`,"no-cond-assign":[`error`,`always`],"no-console":[`error`,{allow:[`warn`,`error`]}],"no-const-assign":`error`,"no-control-regex":`error`,"no-debugger":`error`,"no-delete-var":`error`,"no-dupe-args":`error`,"no-dupe-class-members":`error`,"no-dupe-keys":`error`,"no-duplicate-case":`error`,"no-empty":[`error`,{allowEmptyCatch:!0}],"no-empty-character-class":`error`,"no-empty-function":`error`,"no-empty-pattern":`error`,"no-empty-static-block":`error`,"no-eval":`error`,"no-ex-assign":`error`,"no-extend-native":`error`,"no-fallthrough":`error`,"no-func-assign":`error`,"no-global-assign":`error`,"no-implied-eval":`error`,"no-import-assign":`error`,"no-inner-declarations":`error`,"no-invalid-regexp":`error`,"no-irregular-whitespace":`error`,"no-iterator":`error`,"no-labels":[`error`,{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":`error`,"no-loss-of-precision":`error`,"no-misleading-character-class":`error`,"no-multi-str":`error`,"no-new":`error`,"no-new-func":`error`,"no-new-native-nonconstructor":`error`,"no-new-wrappers":`error`,"no-obj-calls":`error`,"no-object-constructor":`error`,"no-octal":`error`,"no-octal-escape":`error`,"no-proto":`error`,"no-prototype-builtins":`error`,"no-redeclare":[`error`,{builtinGlobals:!1}],"no-restricted-globals":[`error`,{message:"Use `globalThis` instead.",name:`global`},{message:"Use `globalThis` instead.",name:`self`}],"no-restricted-properties":[`error`,{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:`__proto__`},{message:"Use `Object.defineProperty` instead.",property:`__defineGetter__`},{message:"Use `Object.defineProperty` instead.",property:`__defineSetter__`},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:`__lookupGetter__`},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:`__lookupSetter__`}],"no-self-assign":[`error`,{props:!0}],"no-self-compare":`error`,"no-shadow":`error`,"no-shadow-restricted-names":`error`,"no-sparse-arrays":`error`,"no-template-curly-in-string":`error`,"no-this-before-super":`error`,"no-undef":`error`,"no-unexpected-multiline":`error`,"no-unmodified-loop-condition":`error`,"no-unreachable":`error`,"no-unreachable-loop":`error`,"no-unsafe-finally":`error`,"no-unsafe-negation":`error`,"no-unused-expressions":[`error`,{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],"no-unused-private-class-members":`error`,"no-unused-vars":[`error`,{args:`none`,caughtErrors:`none`,ignoreRestSiblings:!0,vars:`all`}],"no-use-before-define":[`error`,{classes:!1,functions:!1,variables:!0}],"no-useless-backreference":`error`,"no-useless-call":`error`,"no-useless-catch":`error`,"no-useless-concat":`error`,"no-useless-constructor":`error`,"no-useless-escape":`error`,"no-void":[`error`,{allowAsStatement:!0}],"no-with":`error`,"prefer-const":[`error`,{destructuring:`all`,ignoreReadBeforeAssign:!0}],"prefer-regex-literals":[`error`,{disallowRedundantWrapping:!0}],"prefer-rest-params":`error`,"prefer-spread":`error`,"symbol-description":`error`,"use-isnan":[`error`,{enforceForIndexOf:!0,enforceForSwitchCase:!0}],"valid-typeof":[`error`,{requireStringLiterals:!0}],"vars-on-top":`error`},pe={"consistent-this":`error`,"for-direction":`error`,"new-cap":[`error`,{capIsNew:!1,newIsCap:!0,properties:!0}],"no-bitwise":`error`,"no-constant-binary-expression":`error`,"no-constant-condition":`error`,"no-constructor-return":`error`,"no-implicit-coercion":[`error`,{disallowTemplateShorthand:!0}],"no-invalid-this":`error`,"no-param-reassign":[`error`,{ignorePropertyModificationsFor:[`accumulator`,`ctx`,`context`,`req`,`request`,`res`,`response`,`$scope`,`staticContext`,`ref`,`model`],ignorePropertyModificationsForRegex:[`^.*(?:Ref|Model)$`],props:!0}],"no-promise-executor-return":`error`,"no-return-assign":`error`,"no-script-url":`error`,"no-sequences":`error`},me={complexity:[`error`,{max:12}],"max-depth":[`error`,2],"require-atomic-updates":`error`},he={[O.AUTO_FIXABLE]:{...ue,rules:de},[O.EASY]:{rules:fe},[O.HARD]:{rules:me},[O.MEDIUM]:{rules:pe}},ge={files:[`./src/**/*`],plugins:{jsdoc:p}},_e={"jsdoc/require-jsdoc":[`error`,{checkConstructors:!1,contexts:[`TSPropertySignature`,`TSMethodSignature`,`TSTypeAliasDeclaration`,`TSInterfaceDeclaration`,`TSEnumDeclaration`,`MethodDefinition`,`ClassDeclaration`,`ArrowFunctionExpression`,`ObjectExpression`,`PropertyDefinition`],enableFixer:!1,publicOnly:!0}]},ve={[O.AUTO_FIXABLE]:{...ge},[O.EASY]:{rules:_e},[O.HARD]:{},[O.MEDIUM]:{}},ye=[{name:`jsonc/setup`,plugins:{jsonc:ee}},{files:[G,K,q],languageOptions:{parser:m},name:`jsonc/rules`,rules:{"jsonc/array-bracket-spacing":[`error`,`never`],"jsonc/comma-dangle":[`error`,`never`],"jsonc/comma-style":[`error`,`last`],"jsonc/indent":[`error`,2],"jsonc/key-spacing":[`error`,{afterColon:!0,beforeColon:!1}],"jsonc/no-bigint-literals":`error`,"jsonc/no-binary-expression":`error`,"jsonc/no-binary-numeric-literals":`error`,"jsonc/no-dupe-keys":`error`,"jsonc/no-escape-sequence-in-identifier":`error`,"jsonc/no-floating-decimal":`error`,"jsonc/no-hexadecimal-numeric-literals":`error`,"jsonc/no-infinity":`error`,"jsonc/no-multi-str":`error`,"jsonc/no-nan":`error`,"jsonc/no-number-props":`error`,"jsonc/no-numeric-separators":`error`,"jsonc/no-octal":`error`,"jsonc/no-octal-escape":`error`,"jsonc/no-octal-numeric-literals":`error`,"jsonc/no-parenthesized":`error`,"jsonc/no-plus-sign":`error`,"jsonc/no-regexp-literals":`error`,"jsonc/no-sparse-arrays":`error`,"jsonc/no-template-literals":`error`,"jsonc/no-undefined-value":`error`,"jsonc/no-unicode-codepoint-escapes":`error`,"jsonc/no-useless-escape":`error`,"jsonc/object-curly-newline":[`error`,{consistent:!0,multiline:!0}],"jsonc/object-curly-spacing":[`error`,`always`],"jsonc/object-property-newline":[`error`,{allowAllPropertiesOnSameLine:!0}],"jsonc/quote-props":`error`,"jsonc/quotes":`error`,"jsonc/space-unary-ops":`error`,"jsonc/valid-json-number":`error`,"jsonc/vue-custom-block/no-parsing-error":`error`}}],be={files:[V],plugins:{n:h}},xe={"n/handle-callback-err":[`error`,`^(err|error)$`],"n/no-deprecated-api":`error`,"n/no-exports-assign":`error`,"n/no-new-require":`error`,"n/no-path-concat":`error`,"n/prefer-global/buffer":[`error`,`never`],"n/prefer-global/process":[`error`,`never`],"n/process-exit-as-throw":`error`},Se={[O.AUTO_FIXABLE]:{...be},[O.EASY]:{rules:xe},[O.HARD]:{},[O.MEDIUM]:{}},Ce={"perfectionist/sort-array-includes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-classes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-decorators":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-enums":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-export-attributes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-exports":[`error`,{customGroups:[{elementNamePattern:`/lib/`,groupName:`lib`},{elementNamePattern:`/model/`,groupName:`model`},{elementNamePattern:`/ui/`,groupName:`ui`}],groups:[`lib`,`model`,`ui`],type:`natural`}],"perfectionist/sort-heritage-clauses":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-import-attributes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-imports":[`error`,{customGroups:[{elementNamePattern:`/shared/`,groupName:`shared`},{elementNamePattern:`/entities/`,groupName:`entities`},{elementNamePattern:`/features/`,groupName:`features`},{elementNamePattern:`/widgets/`,groupName:`widgets`},{elementNamePattern:`/pages/`,groupName:`pages`}],groups:[`shared`,`entities`,`features`,`widgets`,`pages`,`type-import`,[`value-builtin`,`value-external`],`type-internal`,`value-internal`,[`type-parent`,`type-sibling`,`type-index`],[`value-parent`,`value-sibling`,`value-index`],`ts-equals-import`,`unknown`],type:`natural`}],"perfectionist/sort-interfaces":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-intersection-types":[`error`,{groups:[`conditional`,`function`,`import`,`intersection`,`keyword`,`literal`,`named`,`object`,`operator`,`tuple`,`union`,`nullish`]}],"perfectionist/sort-jsx-props":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-maps":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-modules":[`error`,{type:`unsorted`}],"perfectionist/sort-named-exports":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-named-imports":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-object-types":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-objects":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-sets":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-switch-case":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-union-types":[`error`,{groups:[`conditional`,`function`,`import`,`intersection`,`keyword`,`literal`,`named`,`object`,`operator`,`tuple`,`union`,`nullish`]}],"perfectionist/sort-variable-declarations":[`error`,{order:`asc`,type:`natural`}]},we={[O.AUTO_FIXABLE]:{plugins:{perfectionist:g},rules:Ce},[O.EASY]:{},[O.HARD]:{},[O.MEDIUM]:{}},Te=v.RuleCreator.withoutDocs({create:e=>({IfStatement:t=>{let{options:[n]}=e;if(n<2)throw Error(`Depth should be 2 or above`);let r=0,{parent:i}=t;for(;i.type===_.BlockStatement&&i.parent.type===_.IfStatement&&r!==n-1;)r+=1,i=i.parent;r===n-1&&e.report({data:{depth:n},messageId:`tooManyNestedIfStatements`,node:t})}}),defaultOptions:[3],meta:{docs:{description:`Prevent excessive use of nested if statements`},messages:{tooManyNestedIfStatements:`Too many nested if statements, maximum allowed is {{ depth }}`},schema:{description:`Allowed number of nested if statements`,items:{type:`integer`},type:`array`},type:`problem`}}),Ee=v.RuleCreator.withoutDocs({create:e=>({IfStatement:t=>{t.alternate&&e.report({messageId:`noElse`,node:t.alternate})}}),defaultOptions:[],meta:{docs:{description:`Prevent use of else statements`},messages:{noElse:`else/elseIf statements make code harder to read and are better replaced with an early return or omitting the else block entirely`},schema:[],type:`problem`}}),De=v.RuleCreator.withoutDocs({create:e=>({TSEnumDeclaration:t=>{t.const||e.report({messageId:`preferConstEnum`,node:t})}}),defaultOptions:[],meta:{docs:{description:`Prefer const enums over regular ones`},messages:{preferConstEnum:`Regular enums are compiled into functions, which is a redundant runtime overhead. Use const enums, as they are ignored during compilation, and their member accesses are compiled into plain strings`},schema:[],type:`problem`}}),Oe={name:`productive`,plugins:{productive:{rules:{"no-abusive-nested-if":Te,"no-else":Ee,"prefer-const-enum":De}}}},ke={},Ae={},je={"productive/no-abusive-nested-if":[`error`,2],"productive/no-else":`error`,"productive/prefer-const-enum":`off`},Me={[O.AUTO_FIXABLE]:{...Oe},[O.EASY]:{rules:ke},[O.HARD]:{rules:je},[O.MEDIUM]:{rules:Ae}},Ne={name:`promise`,plugins:{promise:y}},Pe={"promise/no-new-statics":`error`},Fe={"promise/always-return":`error`,"promise/catch-or-return":`error`,"promise/no-multiple-resolved":`error`,"promise/no-return-in-finally":`error`,"promise/no-return-wrap":`error`,"promise/param-names":`error`,"promise/valid-params":`error`},Ie={"promise/prefer-await-to-then":`error`},Le={"promise/no-nesting":`error`,"promise/no-promise-in-callback":`error`},Re={[O.AUTO_FIXABLE]:{...Ne,rules:Pe},[O.EASY]:{rules:Fe},[O.HARD]:{rules:Le},[O.MEDIUM]:{rules:Ie}},ze={plugins:{regexp:b}},Be={"no-empty-character-class":`off`,"no-invalid-regexp":`off`,"no-regex-spaces":`error`,"no-useless-backreference":`off`,"regexp/control-character-escape":`error`,"regexp/match-any":`error`,"regexp/negation":`error`,"regexp/no-extra-lookaround-assertions":`error`,"regexp/no-invisible-character":`error`,"regexp/no-misleading-unicode-character":`error`,"regexp/no-missing-g-flag":`error`,"regexp/no-trivially-nested-assertion":`error`,"regexp/no-trivially-nested-quantifier":`error`,"regexp/no-useless-character-class":`error`,"regexp/no-useless-escape":`error`,"regexp/no-useless-flag":`error`,"regexp/no-useless-lazy":`error`,"regexp/no-useless-non-capturing-group":`error`,"regexp/no-useless-quantifier":`error`,"regexp/no-useless-range":`error`,"regexp/no-useless-set-operand":`error`,"regexp/no-useless-string-literal":`error`,"regexp/no-useless-two-nums-quantifier":`error`,"regexp/optimal-quantifier-concatenation":`error`,"regexp/prefer-character-class":`error`,"regexp/prefer-d":`error`,"regexp/prefer-plus-quantifier":`error`,"regexp/prefer-predefined-assertion":`error`,"regexp/prefer-question-quantifier":`error`,"regexp/prefer-range":`error`,"regexp/prefer-regexp-test":`error`,"regexp/prefer-set-operation":`error`,"regexp/prefer-star-quantifier":`error`,"regexp/prefer-unicode-codepoint-escapes":`error`,"regexp/prefer-w":`error`,"regexp/simplify-set-operations":`error`,"regexp/sort-flags":`error`,"regexp/strict":`error`,"regexp/use-ignore-case":`error`},Ve={"no-control-regex":`error`,"no-misleading-character-class":`error`,"prefer-regex-literals":`error`,"regexp/confusing-quantifier":`error`,"regexp/no-contradiction-with-assertion":`error`,"regexp/no-dupe-characters-character-class":`error`,"regexp/no-dupe-disjunctions":`error`,"regexp/no-empty-alternative":`error`,"regexp/no-empty-capturing-group":`error`,"regexp/no-empty-character-class":`error`,"regexp/no-empty-group":`error`,"regexp/no-empty-lookarounds-assertion":`error`,"regexp/no-empty-string-literal":`error`,"regexp/no-escape-backspace":`error`,"regexp/no-invalid-regexp":`error`,"regexp/no-lazy-ends":`error`,"regexp/no-legacy-features":`error`,"regexp/no-misleading-capturing-group":`error`,"regexp/no-non-standard-flag":`error`,"regexp/no-obscure-range":`error`,"regexp/no-optional-assertion":`error`,"regexp/no-potentially-useless-backreference":`error`,"regexp/no-super-linear-backtracking":`error`,"regexp/no-unused-capturing-group":`error`,"regexp/no-useless-assertions":`error`,"regexp/no-useless-backreference":`error`,"regexp/no-useless-dollar-replacements":`error`,"regexp/no-zero-quantifier":`error`,"regexp/optimal-lookaround-quantifier":`error`},He={[O.AUTO_FIXABLE]:{...ze,rules:Be},[O.EASY]:{rules:Ve},[O.HARD]:{},[O.MEDIUM]:{}},Ue={files:[`**/*.{ts,tsx,js,jsx,mjs,cjs}`],name:`rxjs`,plugins:{rxjs:x}},We={"rxjs/no-implicit-any-catch":`error`,"rxjs/no-internal":`error`,"rxjs/prefer-observer":`error`},Ge={"rxjs/no-compat":`error`,"rxjs/no-create":`error`,"rxjs/no-ignored-error":`error`,"rxjs/no-ignored-observable":`error`,"rxjs/no-ignored-replay-buffer":`error`,"rxjs/no-ignored-subscribe":`error`,"rxjs/no-ignored-subscription":`error`,"rxjs/no-index":`error`,"rxjs/no-topromise":`error`,"rxjs/no-unbound-methods":`error`},Ke={"rxjs/finnish":`error`,"rxjs/no-async-subscribe":`error`,"rxjs/no-cyclic-action":`error`,"rxjs/no-exposed-subjects":`error`,"rxjs/no-ignored-notifier":`error`,"rxjs/no-ignored-takewhile-value":`error`,"rxjs/no-redundant-notify":`error`,"rxjs/no-subclass":`error`,"rxjs/no-subject-unsubscribe":`error`,"rxjs/no-subject-value":`error`,"rxjs/no-unsafe-catch":`error`,"rxjs/no-unsafe-first":`error`,"rxjs/no-unsafe-subject-next":`error`,"rxjs/no-unsafe-takeuntil":`error`,"rxjs/suffix-subjects":`error`,"rxjs/throw-error":`error`},qe={"rxjs/no-connectable":`error`,"rxjs/no-nested-subscribe":`error`,"rxjs/no-sharereplay":`error`,"rxjs/no-subscribe-handlers":`error`,"rxjs/no-unsafe-switchmap":`error`},Je={[O.AUTO_FIXABLE]:{...Ue,rules:We},[O.EASY]:{rules:Ge},[O.HARD]:{rules:qe},[O.MEDIUM]:{rules:Ke}},Ye={name:`sonarjs`,plugins:{sonarjs:S}},Xe={"sonarjs/prefer-immediate-return":`error`},Ze={"sonarjs/no-fallthrough":`error`,"sonarjs/no-redundant-boolean":`error`,"sonarjs/no-redundant-jump":`error`,"sonarjs/non-existent-operator":`error`,"sonarjs/public-static-readonly":`error`},Qe={"sonarjs/bool-param-default":`error`,"sonarjs/comma-or-logical-or-case":`error`,"sonarjs/future-reserved-words":`error`,"sonarjs/index-of-compare-to-positive-number":`error`,"sonarjs/link-with-target-blank":`error`,"sonarjs/no-array-delete":`error`,"sonarjs/no-duplicate-in-composite":`error`,"sonarjs/no-for-in-iterable":`error`,"sonarjs/no-function-declaration-in-block":`error`,"sonarjs/no-global-this":`error`,"sonarjs/no-globals-shadowing":`error`,"sonarjs/no-identical-conditions":`error`,"sonarjs/no-identical-expressions":`error`,"sonarjs/no-identical-functions":`error`,"sonarjs/no-ignored-return":`error`,"sonarjs/no-in-misuse":`error`,"sonarjs/no-incorrect-string-concat":`error`,"sonarjs/no-internal-api-use":`error`,"sonarjs/no-misleading-array-reverse":`error`,"sonarjs/no-nested-template-literals":`error`,"sonarjs/no-redundant-assignments":`error`,"sonarjs/no-redundant-optional":`error`,"sonarjs/no-selector-parameter":`error`,"sonarjs/no-small-switch":`error`,"sonarjs/no-try-promise":`error`,"sonarjs/no-undefined-assignment":`error`,"sonarjs/no-unthrown-error":`error`,"sonarjs/no-unused-collection":`error`,"sonarjs/no-unused-function-argument":`error`,"sonarjs/no-use-of-empty-return-value":`error`,"sonarjs/no-useless-intersection":`error`,"sonarjs/object-alt-content":`error`,"sonarjs/post-message":`error`,"sonarjs/prefer-promise-shorthand":`error`,"sonarjs/reduce-initial-value":`error`,"sonarjs/strings-comparison":`error`,"sonarjs/table-header":`error`,"sonarjs/table-header-reference":`error`},$e={"sonarjs/expression-complexity":[`error`,{max:2}],"sonarjs/no-all-duplicated-branches":`error`,"sonarjs/no-async-constructor":`error`,"sonarjs/no-invariant-returns":`error`,"sonarjs/no-nested-switch":`error`,"sonarjs/too-many-break-or-continue-in-loop":`error`},et={[O.AUTO_FIXABLE]:{...Ye,rules:Xe},[O.EASY]:{rules:Ze},[O.HARD]:{rules:$e},[O.MEDIUM]:{rules:Qe}},tt=[{name:`toml/setup`,plugins:{toml:C}},{files:[Y],languageOptions:{parser:w},name:`toml/rules`,rules:{"toml/array-bracket-newline":`error`,"toml/array-bracket-spacing":`error`,"toml/array-element-newline":`error`,"toml/comma-style":`error`,"toml/indent":[`error`,2],"toml/inline-table-curly-spacing":`error`,"toml/key-spacing":`error`,"toml/keys-order":`error`,"toml/no-space-dots":`error`,"toml/no-unreadable-number-separator":`error`,"toml/padding-line-between-pairs":`error`,"toml/padding-line-between-tables":`error`,"toml/precision-of-fractional-seconds":`error`,"toml/precision-of-integer":`error`,"toml/quoted-keys":`error`,"toml/table-bracket-spacing":`error`,"toml/tables-order":`error`,"toml/vue-custom-block/no-parsing-error":`error`}}],nt={plugins:{"@typescript-eslint":T}},rt={"@typescript-eslint/array-type":`error`,"@typescript-eslint/consistent-generic-constructors":`error`,"@typescript-eslint/consistent-indexed-object-style":`error`,"@typescript-eslint/consistent-type-assertions":`error`,"@typescript-eslint/consistent-type-imports":[`error`,{disallowTypeAnnotations:!1,fixStyle:`separate-type-imports`,prefer:`type-imports`}],"@typescript-eslint/dot-notation":[`error`,{allowIndexSignaturePropertyAccess:!0}],"@typescript-eslint/method-signature-style":[`error`,`property`],"@typescript-eslint/no-array-constructor":`error`,"@typescript-eslint/no-duplicate-type-constituents":`error`,"@typescript-eslint/no-extra-non-null-assertion":`error`,"@typescript-eslint/no-import-type-side-effects":`error`,"@typescript-eslint/no-inferrable-types":`error`,"@typescript-eslint/no-meaningless-void-operator":`error`,"@typescript-eslint/no-unnecessary-qualifier":`error`,"@typescript-eslint/no-unnecessary-template-expression":`error`,"@typescript-eslint/no-unnecessary-type-arguments":`error`,"@typescript-eslint/no-unnecessary-type-assertion":`error`,"@typescript-eslint/no-unused-vars":`off`,"@typescript-eslint/no-useless-empty-export":`error`,"@typescript-eslint/no-wrapper-object-types":`error`,"@typescript-eslint/prefer-as-const":`error`,"@typescript-eslint/prefer-function-type":`error`,"@typescript-eslint/prefer-namespace-keyword":`error`,"constructor-super":`off`,"getter-return":`off`,"no-array-constructor":`off`,"no-class-assign":`off`,"no-const-assign":`off`,"no-dupe-args":`off`,"no-dupe-class-members":`off`,"no-dupe-keys":`off`,"no-func-assign":`off`,"no-import-assign":`off`,"no-new-native-nonconstructor":`off`,"no-new-symbol":`off`,"no-obj-calls":`off`,"no-redeclare":`off`,"no-setter-return":`off`,"no-this-before-super":`off`,"no-undef":`off`,"no-unreachable":`off`,"no-unsafe-negation":`off`,"no-unused-expressions":`off`,"no-unused-vars":`off`,"no-use-before-define":`off`,"no-useless-constructor":`off`,"no-with":`off`,"unused-imports/no-unused-vars":`off`},it={"@typescript-eslint/ban-ts-comment":[`error`,{"ts-expect-error":`allow-with-description`}],"@typescript-eslint/class-literal-property-style":`error`,"@typescript-eslint/consistent-type-definitions":[`error`,`interface`],"@typescript-eslint/default-param-last":`error`,"@typescript-eslint/explicit-function-return-type":[`error`,{allowExpressions:!0}],"@typescript-eslint/explicit-member-accessibility":[`error`,{overrides:{constructors:`no-public`}}],"@typescript-eslint/naming-convention":[`error`,{format:null,selector:[`objectLiteralProperty`]},{format:null,selector:`import`},{format:[`StrictPascalCase`],selector:[`enum`,`class`]},{format:[`UPPER_CASE`],selector:[`enumMember`]},{format:[`StrictPascalCase`],prefix:[`I`],selector:[`interface`]},{format:[`StrictPascalCase`],prefix:[`T`],selector:[`typeAlias`]},{format:[`StrictPascalCase`],selector:[`typeParameter`]},{format:[`strictCamelCase`,`UPPER_CASE`],modifiers:[`const`],selector:`variable`},{format:[`camelCase`],leadingUnderscore:`allow`,modifiers:[`unused`],selector:`parameter`}],"@typescript-eslint/no-base-to-string":`error`,"@typescript-eslint/no-confusing-void-expression":`error`,"@typescript-eslint/no-dupe-class-members":`error`,"@typescript-eslint/no-duplicate-enum-values":`error`,"@typescript-eslint/no-dynamic-delete":`error`,"@typescript-eslint/no-empty-object-type":[`error`,{allowInterfaces:`always`}],"@typescript-eslint/no-explicit-any":`error`,"@typescript-eslint/no-floating-promises":`error`,"@typescript-eslint/no-loop-func":`error`,"@typescript-eslint/no-magic-numbers":[`error`,{enforceConst:!0,ignore:[0,1,100,-1],ignoreClassFieldInitialValues:!0,ignoreDefaultValues:!0,ignoreEnums:!0}],"@typescript-eslint/no-misused-new":`error`,"@typescript-eslint/no-namespace":`error`,"@typescript-eslint/no-non-null-asserted-nullish-coalescing":`error`,"@typescript-eslint/no-non-null-asserted-optional-chain":`error`,"@typescript-eslint/no-redeclare":[`error`,{builtinGlobals:!1}],"@typescript-eslint/no-redundant-type-constituents":`error`,"@typescript-eslint/no-require-imports":`error`,"@typescript-eslint/no-this-alias":`error`,"@typescript-eslint/no-unnecessary-boolean-literal-compare":`error`,"@typescript-eslint/no-unnecessary-condition":`error`,"@typescript-eslint/no-unnecessary-type-constraint":`error`,"@typescript-eslint/no-unnecessary-type-conversion":`error`,"@typescript-eslint/no-unsafe-argument":`error`,"@typescript-eslint/no-unsafe-assignment":`error`,"@typescript-eslint/no-unsafe-call":`error`,"@typescript-eslint/no-unsafe-declaration-merging":`error`,"@typescript-eslint/no-unsafe-enum-comparison":`error`,"@typescript-eslint/no-unsafe-function-type":`error`,"@typescript-eslint/no-unsafe-member-access":`error`,"@typescript-eslint/no-unsafe-return":`error`,"@typescript-eslint/no-unsafe-unary-minus":`error`,"@typescript-eslint/no-unused-expressions":[`error`,{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],"@typescript-eslint/no-use-before-define":[`error`,{classes:!1,functions:!1,variables:!0}],"@typescript-eslint/no-useless-constructor":`error`,"@typescript-eslint/only-throw-error":`error`,"@typescript-eslint/prefer-destructuring":`error`,"@typescript-eslint/prefer-literal-enum-member":`error`,"@typescript-eslint/prefer-nullish-coalescing":`error`,"@typescript-eslint/prefer-optional-chain":`error`,"@typescript-eslint/related-getter-setter-pairs":`error`,"@typescript-eslint/require-array-sort-compare":[`error`,{ignoreStringArrays:!1}],"@typescript-eslint/require-await":`error`,"@typescript-eslint/return-await":`error`,"@typescript-eslint/switch-exhaustiveness-check":`error`,"@typescript-eslint/triple-slash-reference":`off`,"@typescript-eslint/unbound-method":`error`,"@typescript-eslint/unified-signatures":`error`},at={"@typescript-eslint/class-methods-use-this":`error`,"@typescript-eslint/init-declarations":`error`,"@typescript-eslint/max-params":[`error`,{max:3}],"@typescript-eslint/no-extraneous-class":`error`,"@typescript-eslint/no-invalid-void-type":`error`,"@typescript-eslint/no-misused-promises":`error`,"@typescript-eslint/no-misused-spread":`error`,"@typescript-eslint/no-mixed-enums":`error`,"@typescript-eslint/parameter-properties":`error`,"@typescript-eslint/prefer-enum-initializers":`error`,"@typescript-eslint/prefer-promise-reject-errors":`error`,"@typescript-eslint/prefer-reduce-type-parameter":`error`,"@typescript-eslint/prefer-return-this-type":`error`,"@typescript-eslint/restrict-template-expressions":`error`},ot={"@typescript-eslint/no-non-null-assertion":`error`,"@typescript-eslint/prefer-readonly":`error`},st={[O.AUTO_FIXABLE]:{...nt,rules:rt},[O.EASY]:{rules:it},[O.HARD]:{rules:ot},[O.MEDIUM]:{rules:at}},ct={plugins:{unicorn:E}},lt={"unicorn/consistent-empty-array-spread":`error`,"unicorn/escape-case":`error`,"unicorn/new-for-builtins":`error`,"unicorn/no-instanceof-builtins":`error`,"unicorn/no-new-array":`error`,"unicorn/no-new-buffer":`error`,"unicorn/no-unnecessary-array-flat-depth":`error`,"unicorn/no-unnecessary-array-splice-count":`error`,"unicorn/no-unnecessary-await":`error`,"unicorn/no-unnecessary-slice-end":`error`,"unicorn/no-useless-fallback-in-spread":`error`,"unicorn/no-useless-length-check":`error`,"unicorn/no-useless-promise-resolve-reject":`error`,"unicorn/no-useless-spread":`error`,"unicorn/no-zero-fractions":`error`,"unicorn/numeric-separators-style":`error`,"unicorn/prefer-array-find":`error`,"unicorn/prefer-array-flat":`error`,"unicorn/prefer-array-flat-map":`error`,"unicorn/prefer-array-index-of":`error`,"unicorn/prefer-at":`error`,"unicorn/prefer-date-now":`error`,"unicorn/prefer-dom-node-append":`error`,"unicorn/prefer-dom-node-dataset":`error`,"unicorn/prefer-dom-node-remove":`error`,"unicorn/prefer-export-from":`error`,"unicorn/prefer-global-this":`error`,"unicorn/prefer-import-meta-properties":`error`,"unicorn/prefer-includes":`error`,"unicorn/prefer-keyboard-event-key":`error`,"unicorn/prefer-math-min-max":`error`,"unicorn/prefer-modern-dom-apis":`error`,"unicorn/prefer-modern-math-apis":`error`,"unicorn/prefer-native-coercion-functions":`error`,"unicorn/prefer-negative-index":`error`,"unicorn/prefer-node-protocol":`error`,"unicorn/prefer-object-from-entries":`error`,"unicorn/prefer-optional-catch-binding":`error`,"unicorn/prefer-prototype-methods":`error`,"unicorn/prefer-reflect-apply":`error`,"unicorn/prefer-regexp-test":`error`,"unicorn/prefer-set-size":`error`,"unicorn/prefer-string-raw":`error`,"unicorn/prefer-string-replace-all":`error`,"unicorn/prefer-string-starts-ends-with":`error`,"unicorn/prefer-string-trim-start-end":`error`,"unicorn/prefer-switch":`error`,"unicorn/prefer-ternary":`error`,"unicorn/prefer-type-error":`error`,"unicorn/require-array-join-separator":`error`,"unicorn/switch-case-braces":`error`,"unicorn/throw-new-error":`error`},ut={"unicorn/error-message":`error`,"unicorn/no-useless-undefined":`error`,"unicorn/no-empty-file":`error`,"unicorn/no-unused-properties":`error`,"unicorn/no-useless-switch-case":`error`,"unicorn/prefer-add-event-listener":`error`,"unicorn/prefer-array-some":`error`,"unicorn/prefer-blob-reading-methods":`error`,"unicorn/prefer-code-point":`error`,"unicorn/prefer-default-parameters":`error`,"unicorn/prefer-dom-node-text-content":`error`,"unicorn/prefer-event-target":`error`,"unicorn/prefer-json-parse-buffer":`error`,"unicorn/prefer-logical-operator-over-ternary":`error`,"unicorn/prefer-math-trunc":`error`,"unicorn/prefer-number-properties":`error`,"unicorn/prefer-query-selector":`error`,"unicorn/prefer-set-has":`error`,"unicorn/prefer-single-call":`error`,"unicorn/prefer-spread":`error`,"unicorn/prefer-string-slice":`error`,"unicorn/prefer-structured-clone":`error`,"unicorn/prefer-top-level-await":`error`},dt={"unicorn/consistent-date-clone":`error`,"unicorn/consistent-destructuring":`error`,"unicorn/consistent-existence-index-check":`error`,"unicorn/custom-error-definition":`error`,"unicorn/explicit-length-check":`error`,"unicorn/no-abusive-eslint-disable":`error`,"unicorn/no-accessor-recursion":`error`,"unicorn/no-array-callback-reference":`error`,"unicorn/no-array-for-each":`error`,"unicorn/no-for-loop":`error`,"unicorn/no-hex-escape":`error`,"unicorn/no-lonely-if":`error`,"unicorn/no-magic-array-flat-depth":`error`,"unicorn/no-named-default":`error`,"unicorn/no-negated-condition":`error`,"unicorn/no-negation-in-equality-check":`error`,"unicorn/no-nested-ternary":`error`,"unicorn/no-single-promise-in-promise-methods":`error`,"unicorn/no-typeof-undefined":`error`,"unicorn/no-unreadable-array-destructuring":`error`,"unicorn/relative-url-style":`error`,"unicorn/require-number-to-fixed-digits-argument":`error`,"unicorn/require-post-message-target-origin":`error`},ft={"unicorn/no-array-method-this-argument":`error`,"unicorn/no-await-in-promise-methods":`error`,"unicorn/no-document-cookie":`error`,"unicorn/no-invalid-remove-event-listener":`error`,"unicorn/no-object-as-default-parameter":`error`},$={[O.AUTO_FIXABLE]:{...ct,rules:lt},[O.EASY]:{rules:ut},[O.HARD]:{rules:ft},[O.MEDIUM]:{rules:dt}},pt={"vue/attribute-hyphenation":[`error`,`never`],"vue/attributes-order":[`error`,{alphabetical:!0}],"vue/block-order":[`error`,{order:[`script`,`template`,`style`]}],"vue/component-name-in-template-casing":[`error`,`PascalCase`],"vue/component-options-name-casing":[`error`,`PascalCase`],"vue/dot-location":[`error`,`property`],"vue/html-self-closing":[`error`,{html:{void:`always`}}],"vue/max-attributes-per-line":`off`,"vue/multi-word-component-names":`off`,"vue/no-deprecated-data-object-declaration":`error`,"vue/no-deprecated-destroyed-lifecycle":`error`,"vue/no-deprecated-dollar-scopedslots-api":`error`,"vue/no-deprecated-scope-attribute":`error`,"vue/no-deprecated-slot-attribute":`error`,"vue/no-deprecated-slot-scope-attribute":`error`,"vue/no-deprecated-v-bind-sync":`error`,"vue/no-deprecated-v-on-number-modifiers":`error`,"vue/no-empty-component-block":`error`,"vue/no-implicit-coercion":`error`,"vue/no-import-compiler-macros":`error`,"vue/no-ref-as-operand":`error`,"vue/no-setup-props-reactivity-loss":`off`,"vue/no-useless-mustaches":`error`,"vue/no-useless-v-bind":`error`,"vue/no-v-html":`off`,"vue/object-shorthand":[`error`,`always`,{avoidQuotes:!0,ignoreConstructors:!1}],"vue/padding-line-between-blocks":[`error`,`always`],"vue/prefer-import-from-vue":`error`,"vue/prefer-separate-static-class":`error`,"vue/prefer-template":`error`,"vue/require-default-prop":`off`,"vue/require-prop-types":`off`,"vue/space-infix-ops":`error`,"vue/space-unary-ops":[`error`,{nonwords:!1,words:!0}],"vue/this-in-template":`error`,"vue/v-bind-style":[`error`,`shorthand`,{sameNameShorthand:`always`}],"vue/v-for-delimiter-style":[`error`,`of`],"vue/v-if-else-key":`error`,"vue/v-on-event-hyphenation":[`error`,`never`,{autofix:!0}],"vue/v-on-style":`error`,"vue/v-slot-style":[`error`,{atComponent:`v-slot`,default:`v-slot`,named:`longform`}],"vue/valid-next-tick":`error`},mt={"vue/block-lang":[`error`,{script:{lang:`ts`}}],"vue/comment-directive":[`error`,{reportUnusedDisableDirectives:!0}],"vue/component-api-style":[`error`,[`script-setup`]],"vue/custom-event-name-casing":[`error`,`camelCase`],"vue/define-macros-order":[`error`,{defineExposeLast:!0,order:[`defineOptions`,`defineModel`,`defineProps`,`defineEmits`,`defineSlots`]}],"vue/define-props-declaration":`error`,"vue/define-props-destructuring":`error`,"vue/enforce-style-attribute":[`error`,{allow:[`module`]}],"vue/html-comment-content-spacing":[`error`,`always`,{exceptions:[`-`]}],"vue/jsx-uses-vars":`error`,"vue/no-arrow-functions-in-watch":`error`,"vue/no-async-in-computed-properties":`error`,"vue/no-child-content":`error`,"vue/no-computed-properties-in-data":`error`,"vue/no-deprecated-delete-set":`error`,"vue/no-deprecated-dollar-listeners-api":`error`,"vue/no-deprecated-events-api":`error`,"vue/no-deprecated-filter":`error`,"vue/no-deprecated-functional-template":`error`,"vue/no-deprecated-html-element-is":`error`,"vue/no-deprecated-inline-template":`error`,"vue/no-deprecated-model-definition":`error`,"vue/no-deprecated-props-default-this":`error`,"vue/no-deprecated-router-link-tag-prop":`error`,"vue/no-deprecated-v-is":`error`,"vue/no-deprecated-v-on-native-modifier":`error`,"vue/no-deprecated-vue-config-keycodes":`error`,"vue/no-dupe-keys":`error`,"vue/no-dupe-v-else-if":`error`,"vue/no-duplicate-attributes":`error`,"vue/no-empty-pattern":`error`,"vue/no-export-in-script-setup":`error`,"vue/no-expose-after-await":`error`,"vue/no-irregular-whitespace":`error`,"vue/no-lifecycle-after-await":`error`,"vue/no-lone-template":`error`,"vue/no-loss-of-precision":`error`,"vue/no-multiple-objects-in-class":`error`,"vue/no-multiple-slot-args":`error`,"vue/no-mutating-props":`error`,"vue/no-parsing-error":`error`,"vue/no-ref-object-reactivity-loss":`error`,"vue/no-required-prop-with-default":`error`,"vue/no-reserved-component-names":`error`,"vue/no-reserved-keys":`error`,"vue/no-reserved-props":`error`,"vue/no-restricted-block":`error`,"vue/no-restricted-syntax":[`error`,`DebuggerStatement`,`LabeledStatement`,`WithStatement`,{message:`Use ref instead of reactive for code consistency`,selector:`CallExpression[callee.name="reactive"]`}],"vue/no-restricted-v-bind":[`error`,`/^v-/`],"vue/no-side-effects-in-computed-properties":`error`,"vue/no-template-key":`error`,"vue/no-template-shadow":`error`,"vue/no-template-target-blank":`error`,"vue/no-textarea-mustache":`error`,"vue/no-unused-components":`error`,"vue/no-unused-refs":`error`,"vue/no-unused-vars":`error`,"vue/no-use-computed-property-like-method":`error`,"vue/no-use-v-else-with-v-for":`error`,"vue/no-use-v-if-with-v-for":`error`,"vue/no-useless-template-attributes":`error`,"vue/no-v-for-template-key-on-child":`error`,"vue/no-v-text-v-html-on-component":`error`,"vue/no-watch-after-await":`error`,"vue/prefer-true-attribute-shorthand":`error`,"vue/prefer-use-template-ref":`error`,"vue/prop-name-casing":[`error`,`camelCase`],"vue/require-component-is":`error`,"vue/require-explicit-emits":`error`,"vue/require-macro-variable-name":`error`,"vue/require-render-return":`error`,"vue/require-slots-as-functions":`error`,"vue/require-toggle-inside-transition":`error`,"vue/require-typed-ref":`error`,"vue/require-v-for-key":`error`,"vue/return-in-computed-property":`error`,"vue/return-in-emits-validator":`error`,"vue/slot-name-casing":`error`,"vue/use-v-on-exact":`error`,"vue/v-on-handler-style":[`error`,[`method`,`inline-function`],{ignoreIncludesComment:!0}],"vue/valid-attribute-name":`error`,"vue/valid-define-emits":`error`,"vue/valid-define-options":`error`,"vue/valid-define-props":`error`,"vue/valid-template-root":`error`,"vue/valid-v-bind":`error`,"vue/valid-v-cloak":`error`,"vue/valid-v-else":`error`,"vue/valid-v-else-if":`error`,"vue/valid-v-for":`error`,"vue/valid-v-html":`error`,"vue/valid-v-if":`error`,"vue/valid-v-is":`error`,"vue/valid-v-memo":`error`,"vue/valid-v-model":`error`,"vue/valid-v-on":`error`,"vue/valid-v-once":`error`,"vue/valid-v-pre":`error`,"vue/valid-v-show":`error`,"vue/valid-v-slot":`error`,"vue/valid-v-text":`error`},ht={"vue/eqeqeq":[`error`,`smart`],"vue/html-button-has-type":`error`,"vue/no-async-in-computed-properties":`error`,"vue/no-child-content":`error`,"vue/no-console":`error`,"vue/no-constant-condition":`error`,"vue/no-duplicate-attr-inheritance":`error`,"vue/no-root-v-if":`error`,"vue/no-sparse-arrays":`error`,"vue/no-static-inline-styles":`error`,"vue/no-v-html":`error`,"vue/no-v-text":`error`,"vue/no-v-text-v-html-on-component":`error`},gt={[O.AUTO_FIXABLE]:{rules:pt},[O.EASY]:{rules:mt},[O.HARD]:{},[O.MEDIUM]:{rules:ht}},_t=[{name:`yaml/setup`,plugins:{yml:D}},{files:[J],languageOptions:{parser:te},name:`yaml/rules`,rules:{"yml/block-mapping":`error`,"yml/block-mapping-colon-indicator-newline":`error`,"yml/block-mapping-question-indicator-newline":`error`,"yml/block-sequence":`error`,"yml/block-sequence-hyphen-indicator-newline":`error`,"yml/flow-mapping-curly-newline":`error`,"yml/flow-mapping-curly-spacing":`error`,"yml/flow-sequence-bracket-newline":`error`,"yml/flow-sequence-bracket-spacing":`error`,"yml/indent":[`error`,2],"yml/key-spacing":`error`,"yml/no-empty-key":`error`,"yml/no-empty-sequence-entry":`error`,"yml/no-irregular-whitespace":`error`,"yml/no-tab-indent":`error`,"yml/plain-scalar":`error`,"yml/spaced-comment":`error`,"yml/vue-custom-block/no-parsing-error":`error`}}],vt=t=>[{files:[V,W],languageOptions:{globals:{computed:`readonly`,defineEmits:`readonly`,defineExpose:`readonly`,defineProps:`readonly`,onMounted:`readonly`,onUnmounted:`readonly`,reactive:`readonly`,ref:`readonly`,shallowReactive:`readonly`,shallowRef:`readonly`,toRef:`readonly`,toRefs:`readonly`,watch:`readonly`,watchEffect:`readonly`}},name:`vue/setup`,plugins:{vue:r}},{files:[W],languageOptions:{parser:o,parserOptions:{ecmaFeatures:{jsx:!0},extraFileExtensions:[`.vue`],parser:e,sourceType:`module`}},name:`vue/rules`,processor:r.processors[`.vue`],rules:j(gt,t).rules??{}}],yt=({ignores:r=[],rxjs:o,strictness:s=O.HARD,vue:c})=>{let l=c??(a(`vue`)||a(`nuxt`)),u=o??a(`rxjs`),d=l?[V,W]:[V];return new t([{ignores:[...Z,...r],name:`ignores`},{files:d,languageOptions:{ecmaVersion:`latest`,globals:{...i.browser,...i.es2025,...i.node},parserOptions:{ecmaFeatures:{jsx:!0},ecmaVersion:`latest`,sourceType:`module`},sourceType:`module`},linterOptions:{reportUnusedDisableDirectives:!0},name:`javascript/setup`},{files:d,name:`javascript/rules`,...j(he,s)},{files:d,name:`eslint-comments/rules`,...j(ie,s)},{files:d,name:`node/rules`,...j(Se,s)},{files:d,name:`perfectionist/rules`,...j(we,s)},{files:d,name:`jsdoc/rules`,...j(ve,s)},{files:d,name:`unicorn/rules`,...j($,s)},{files:[`**/*.?([cm])jsx`,U],languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},name:`jsx/setup`},{files:[H,U],languageOptions:{parser:e,parserOptions:{extraFileExtensions:[`.vue`],projectService:!0,sourceType:`module`}},name:`typescript/parser`},{files:[H,U],name:`typescript/rules`,...j(st,s)},{files:d,name:`regexp/rules`,...j(He,s)},...l?vt(s):[],{files:d,name:`imports`,...j(le,s)},{files:[X],language:`css/css`,name:`css`,...j(z,s)},{files:d,name:`boundaries`,...j(I,s)},{files:[V,W,X,G,K,q,J,Y],name:`prettier`,plugins:{prettier:n},rules:{"prettier/prettier":`error`}},{files:d,name:`promise`,...j(Re,s)},{files:d,name:`sonarjs`,...j(et,s)},{files:d,name:`productive`,...j(Me,s)},ye,_t,tt,Q,...u?[j(Je,s)]:[]].flat())};export{O as StrictnessPreset,yt as default};
1
+ import e from"@typescript-eslint/parser";import{FlatConfigComposer as t}from"eslint-flat-config-utils";import n from"eslint-plugin-prettier";import r from"eslint-plugin-vue";import i from"globals";import{isPackageExists as a}from"local-pkg";import o from"vue-eslint-parser";import s from"eslint-plugin-boundaries";import c from"@eslint/css";import l from"@eslint-community/eslint-plugin-eslint-comments";import u from"eslint-plugin-import";import d from"eslint-plugin-prefer-arrow-functions";import f from"eslint-plugin-unused-imports";import p from"eslint-plugin-jsdoc";import ee from"eslint-plugin-jsonc";import m from"jsonc-eslint-parser";import h from"eslint-plugin-n";import g from"eslint-plugin-perfectionist";import{AST_NODE_TYPES as _,ESLintUtils as v}from"@typescript-eslint/utils";import y from"eslint-plugin-promise";import b from"eslint-plugin-regexp";import x from"@smarttools/eslint-plugin-rxjs";import S from"eslint-plugin-sonarjs";import C from"eslint-plugin-toml";import w from"toml-eslint-parser";import T from"@typescript-eslint/eslint-plugin";import E from"eslint-plugin-unicorn";import D from"eslint-plugin-yml";import te from"yaml-eslint-parser";let O=function(e){return e.AUTO_FIXABLE=`autoFixable`,e.EASY=`easy`,e.HARD=`hard`,e.MEDIUM=`medium`,e}({});const k=[O.AUTO_FIXABLE,O.EASY,O.MEDIUM,O.HARD],A=e=>{let t=k.indexOf(e);return t===-1?0:t},j=(e,t)=>{let n=A(t),r=k.filter(e=>A(e)<=n),[i]=r,a=i?e[i]:null,o=a?(()=>{let{rules:e,...t}=a;return t})():{},s={};for(let t of r){let n=e[t];n.rules&&Object.keys(n.rules).length>0&&Object.assign(s,n.rules)}return Object.keys(s).length>0?{...o,rules:s}:o},M={name:`boundaries`,plugins:{boundaries:s},settings:{"boundaries/elements":[{pattern:`app`,type:`app`},{capture:[`page`],pattern:`pages/*`,type:`pages`},{capture:[`widget`],pattern:`widgets/*`,type:`widgets`},{capture:[`feature`],pattern:`features/*`,type:`features`},{capture:[`entity`],pattern:`entities/*`,type:`entities`},{capture:[`segment`],pattern:`shared/*`,type:`shared`}],"boundaries/include":[`src/**/*`],"import/resolver":{typescript:{alwaysTryTypes:!0}}}},N={},P={},F={"boundaries/element-types":[`error`,{default:`allow`,message:"${file.type} is not allowed to import (${dependency.type})",rules:[{disallow:[`app`,`pages`,`widgets`,`features`,`entities`],from:[`shared`],message:"Shared module must not import upper layers (${dependency.type})"},{disallow:[`app`,`pages`,`widgets`,`features`],from:[`entities`],message:"Entity must not import upper layers (${dependency.type})"},{disallow:[[`entities`,{entity:"!${entity}"}]],from:[`entities`],message:`Entity must not import other entity`},{disallow:[`app`,`pages`,`widgets`],from:[`features`],message:"Feature must not import upper layers (${dependency.type})"},{disallow:[[`features`,{feature:"!${feature}"}]],from:[`features`],message:`Feature must not import other feature`},{disallow:[`app`,`pages`],from:[`widgets`],message:"Feature must not import upper layers (${dependency.type})"},{disallow:[[`widgets`,{widget:"!${widget}"}]],from:[`widgets`],message:`Widget must not import other widget`},{disallow:[`app`],from:[`pages`],message:"Page must not import upper layers (${dependency.type})"},{disallow:[[`pages`,{page:"!${page}"}]],from:[`pages`],message:`Page must not import other page`}]}],"boundaries/entry-point":[`error`,{default:`disallow`,rules:[{allow:`**`,target:[`shared`]},{allow:`index.{ts,vue}`,target:[`app`,`pages`,`widgets`,`features`,`entities`]}]}]},I={[O.AUTO_FIXABLE]:{...M},[O.EASY]:{rules:N},[O.HARD]:{rules:F},[O.MEDIUM]:{rules:P}},L={plugins:{css:c}},R={"css/font-family-fallbacks":`error`,"css/no-duplicate-imports":`error`,"css/no-duplicate-keyframe-selectors":`error`,"css/no-empty-blocks":`error`,"css/no-important":`error`,"css/no-invalid-at-rule-placement":`error`,"css/no-invalid-at-rules":`error`,"css/no-invalid-named-grid-areas":`error`,"css/no-invalid-properties":`error`,"css/no-unmatchable-selectors":`error`,"css/use-baseline":`error`},z={[O.AUTO_FIXABLE]:{...L},[O.EASY]:{},[O.HARD]:{},[O.MEDIUM]:{rules:R}},B=`?([cm])[jt]s?(x)`,V=`**/*.${B}`,H=`**/*.?([cm])ts?(x)`,U=`**/*.?([cm])tsx`,W=`**/*.vue`,G=`**/*.json`,K=`**/*.json5`,q=`**/*.jsonc`,J=`**/*.y?(a)ml`,Y=`**/*.toml`,X=`**/*.css`;`${B}`,`${B}`,`${B}`,`${B}`,`${B}`;const Z=`**/node_modules,**/dist,**/package-lock.json,**/yarn.lock,**/pnpm-lock.yaml,**/bun.lockb,**/output,**/coverage,**/temp,**/tmp,**/.temp,**/.tmp,**/.history,**/.vitepress/cache,**/.nuxt,**/.next,**/.svelte-kit,**/.vercel,**/.changeset,**/.idea,**/.cache,**/.output,**/.vite-inspect,**/.yarn,**/*.min.*,**/LICENSE*,**/__snapshots__,**/auto-import?(s).d.ts,**/components.d.ts,**/*.d.ts`.split(`,`),Q=[{files:[`**/scripts/${V}`],name:`disables/scripts`,rules:{"@typescript-eslint/explicit-function-return-type":`off`,"no-console":`off`}},{files:[`**/cli/${V}`,`**/cli.${B}`],name:`disables/cli`,rules:{"no-console":`off`}},{files:[`**/*.d.?([cm])ts`],name:`disables/dts`,rules:{"eslint-comments/no-unlimited-disable":`off`,"import/no-default-export":`off`,"no-restricted-syntax":`off`,"unused-imports/no-unused-vars":`off`}},{files:[`**/*.js`,`**/*.cjs`],name:`disables/cjs`,rules:{"@typescript-eslint/no-require-imports":`off`}},{files:[`**/*.config.${B}`,`**/*.config.*.${B}`,`**/*.plugin.${B}`],name:`disables/config-files`,rules:{"@typescript-eslint/explicit-function-return-type":`off`,"@typescript-eslint/naming-convention":`off`,"@typescript-eslint/no-magic-numbers":`off`,"no-console":`off`,"no-template-curly-in-string":`off`}}],ne={plugins:{"eslint-comments":l}},re={"eslint-comments/no-aggregating-enable":`error`,"eslint-comments/no-duplicate-disable":`error`,"eslint-comments/no-unlimited-disable":`error`,"eslint-comments/no-unused-enable":`error`},ie={[O.AUTO_FIXABLE]:{...ne},[O.EASY]:{rules:re},[O.HARD]:{},[O.MEDIUM]:{}},ae={name:`imports`,plugins:{import:u},settings:{"import/resolver":{typescript:!0}}},oe={"import/first":`error`,"import/newline-after-import":[`error`,{count:1}],"import/no-empty-named-blocks":`error`},se={"import/consistent-type-specifier-style":[`error`,`prefer-top-level`],"import/extensions":[`error`,`ignorePackages`,{js:`never`,jsx:`never`,ts:`never`,tsx:`never`}],"import/no-commonjs":`error`,"import/no-duplicates":`error`,"import/no-mutable-exports":`error`,"import/no-named-default":`error`,"import/no-namespace":`error`,"import/no-relative-packages":`error`,"import/no-self-import":`error`,"import/no-useless-path-segments":`error`},ce={"import/export":`error`,"import/no-cycle":`error`},le={[O.AUTO_FIXABLE]:{...ae,rules:oe},[O.EASY]:{rules:se},[O.HARD]:{},[O.MEDIUM]:{rules:ce}},ue={plugins:{"prefer-arrow-functions":d,"unused-imports":f}},de={"arrow-body-style":[`error`,`as-needed`],curly:[`error`,`all`],"dot-notation":`off`,"no-array-constructor":`error`,"no-extra-bind":`error`,"no-extra-boolean-cast":`error`,"no-regex-spaces":`error`,"no-restricted-syntax":`off`,"no-throw-literal":`off`,"no-undef-init":`error`,"no-unneeded-ternary":[`error`,{defaultAssignment:!1}],"no-useless-computed-key":`error`,"no-useless-rename":`error`,"no-useless-return":`error`,"no-var":`error`,"object-shorthand":[`error`,`always`,{avoidQuotes:!0,ignoreConstructors:!1}],"one-var":[`error`,{initialized:`never`}],"operator-assignment":`error`,"prefer-arrow-callback":[`error`,{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-exponentiation-operator":`error`,"prefer-object-spread":`error`,"prefer-promise-reject-errors":`off`,"prefer-template":`error`,"unicode-bom":[`error`,`never`],"unused-imports/no-unused-imports":`error`,"unused-imports/no-unused-vars":`off`,yoda:[`error`,`never`]},fe={"accessor-pairs":[`error`,{enforceForClassMembers:!0,setWithoutGet:!0}],"array-callback-return":`error`,"block-scoped-var":`error`,"constructor-super":`error`,"default-case":`error`,"default-case-last":`error`,eqeqeq:[`error`,`smart`],"grouped-accessor-pairs":`error`,"id-length":[`error`,{exceptions:[`t`]}],"logical-assignment-operators":[`error`,`always`,{enforceForIfStatements:!0}],"no-alert":`error`,"no-async-promise-executor":`error`,"no-caller":`error`,"no-case-declarations":`error`,"no-class-assign":`error`,"no-compare-neg-zero":`error`,"no-cond-assign":[`error`,`always`],"no-console":[`error`,{allow:[`warn`,`error`]}],"no-const-assign":`error`,"no-control-regex":`error`,"no-debugger":`error`,"no-delete-var":`error`,"no-dupe-args":`error`,"no-dupe-class-members":`error`,"no-dupe-keys":`error`,"no-duplicate-case":`error`,"no-empty":[`error`,{allowEmptyCatch:!0}],"no-empty-character-class":`error`,"no-empty-function":`error`,"no-empty-pattern":`error`,"no-empty-static-block":`error`,"no-eval":`error`,"no-ex-assign":`error`,"no-extend-native":`error`,"no-fallthrough":`error`,"no-func-assign":`error`,"no-global-assign":`error`,"no-implied-eval":`error`,"no-import-assign":`error`,"no-inner-declarations":`error`,"no-invalid-regexp":`error`,"no-irregular-whitespace":`error`,"no-iterator":`error`,"no-labels":[`error`,{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":`error`,"no-loss-of-precision":`error`,"no-misleading-character-class":`error`,"no-multi-str":`error`,"no-new":`error`,"no-new-func":`error`,"no-new-native-nonconstructor":`error`,"no-new-wrappers":`error`,"no-obj-calls":`error`,"no-object-constructor":`error`,"no-octal":`error`,"no-octal-escape":`error`,"no-proto":`error`,"no-prototype-builtins":`error`,"no-redeclare":[`error`,{builtinGlobals:!1}],"no-restricted-globals":[`error`,{message:"Use `globalThis` instead.",name:`global`},{message:"Use `globalThis` instead.",name:`self`}],"no-restricted-properties":[`error`,{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:`__proto__`},{message:"Use `Object.defineProperty` instead.",property:`__defineGetter__`},{message:"Use `Object.defineProperty` instead.",property:`__defineSetter__`},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:`__lookupGetter__`},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:`__lookupSetter__`}],"no-self-assign":[`error`,{props:!0}],"no-self-compare":`error`,"no-shadow":`error`,"no-shadow-restricted-names":`error`,"no-sparse-arrays":`error`,"no-template-curly-in-string":`error`,"no-this-before-super":`error`,"no-undef":`error`,"no-unexpected-multiline":`error`,"no-unmodified-loop-condition":`error`,"no-unreachable":`error`,"no-unreachable-loop":`error`,"no-unsafe-finally":`error`,"no-unsafe-negation":`error`,"no-unused-expressions":[`error`,{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],"no-unused-private-class-members":`error`,"no-unused-vars":[`error`,{args:`none`,caughtErrors:`none`,ignoreRestSiblings:!0,vars:`all`}],"no-use-before-define":[`error`,{classes:!1,functions:!1,variables:!0}],"no-useless-backreference":`error`,"no-useless-call":`error`,"no-useless-catch":`error`,"no-useless-concat":`error`,"no-useless-constructor":`error`,"no-useless-escape":`error`,"no-void":[`error`,{allowAsStatement:!0}],"no-with":`error`,"prefer-arrow-functions/prefer-arrow-functions":`error`,"prefer-const":[`error`,{destructuring:`all`,ignoreReadBeforeAssign:!0}],"prefer-regex-literals":[`error`,{disallowRedundantWrapping:!0}],"prefer-rest-params":`error`,"prefer-spread":`error`,"symbol-description":`error`,"use-isnan":[`error`,{enforceForIndexOf:!0,enforceForSwitchCase:!0}],"valid-typeof":[`error`,{requireStringLiterals:!0}],"vars-on-top":`error`},pe={"consistent-this":`error`,"for-direction":`error`,"new-cap":[`error`,{capIsNew:!1,newIsCap:!0,properties:!0}],"no-bitwise":`error`,"no-constant-binary-expression":`error`,"no-constant-condition":`error`,"no-constructor-return":`error`,"no-implicit-coercion":[`error`,{disallowTemplateShorthand:!0}],"no-invalid-this":`error`,"no-param-reassign":[`error`,{ignorePropertyModificationsFor:[`accumulator`,`ctx`,`context`,`req`,`request`,`res`,`response`,`$scope`,`staticContext`,`ref`,`model`],ignorePropertyModificationsForRegex:[`^.*(?:Ref|Model)$`],props:!0}],"no-promise-executor-return":`error`,"no-return-assign":`error`,"no-script-url":`error`,"no-sequences":`error`},me={complexity:[`error`,{max:12}],"max-depth":[`error`,2],"require-atomic-updates":`error`},he={[O.AUTO_FIXABLE]:{...ue,rules:de},[O.EASY]:{rules:fe},[O.HARD]:{rules:me},[O.MEDIUM]:{rules:pe}},ge={files:[`./src/**/*`],plugins:{jsdoc:p}},_e={"jsdoc/require-jsdoc":[`error`,{checkConstructors:!1,contexts:[`TSPropertySignature`,`TSMethodSignature`,`TSTypeAliasDeclaration`,`TSInterfaceDeclaration`,`TSEnumDeclaration`,`MethodDefinition`,`ClassDeclaration`,`ArrowFunctionExpression`,`ObjectExpression`,`PropertyDefinition`],enableFixer:!1,publicOnly:!0}]},ve={[O.AUTO_FIXABLE]:{...ge},[O.EASY]:{rules:_e},[O.HARD]:{},[O.MEDIUM]:{}},ye=[{name:`jsonc/setup`,plugins:{jsonc:ee}},{files:[G,K,q],languageOptions:{parser:m},name:`jsonc/rules`,rules:{"jsonc/array-bracket-spacing":[`error`,`never`],"jsonc/comma-dangle":[`error`,`never`],"jsonc/comma-style":[`error`,`last`],"jsonc/indent":[`error`,2],"jsonc/key-spacing":[`error`,{afterColon:!0,beforeColon:!1}],"jsonc/no-bigint-literals":`error`,"jsonc/no-binary-expression":`error`,"jsonc/no-binary-numeric-literals":`error`,"jsonc/no-dupe-keys":`error`,"jsonc/no-escape-sequence-in-identifier":`error`,"jsonc/no-floating-decimal":`error`,"jsonc/no-hexadecimal-numeric-literals":`error`,"jsonc/no-infinity":`error`,"jsonc/no-multi-str":`error`,"jsonc/no-nan":`error`,"jsonc/no-number-props":`error`,"jsonc/no-numeric-separators":`error`,"jsonc/no-octal":`error`,"jsonc/no-octal-escape":`error`,"jsonc/no-octal-numeric-literals":`error`,"jsonc/no-parenthesized":`error`,"jsonc/no-plus-sign":`error`,"jsonc/no-regexp-literals":`error`,"jsonc/no-sparse-arrays":`error`,"jsonc/no-template-literals":`error`,"jsonc/no-undefined-value":`error`,"jsonc/no-unicode-codepoint-escapes":`error`,"jsonc/no-useless-escape":`error`,"jsonc/object-curly-newline":[`error`,{consistent:!0,multiline:!0}],"jsonc/object-curly-spacing":[`error`,`always`],"jsonc/object-property-newline":[`error`,{allowAllPropertiesOnSameLine:!0}],"jsonc/quote-props":`error`,"jsonc/quotes":`error`,"jsonc/space-unary-ops":`error`,"jsonc/valid-json-number":`error`,"jsonc/vue-custom-block/no-parsing-error":`error`}}],be={files:[V],plugins:{n:h}},xe={"n/handle-callback-err":[`error`,`^(err|error)$`],"n/no-deprecated-api":`error`,"n/no-exports-assign":`error`,"n/no-new-require":`error`,"n/no-path-concat":`error`,"n/prefer-global/buffer":[`error`,`never`],"n/prefer-global/process":[`error`,`never`],"n/process-exit-as-throw":`error`},Se={[O.AUTO_FIXABLE]:{...be},[O.EASY]:{rules:xe},[O.HARD]:{},[O.MEDIUM]:{}},Ce={"perfectionist/sort-array-includes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-classes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-decorators":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-enums":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-export-attributes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-exports":[`error`,{customGroups:[{elementNamePattern:`/lib/`,groupName:`lib`},{elementNamePattern:`/model/`,groupName:`model`},{elementNamePattern:`/ui/`,groupName:`ui`}],groups:[`lib`,`model`,`ui`],type:`natural`}],"perfectionist/sort-heritage-clauses":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-import-attributes":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-imports":[`error`,{customGroups:[{elementNamePattern:`/shared/`,groupName:`shared`},{elementNamePattern:`/entities/`,groupName:`entities`},{elementNamePattern:`/features/`,groupName:`features`},{elementNamePattern:`/widgets/`,groupName:`widgets`},{elementNamePattern:`/pages/`,groupName:`pages`}],groups:[`shared`,`entities`,`features`,`widgets`,`pages`,`type-import`,[`value-builtin`,`value-external`],`type-internal`,`value-internal`,[`type-parent`,`type-sibling`,`type-index`],[`value-parent`,`value-sibling`,`value-index`],`ts-equals-import`,`unknown`],type:`natural`}],"perfectionist/sort-interfaces":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-intersection-types":[`error`,{groups:[`conditional`,`function`,`import`,`intersection`,`keyword`,`literal`,`named`,`object`,`operator`,`tuple`,`union`,`nullish`]}],"perfectionist/sort-jsx-props":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-maps":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-modules":[`error`,{type:`unsorted`}],"perfectionist/sort-named-exports":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-named-imports":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-object-types":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-objects":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-sets":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-switch-case":[`error`,{order:`asc`,type:`natural`}],"perfectionist/sort-union-types":[`error`,{groups:[`conditional`,`function`,`import`,`intersection`,`keyword`,`literal`,`named`,`object`,`operator`,`tuple`,`union`,`nullish`]}],"perfectionist/sort-variable-declarations":[`error`,{order:`asc`,type:`natural`}]},we={[O.AUTO_FIXABLE]:{plugins:{perfectionist:g},rules:Ce},[O.EASY]:{},[O.HARD]:{},[O.MEDIUM]:{}},Te=v.RuleCreator.withoutDocs({create:e=>({IfStatement:t=>{let{options:[n]}=e;if(n<2)throw Error(`Depth should be 2 or above`);let r=0,{parent:i}=t;for(;i.type===_.BlockStatement&&i.parent.type===_.IfStatement&&r!==n-1;)r+=1,i=i.parent;r===n-1&&e.report({data:{depth:n},messageId:`tooManyNestedIfStatements`,node:t})}}),defaultOptions:[3],meta:{docs:{description:`Prevent excessive use of nested if statements`},messages:{tooManyNestedIfStatements:`Too many nested if statements, maximum allowed is {{ depth }}`},schema:{description:`Allowed number of nested if statements`,items:{type:`integer`},type:`array`},type:`problem`}}),Ee=v.RuleCreator.withoutDocs({create:e=>({IfStatement:t=>{t.alternate&&e.report({messageId:`noElse`,node:t.alternate})}}),defaultOptions:[],meta:{docs:{description:`Prevent use of else statements`},messages:{noElse:`else/elseIf statements make code harder to read and are better replaced with an early return or omitting the else block entirely`},schema:[],type:`problem`}}),De=v.RuleCreator.withoutDocs({create:e=>({TSEnumDeclaration:t=>{t.const||e.report({messageId:`preferConstEnum`,node:t})}}),defaultOptions:[],meta:{docs:{description:`Prefer const enums over regular ones`},messages:{preferConstEnum:`Regular enums are compiled into functions, which is a redundant runtime overhead. Use const enums, as they are ignored during compilation, and their member accesses are compiled into plain strings`},schema:[],type:`problem`}}),Oe={name:`productive`,plugins:{productive:{rules:{"no-abusive-nested-if":Te,"no-else":Ee,"prefer-const-enum":De}}}},ke={},Ae={},je={"productive/no-abusive-nested-if":[`error`,2],"productive/no-else":`error`,"productive/prefer-const-enum":`off`},Me={[O.AUTO_FIXABLE]:{...Oe},[O.EASY]:{rules:ke},[O.HARD]:{rules:je},[O.MEDIUM]:{rules:Ae}},Ne={name:`promise`,plugins:{promise:y}},Pe={"promise/no-new-statics":`error`},Fe={"promise/always-return":`error`,"promise/catch-or-return":`error`,"promise/no-multiple-resolved":`error`,"promise/no-return-in-finally":`error`,"promise/no-return-wrap":`error`,"promise/param-names":`error`,"promise/valid-params":`error`},Ie={"promise/prefer-await-to-then":`error`},Le={"promise/no-nesting":`error`,"promise/no-promise-in-callback":`error`},Re={[O.AUTO_FIXABLE]:{...Ne,rules:Pe},[O.EASY]:{rules:Fe},[O.HARD]:{rules:Le},[O.MEDIUM]:{rules:Ie}},ze={plugins:{regexp:b}},Be={"no-empty-character-class":`off`,"no-invalid-regexp":`off`,"no-regex-spaces":`error`,"no-useless-backreference":`off`,"regexp/control-character-escape":`error`,"regexp/match-any":`error`,"regexp/negation":`error`,"regexp/no-extra-lookaround-assertions":`error`,"regexp/no-invisible-character":`error`,"regexp/no-misleading-unicode-character":`error`,"regexp/no-missing-g-flag":`error`,"regexp/no-trivially-nested-assertion":`error`,"regexp/no-trivially-nested-quantifier":`error`,"regexp/no-useless-character-class":`error`,"regexp/no-useless-escape":`error`,"regexp/no-useless-flag":`error`,"regexp/no-useless-lazy":`error`,"regexp/no-useless-non-capturing-group":`error`,"regexp/no-useless-quantifier":`error`,"regexp/no-useless-range":`error`,"regexp/no-useless-set-operand":`error`,"regexp/no-useless-string-literal":`error`,"regexp/no-useless-two-nums-quantifier":`error`,"regexp/optimal-quantifier-concatenation":`error`,"regexp/prefer-character-class":`error`,"regexp/prefer-d":`error`,"regexp/prefer-plus-quantifier":`error`,"regexp/prefer-predefined-assertion":`error`,"regexp/prefer-question-quantifier":`error`,"regexp/prefer-range":`error`,"regexp/prefer-regexp-test":`error`,"regexp/prefer-set-operation":`error`,"regexp/prefer-star-quantifier":`error`,"regexp/prefer-unicode-codepoint-escapes":`error`,"regexp/prefer-w":`error`,"regexp/simplify-set-operations":`error`,"regexp/sort-flags":`error`,"regexp/strict":`error`,"regexp/use-ignore-case":`error`},Ve={"no-control-regex":`error`,"no-misleading-character-class":`error`,"prefer-regex-literals":`error`,"regexp/confusing-quantifier":`error`,"regexp/no-contradiction-with-assertion":`error`,"regexp/no-dupe-characters-character-class":`error`,"regexp/no-dupe-disjunctions":`error`,"regexp/no-empty-alternative":`error`,"regexp/no-empty-capturing-group":`error`,"regexp/no-empty-character-class":`error`,"regexp/no-empty-group":`error`,"regexp/no-empty-lookarounds-assertion":`error`,"regexp/no-empty-string-literal":`error`,"regexp/no-escape-backspace":`error`,"regexp/no-invalid-regexp":`error`,"regexp/no-lazy-ends":`error`,"regexp/no-legacy-features":`error`,"regexp/no-misleading-capturing-group":`error`,"regexp/no-non-standard-flag":`error`,"regexp/no-obscure-range":`error`,"regexp/no-optional-assertion":`error`,"regexp/no-potentially-useless-backreference":`error`,"regexp/no-super-linear-backtracking":`error`,"regexp/no-unused-capturing-group":`error`,"regexp/no-useless-assertions":`error`,"regexp/no-useless-backreference":`error`,"regexp/no-useless-dollar-replacements":`error`,"regexp/no-zero-quantifier":`error`,"regexp/optimal-lookaround-quantifier":`error`},He={[O.AUTO_FIXABLE]:{...ze,rules:Be},[O.EASY]:{rules:Ve},[O.HARD]:{},[O.MEDIUM]:{}},Ue={files:[`**/*.{ts,tsx,js,jsx,mjs,cjs}`],name:`rxjs`,plugins:{rxjs:x}},We={"rxjs/no-implicit-any-catch":`error`,"rxjs/no-internal":`error`,"rxjs/prefer-observer":`error`},Ge={"rxjs/no-compat":`error`,"rxjs/no-create":`error`,"rxjs/no-ignored-error":`error`,"rxjs/no-ignored-observable":`error`,"rxjs/no-ignored-replay-buffer":`error`,"rxjs/no-ignored-subscribe":`error`,"rxjs/no-ignored-subscription":`error`,"rxjs/no-index":`error`,"rxjs/no-topromise":`error`,"rxjs/no-unbound-methods":`error`},Ke={"rxjs/finnish":`error`,"rxjs/no-async-subscribe":`error`,"rxjs/no-cyclic-action":`error`,"rxjs/no-exposed-subjects":`error`,"rxjs/no-ignored-notifier":`error`,"rxjs/no-ignored-takewhile-value":`error`,"rxjs/no-redundant-notify":`error`,"rxjs/no-subclass":`error`,"rxjs/no-subject-unsubscribe":`error`,"rxjs/no-subject-value":`error`,"rxjs/no-unsafe-catch":`error`,"rxjs/no-unsafe-first":`error`,"rxjs/no-unsafe-subject-next":`error`,"rxjs/no-unsafe-takeuntil":`error`,"rxjs/suffix-subjects":`error`,"rxjs/throw-error":`error`},qe={"rxjs/no-connectable":`error`,"rxjs/no-nested-subscribe":`error`,"rxjs/no-sharereplay":`error`,"rxjs/no-subscribe-handlers":`error`,"rxjs/no-unsafe-switchmap":`error`},Je={[O.AUTO_FIXABLE]:{...Ue,rules:We},[O.EASY]:{rules:Ge},[O.HARD]:{rules:qe},[O.MEDIUM]:{rules:Ke}},Ye={name:`sonarjs`,plugins:{sonarjs:S}},Xe={"sonarjs/prefer-immediate-return":`error`},Ze={"sonarjs/no-fallthrough":`error`,"sonarjs/no-redundant-boolean":`error`,"sonarjs/no-redundant-jump":`error`,"sonarjs/non-existent-operator":`error`,"sonarjs/public-static-readonly":`error`},Qe={"sonarjs/bool-param-default":`error`,"sonarjs/comma-or-logical-or-case":`error`,"sonarjs/future-reserved-words":`error`,"sonarjs/index-of-compare-to-positive-number":`error`,"sonarjs/link-with-target-blank":`error`,"sonarjs/no-array-delete":`error`,"sonarjs/no-duplicate-in-composite":`error`,"sonarjs/no-for-in-iterable":`error`,"sonarjs/no-function-declaration-in-block":`error`,"sonarjs/no-global-this":`error`,"sonarjs/no-globals-shadowing":`error`,"sonarjs/no-identical-conditions":`error`,"sonarjs/no-identical-expressions":`error`,"sonarjs/no-identical-functions":`error`,"sonarjs/no-ignored-return":`error`,"sonarjs/no-in-misuse":`error`,"sonarjs/no-incorrect-string-concat":`error`,"sonarjs/no-internal-api-use":`error`,"sonarjs/no-misleading-array-reverse":`error`,"sonarjs/no-nested-template-literals":`error`,"sonarjs/no-redundant-assignments":`error`,"sonarjs/no-redundant-optional":`error`,"sonarjs/no-selector-parameter":`error`,"sonarjs/no-small-switch":`error`,"sonarjs/no-try-promise":`error`,"sonarjs/no-undefined-assignment":`error`,"sonarjs/no-unthrown-error":`error`,"sonarjs/no-unused-collection":`error`,"sonarjs/no-unused-function-argument":`error`,"sonarjs/no-use-of-empty-return-value":`error`,"sonarjs/no-useless-intersection":`error`,"sonarjs/object-alt-content":`error`,"sonarjs/post-message":`error`,"sonarjs/prefer-promise-shorthand":`error`,"sonarjs/reduce-initial-value":`error`,"sonarjs/strings-comparison":`error`,"sonarjs/table-header":`error`,"sonarjs/table-header-reference":`error`},$e={"sonarjs/expression-complexity":[`error`,{max:2}],"sonarjs/no-all-duplicated-branches":`error`,"sonarjs/no-async-constructor":`error`,"sonarjs/no-invariant-returns":`error`,"sonarjs/no-nested-switch":`error`,"sonarjs/too-many-break-or-continue-in-loop":`error`},et={[O.AUTO_FIXABLE]:{...Ye,rules:Xe},[O.EASY]:{rules:Ze},[O.HARD]:{rules:$e},[O.MEDIUM]:{rules:Qe}},tt=[{name:`toml/setup`,plugins:{toml:C}},{files:[Y],languageOptions:{parser:w},name:`toml/rules`,rules:{"toml/array-bracket-newline":`error`,"toml/array-bracket-spacing":`error`,"toml/array-element-newline":`error`,"toml/comma-style":`error`,"toml/indent":[`error`,2],"toml/inline-table-curly-spacing":`error`,"toml/key-spacing":`error`,"toml/keys-order":`error`,"toml/no-space-dots":`error`,"toml/no-unreadable-number-separator":`error`,"toml/padding-line-between-pairs":`error`,"toml/padding-line-between-tables":`error`,"toml/precision-of-fractional-seconds":`error`,"toml/precision-of-integer":`error`,"toml/quoted-keys":`error`,"toml/table-bracket-spacing":`error`,"toml/tables-order":`error`,"toml/vue-custom-block/no-parsing-error":`error`}}],nt={plugins:{"@typescript-eslint":T}},rt={"@typescript-eslint/array-type":`error`,"@typescript-eslint/consistent-generic-constructors":`error`,"@typescript-eslint/consistent-indexed-object-style":`error`,"@typescript-eslint/consistent-type-assertions":`error`,"@typescript-eslint/consistent-type-imports":[`error`,{disallowTypeAnnotations:!1,fixStyle:`separate-type-imports`,prefer:`type-imports`}],"@typescript-eslint/dot-notation":[`error`,{allowIndexSignaturePropertyAccess:!0}],"@typescript-eslint/method-signature-style":[`error`,`property`],"@typescript-eslint/no-array-constructor":`error`,"@typescript-eslint/no-duplicate-type-constituents":`error`,"@typescript-eslint/no-extra-non-null-assertion":`error`,"@typescript-eslint/no-import-type-side-effects":`error`,"@typescript-eslint/no-inferrable-types":`error`,"@typescript-eslint/no-meaningless-void-operator":`error`,"@typescript-eslint/no-unnecessary-qualifier":`error`,"@typescript-eslint/no-unnecessary-template-expression":`error`,"@typescript-eslint/no-unnecessary-type-arguments":`error`,"@typescript-eslint/no-unnecessary-type-assertion":`error`,"@typescript-eslint/no-unused-vars":`off`,"@typescript-eslint/no-useless-empty-export":`error`,"@typescript-eslint/no-wrapper-object-types":`error`,"@typescript-eslint/prefer-as-const":`error`,"@typescript-eslint/prefer-function-type":`error`,"@typescript-eslint/prefer-namespace-keyword":`error`,"constructor-super":`off`,"getter-return":`off`,"no-array-constructor":`off`,"no-class-assign":`off`,"no-const-assign":`off`,"no-dupe-args":`off`,"no-dupe-class-members":`off`,"no-dupe-keys":`off`,"no-func-assign":`off`,"no-import-assign":`off`,"no-new-native-nonconstructor":`off`,"no-new-symbol":`off`,"no-obj-calls":`off`,"no-redeclare":`off`,"no-setter-return":`off`,"no-this-before-super":`off`,"no-undef":`off`,"no-unreachable":`off`,"no-unsafe-negation":`off`,"no-unused-expressions":`off`,"no-unused-vars":`off`,"no-use-before-define":`off`,"no-useless-constructor":`off`,"no-with":`off`,"unused-imports/no-unused-vars":`off`},it={"@typescript-eslint/ban-ts-comment":[`error`,{"ts-expect-error":`allow-with-description`}],"@typescript-eslint/class-literal-property-style":`error`,"@typescript-eslint/consistent-type-definitions":[`error`,`interface`],"@typescript-eslint/default-param-last":`error`,"@typescript-eslint/explicit-function-return-type":[`error`,{allowExpressions:!0}],"@typescript-eslint/explicit-member-accessibility":[`error`,{overrides:{constructors:`no-public`}}],"@typescript-eslint/naming-convention":[`error`,{format:null,selector:[`objectLiteralProperty`]},{format:null,selector:`import`},{format:[`StrictPascalCase`],selector:[`enum`,`class`]},{format:[`UPPER_CASE`],selector:[`enumMember`]},{format:[`StrictPascalCase`],prefix:[`I`],selector:[`interface`]},{format:[`StrictPascalCase`],prefix:[`T`],selector:[`typeAlias`]},{format:[`StrictPascalCase`],selector:[`typeParameter`]},{format:[`strictCamelCase`,`UPPER_CASE`],modifiers:[`const`],selector:`variable`},{format:[`camelCase`],leadingUnderscore:`allow`,modifiers:[`unused`],selector:`parameter`}],"@typescript-eslint/no-base-to-string":`error`,"@typescript-eslint/no-confusing-void-expression":`error`,"@typescript-eslint/no-dupe-class-members":`error`,"@typescript-eslint/no-duplicate-enum-values":`error`,"@typescript-eslint/no-dynamic-delete":`error`,"@typescript-eslint/no-empty-object-type":[`error`,{allowInterfaces:`always`}],"@typescript-eslint/no-explicit-any":`error`,"@typescript-eslint/no-floating-promises":`error`,"@typescript-eslint/no-loop-func":`error`,"@typescript-eslint/no-magic-numbers":[`error`,{enforceConst:!0,ignore:[0,1,100,-1],ignoreClassFieldInitialValues:!0,ignoreDefaultValues:!0,ignoreEnums:!0}],"@typescript-eslint/no-misused-new":`error`,"@typescript-eslint/no-namespace":`error`,"@typescript-eslint/no-non-null-asserted-nullish-coalescing":`error`,"@typescript-eslint/no-non-null-asserted-optional-chain":`error`,"@typescript-eslint/no-redeclare":[`error`,{builtinGlobals:!1}],"@typescript-eslint/no-redundant-type-constituents":`error`,"@typescript-eslint/no-require-imports":`error`,"@typescript-eslint/no-this-alias":`error`,"@typescript-eslint/no-unnecessary-boolean-literal-compare":`error`,"@typescript-eslint/no-unnecessary-condition":`error`,"@typescript-eslint/no-unnecessary-type-constraint":`error`,"@typescript-eslint/no-unnecessary-type-conversion":`error`,"@typescript-eslint/no-unsafe-argument":`error`,"@typescript-eslint/no-unsafe-assignment":`error`,"@typescript-eslint/no-unsafe-call":`error`,"@typescript-eslint/no-unsafe-declaration-merging":`error`,"@typescript-eslint/no-unsafe-enum-comparison":`error`,"@typescript-eslint/no-unsafe-function-type":`error`,"@typescript-eslint/no-unsafe-member-access":`error`,"@typescript-eslint/no-unsafe-return":`error`,"@typescript-eslint/no-unsafe-unary-minus":`error`,"@typescript-eslint/no-unused-expressions":[`error`,{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],"@typescript-eslint/no-use-before-define":[`error`,{classes:!1,functions:!1,variables:!0}],"@typescript-eslint/no-useless-constructor":`error`,"@typescript-eslint/only-throw-error":`error`,"@typescript-eslint/prefer-destructuring":`error`,"@typescript-eslint/prefer-literal-enum-member":`error`,"@typescript-eslint/prefer-nullish-coalescing":`error`,"@typescript-eslint/prefer-optional-chain":`error`,"@typescript-eslint/related-getter-setter-pairs":`error`,"@typescript-eslint/require-array-sort-compare":[`error`,{ignoreStringArrays:!1}],"@typescript-eslint/require-await":`error`,"@typescript-eslint/return-await":`error`,"@typescript-eslint/switch-exhaustiveness-check":`error`,"@typescript-eslint/triple-slash-reference":`off`,"@typescript-eslint/unbound-method":`error`,"@typescript-eslint/unified-signatures":`error`},at={"@typescript-eslint/class-methods-use-this":`error`,"@typescript-eslint/init-declarations":`error`,"@typescript-eslint/max-params":[`error`,{max:3}],"@typescript-eslint/no-extraneous-class":`error`,"@typescript-eslint/no-invalid-void-type":`error`,"@typescript-eslint/no-misused-promises":`error`,"@typescript-eslint/no-misused-spread":`error`,"@typescript-eslint/no-mixed-enums":`error`,"@typescript-eslint/parameter-properties":`error`,"@typescript-eslint/prefer-enum-initializers":`error`,"@typescript-eslint/prefer-promise-reject-errors":`error`,"@typescript-eslint/prefer-reduce-type-parameter":`error`,"@typescript-eslint/prefer-return-this-type":`error`,"@typescript-eslint/restrict-template-expressions":`error`},ot={"@typescript-eslint/no-non-null-assertion":`error`,"@typescript-eslint/prefer-readonly":`error`},st={[O.AUTO_FIXABLE]:{...nt,rules:rt},[O.EASY]:{rules:it},[O.HARD]:{rules:ot},[O.MEDIUM]:{rules:at}},ct={plugins:{unicorn:E}},lt={"unicorn/consistent-empty-array-spread":`error`,"unicorn/escape-case":`error`,"unicorn/new-for-builtins":`error`,"unicorn/no-instanceof-builtins":`error`,"unicorn/no-new-array":`error`,"unicorn/no-new-buffer":`error`,"unicorn/no-unnecessary-array-flat-depth":`error`,"unicorn/no-unnecessary-array-splice-count":`error`,"unicorn/no-unnecessary-await":`error`,"unicorn/no-unnecessary-slice-end":`error`,"unicorn/no-useless-fallback-in-spread":`error`,"unicorn/no-useless-length-check":`error`,"unicorn/no-useless-promise-resolve-reject":`error`,"unicorn/no-useless-spread":`error`,"unicorn/no-zero-fractions":`error`,"unicorn/numeric-separators-style":`error`,"unicorn/prefer-array-find":`error`,"unicorn/prefer-array-flat":`error`,"unicorn/prefer-array-flat-map":`error`,"unicorn/prefer-array-index-of":`error`,"unicorn/prefer-at":`error`,"unicorn/prefer-date-now":`error`,"unicorn/prefer-dom-node-append":`error`,"unicorn/prefer-dom-node-dataset":`error`,"unicorn/prefer-dom-node-remove":`error`,"unicorn/prefer-export-from":`error`,"unicorn/prefer-global-this":`error`,"unicorn/prefer-import-meta-properties":`error`,"unicorn/prefer-includes":`error`,"unicorn/prefer-keyboard-event-key":`error`,"unicorn/prefer-math-min-max":`error`,"unicorn/prefer-modern-dom-apis":`error`,"unicorn/prefer-modern-math-apis":`error`,"unicorn/prefer-native-coercion-functions":`error`,"unicorn/prefer-negative-index":`error`,"unicorn/prefer-node-protocol":`error`,"unicorn/prefer-object-from-entries":`error`,"unicorn/prefer-optional-catch-binding":`error`,"unicorn/prefer-prototype-methods":`error`,"unicorn/prefer-reflect-apply":`error`,"unicorn/prefer-regexp-test":`error`,"unicorn/prefer-set-size":`error`,"unicorn/prefer-string-raw":`error`,"unicorn/prefer-string-replace-all":`error`,"unicorn/prefer-string-starts-ends-with":`error`,"unicorn/prefer-string-trim-start-end":`error`,"unicorn/prefer-switch":`error`,"unicorn/prefer-ternary":`error`,"unicorn/prefer-type-error":`error`,"unicorn/require-array-join-separator":`error`,"unicorn/switch-case-braces":`error`,"unicorn/throw-new-error":`error`},ut={"unicorn/error-message":`error`,"unicorn/no-empty-file":`error`,"unicorn/no-unused-properties":`error`,"unicorn/no-useless-switch-case":`error`,"unicorn/no-useless-undefined":`error`,"unicorn/prefer-add-event-listener":`error`,"unicorn/prefer-array-some":`error`,"unicorn/prefer-blob-reading-methods":`error`,"unicorn/prefer-code-point":`error`,"unicorn/prefer-default-parameters":`error`,"unicorn/prefer-dom-node-text-content":`error`,"unicorn/prefer-event-target":`error`,"unicorn/prefer-json-parse-buffer":`error`,"unicorn/prefer-logical-operator-over-ternary":`error`,"unicorn/prefer-math-trunc":`error`,"unicorn/prefer-number-properties":`error`,"unicorn/prefer-query-selector":`error`,"unicorn/prefer-set-has":`error`,"unicorn/prefer-single-call":`error`,"unicorn/prefer-spread":`error`,"unicorn/prefer-string-slice":`error`,"unicorn/prefer-structured-clone":`error`,"unicorn/prefer-top-level-await":`error`},dt={"unicorn/consistent-date-clone":`error`,"unicorn/consistent-destructuring":`error`,"unicorn/consistent-existence-index-check":`error`,"unicorn/custom-error-definition":`error`,"unicorn/explicit-length-check":`error`,"unicorn/no-abusive-eslint-disable":`error`,"unicorn/no-accessor-recursion":`error`,"unicorn/no-array-callback-reference":`error`,"unicorn/no-array-for-each":`error`,"unicorn/no-for-loop":`error`,"unicorn/no-hex-escape":`error`,"unicorn/no-lonely-if":`error`,"unicorn/no-magic-array-flat-depth":`error`,"unicorn/no-named-default":`error`,"unicorn/no-negated-condition":`error`,"unicorn/no-negation-in-equality-check":`error`,"unicorn/no-nested-ternary":`error`,"unicorn/no-single-promise-in-promise-methods":`error`,"unicorn/no-typeof-undefined":`error`,"unicorn/no-unreadable-array-destructuring":`error`,"unicorn/relative-url-style":`error`,"unicorn/require-number-to-fixed-digits-argument":`error`,"unicorn/require-post-message-target-origin":`error`},ft={"unicorn/no-array-method-this-argument":`error`,"unicorn/no-await-in-promise-methods":`error`,"unicorn/no-document-cookie":`error`,"unicorn/no-invalid-remove-event-listener":`error`,"unicorn/no-object-as-default-parameter":`error`},$={[O.AUTO_FIXABLE]:{...ct,rules:lt},[O.EASY]:{rules:ut},[O.HARD]:{rules:ft},[O.MEDIUM]:{rules:dt}},pt={"vue/attribute-hyphenation":[`error`,`never`],"vue/attributes-order":[`error`,{alphabetical:!0}],"vue/block-order":[`error`,{order:[`script`,`template`,`style`]}],"vue/component-name-in-template-casing":[`error`,`PascalCase`],"vue/component-options-name-casing":[`error`,`PascalCase`],"vue/dot-location":[`error`,`property`],"vue/html-self-closing":[`error`,{html:{void:`always`}}],"vue/max-attributes-per-line":`off`,"vue/multi-word-component-names":`off`,"vue/no-deprecated-data-object-declaration":`error`,"vue/no-deprecated-destroyed-lifecycle":`error`,"vue/no-deprecated-dollar-scopedslots-api":`error`,"vue/no-deprecated-scope-attribute":`error`,"vue/no-deprecated-slot-attribute":`error`,"vue/no-deprecated-slot-scope-attribute":`error`,"vue/no-deprecated-v-bind-sync":`error`,"vue/no-deprecated-v-on-number-modifiers":`error`,"vue/no-empty-component-block":`error`,"vue/no-implicit-coercion":`error`,"vue/no-import-compiler-macros":`error`,"vue/no-ref-as-operand":`error`,"vue/no-setup-props-reactivity-loss":`off`,"vue/no-useless-mustaches":`error`,"vue/no-useless-v-bind":`error`,"vue/no-v-html":`off`,"vue/object-shorthand":[`error`,`always`,{avoidQuotes:!0,ignoreConstructors:!1}],"vue/padding-line-between-blocks":[`error`,`always`],"vue/prefer-import-from-vue":`error`,"vue/prefer-separate-static-class":`error`,"vue/prefer-template":`error`,"vue/require-default-prop":`off`,"vue/require-prop-types":`off`,"vue/space-infix-ops":`error`,"vue/space-unary-ops":[`error`,{nonwords:!1,words:!0}],"vue/this-in-template":`error`,"vue/v-bind-style":[`error`,`shorthand`,{sameNameShorthand:`always`}],"vue/v-for-delimiter-style":[`error`,`of`],"vue/v-if-else-key":`error`,"vue/v-on-event-hyphenation":[`error`,`never`,{autofix:!0}],"vue/v-on-style":`error`,"vue/v-slot-style":[`error`,{atComponent:`v-slot`,default:`v-slot`,named:`longform`}],"vue/valid-next-tick":`error`},mt={"vue/block-lang":[`error`,{script:{lang:`ts`}}],"vue/comment-directive":[`error`,{reportUnusedDisableDirectives:!0}],"vue/component-api-style":[`error`,[`script-setup`]],"vue/custom-event-name-casing":[`error`,`camelCase`],"vue/define-macros-order":[`error`,{defineExposeLast:!0,order:[`defineOptions`,`defineModel`,`defineProps`,`defineEmits`,`defineSlots`]}],"vue/define-props-declaration":`error`,"vue/define-props-destructuring":`error`,"vue/enforce-style-attribute":[`error`,{allow:[`module`]}],"vue/html-comment-content-spacing":[`error`,`always`,{exceptions:[`-`]}],"vue/jsx-uses-vars":`error`,"vue/no-arrow-functions-in-watch":`error`,"vue/no-async-in-computed-properties":`error`,"vue/no-child-content":`error`,"vue/no-computed-properties-in-data":`error`,"vue/no-deprecated-delete-set":`error`,"vue/no-deprecated-dollar-listeners-api":`error`,"vue/no-deprecated-events-api":`error`,"vue/no-deprecated-filter":`error`,"vue/no-deprecated-functional-template":`error`,"vue/no-deprecated-html-element-is":`error`,"vue/no-deprecated-inline-template":`error`,"vue/no-deprecated-model-definition":`error`,"vue/no-deprecated-props-default-this":`error`,"vue/no-deprecated-router-link-tag-prop":`error`,"vue/no-deprecated-v-is":`error`,"vue/no-deprecated-v-on-native-modifier":`error`,"vue/no-deprecated-vue-config-keycodes":`error`,"vue/no-dupe-keys":`error`,"vue/no-dupe-v-else-if":`error`,"vue/no-duplicate-attributes":`error`,"vue/no-empty-pattern":`error`,"vue/no-export-in-script-setup":`error`,"vue/no-expose-after-await":`error`,"vue/no-irregular-whitespace":`error`,"vue/no-lifecycle-after-await":`error`,"vue/no-lone-template":`error`,"vue/no-loss-of-precision":`error`,"vue/no-multiple-objects-in-class":`error`,"vue/no-multiple-slot-args":`error`,"vue/no-mutating-props":`error`,"vue/no-parsing-error":`error`,"vue/no-ref-object-reactivity-loss":`error`,"vue/no-required-prop-with-default":`error`,"vue/no-reserved-component-names":`error`,"vue/no-reserved-keys":`error`,"vue/no-reserved-props":`error`,"vue/no-restricted-block":`error`,"vue/no-restricted-syntax":[`error`,`DebuggerStatement`,`LabeledStatement`,`WithStatement`,{message:`Use ref instead of reactive for code consistency`,selector:`CallExpression[callee.name="reactive"]`}],"vue/no-restricted-v-bind":[`error`,`/^v-/`],"vue/no-side-effects-in-computed-properties":`error`,"vue/no-template-key":`error`,"vue/no-template-shadow":`error`,"vue/no-template-target-blank":`error`,"vue/no-textarea-mustache":`error`,"vue/no-unused-components":`error`,"vue/no-unused-refs":`error`,"vue/no-unused-vars":`error`,"vue/no-use-computed-property-like-method":`error`,"vue/no-use-v-else-with-v-for":`error`,"vue/no-use-v-if-with-v-for":`error`,"vue/no-useless-template-attributes":`error`,"vue/no-v-for-template-key-on-child":`error`,"vue/no-v-text-v-html-on-component":`error`,"vue/no-watch-after-await":`error`,"vue/prefer-true-attribute-shorthand":`error`,"vue/prefer-use-template-ref":`error`,"vue/prop-name-casing":[`error`,`camelCase`],"vue/require-component-is":`error`,"vue/require-explicit-emits":`error`,"vue/require-macro-variable-name":`error`,"vue/require-render-return":`error`,"vue/require-slots-as-functions":`error`,"vue/require-toggle-inside-transition":`error`,"vue/require-typed-ref":`error`,"vue/require-v-for-key":`error`,"vue/return-in-computed-property":`error`,"vue/return-in-emits-validator":`error`,"vue/slot-name-casing":`error`,"vue/use-v-on-exact":`error`,"vue/v-on-handler-style":[`error`,[`method`,`inline-function`],{ignoreIncludesComment:!0}],"vue/valid-attribute-name":`error`,"vue/valid-define-emits":`error`,"vue/valid-define-options":`error`,"vue/valid-define-props":`error`,"vue/valid-template-root":`error`,"vue/valid-v-bind":`error`,"vue/valid-v-cloak":`error`,"vue/valid-v-else":`error`,"vue/valid-v-else-if":`error`,"vue/valid-v-for":`error`,"vue/valid-v-html":`error`,"vue/valid-v-if":`error`,"vue/valid-v-is":`error`,"vue/valid-v-memo":`error`,"vue/valid-v-model":`error`,"vue/valid-v-on":`error`,"vue/valid-v-once":`error`,"vue/valid-v-pre":`error`,"vue/valid-v-show":`error`,"vue/valid-v-slot":`error`,"vue/valid-v-text":`error`},ht={"vue/eqeqeq":[`error`,`smart`],"vue/html-button-has-type":`error`,"vue/no-async-in-computed-properties":`error`,"vue/no-child-content":`error`,"vue/no-console":`error`,"vue/no-constant-condition":`error`,"vue/no-duplicate-attr-inheritance":`error`,"vue/no-root-v-if":`error`,"vue/no-sparse-arrays":`error`,"vue/no-static-inline-styles":`error`,"vue/no-v-html":`error`,"vue/no-v-text":`error`,"vue/no-v-text-v-html-on-component":`error`},gt={[O.AUTO_FIXABLE]:{rules:pt},[O.EASY]:{rules:mt},[O.HARD]:{},[O.MEDIUM]:{rules:ht}},_t=[{name:`yaml/setup`,plugins:{yml:D}},{files:[J],languageOptions:{parser:te},name:`yaml/rules`,rules:{"yml/block-mapping":`error`,"yml/block-mapping-colon-indicator-newline":`error`,"yml/block-mapping-question-indicator-newline":`error`,"yml/block-sequence":`error`,"yml/block-sequence-hyphen-indicator-newline":`error`,"yml/flow-mapping-curly-newline":`error`,"yml/flow-mapping-curly-spacing":`error`,"yml/flow-sequence-bracket-newline":`error`,"yml/flow-sequence-bracket-spacing":`error`,"yml/indent":[`error`,2],"yml/key-spacing":`error`,"yml/no-empty-key":`error`,"yml/no-empty-sequence-entry":`error`,"yml/no-irregular-whitespace":`error`,"yml/no-tab-indent":`error`,"yml/plain-scalar":`error`,"yml/spaced-comment":`error`,"yml/vue-custom-block/no-parsing-error":`error`}}],vt=t=>[{files:[V,W],languageOptions:{globals:{computed:`readonly`,defineEmits:`readonly`,defineExpose:`readonly`,defineProps:`readonly`,onMounted:`readonly`,onUnmounted:`readonly`,reactive:`readonly`,ref:`readonly`,shallowReactive:`readonly`,shallowRef:`readonly`,toRef:`readonly`,toRefs:`readonly`,watch:`readonly`,watchEffect:`readonly`}},name:`vue/setup`,plugins:{vue:r}},{files:[W],languageOptions:{parser:o,parserOptions:{ecmaFeatures:{jsx:!0},extraFileExtensions:[`.vue`],parser:e,sourceType:`module`}},name:`vue/rules`,processor:r.processors[`.vue`],rules:j(gt,t).rules??{}}],yt=({ignores:r=[],rxjs:o,strictness:s=O.HARD,vue:c})=>{let l=c??(a(`vue`)||a(`nuxt`)),u=o??a(`rxjs`),d=l?[V,W]:[V];return new t([{ignores:[...Z,...r],name:`ignores`},{files:d,languageOptions:{ecmaVersion:`latest`,globals:{...i.browser,...i.es2025,...i.node},parserOptions:{ecmaFeatures:{jsx:!0},ecmaVersion:`latest`,sourceType:`module`},sourceType:`module`},linterOptions:{reportUnusedDisableDirectives:!0},name:`javascript/setup`},{files:d,name:`javascript/rules`,...j(he,s)},{files:d,name:`eslint-comments/rules`,...j(ie,s)},{files:d,name:`node/rules`,...j(Se,s)},{files:d,name:`perfectionist/rules`,...j(we,s)},{files:d,name:`jsdoc/rules`,...j(ve,s)},{files:d,name:`unicorn/rules`,...j($,s)},{files:[`**/*.?([cm])jsx`,U],languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},name:`jsx/setup`},{files:[H,U],languageOptions:{parser:e,parserOptions:{extraFileExtensions:[`.vue`],projectService:!0,sourceType:`module`}},name:`typescript/parser`},{files:[H,U],name:`typescript/rules`,...j(st,s)},{files:d,name:`regexp/rules`,...j(He,s)},...l?vt(s):[],{files:d,name:`imports`,...j(le,s)},{files:[X],language:`css/css`,name:`css`,...j(z,s)},{files:d,name:`boundaries`,...j(I,s)},{files:[V,W,X,G,K,q,J,Y],name:`prettier`,plugins:{prettier:n},rules:{"prettier/prettier":`error`}},{files:d,name:`promise`,...j(Re,s)},{files:d,name:`sonarjs`,...j(et,s)},{files:d,name:`productive`,...j(Me,s)},ye,_t,tt,Q,...u?[j(Je,s)]:[]].flat())};export{O as StrictnessPreset,yt as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "productive-eslint",
3
3
  "type": "module",
4
- "version": "3.3.1",
4
+ "version": "3.3.2",
5
5
  "description": "Mildly strict and sufficiently practical ESLint config based on Evgeny Orekhov's eslint-config-hardcore",
6
6
  "author": "Bogdan Binitskiy",
7
7
  "contributors": [