@anolilab/eslint-config 16.2.21 → 16.2.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,20 +1,20 @@
1
- "use strict";var ge=Object.create;var ee=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var w=(e,r)=>ee(e,"name",{value:r,configurable:!0});var we=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of he(r))!xe.call(e,t)&&t!==o&&ee(e,t,{get:()=>r[t],enumerable:!(s=ye(r,t))||s.enumerable});return e};var i=(e,r,o)=>(o=e!=null?ge(be(e)):{},we(r||!e||!e.__esModule?ee(o,"default",{value:e,enumerable:!0}):o,e));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const je=require("node:fs"),ve=require("node:path"),m=require("@visulima/package"),ke=require("eslint-flat-config-utils"),se=require("semver"),n=require("./packem_shared/getFilesGlobs-DUUiSUKd.cjs"),Ce=require("globals"),ie=require("eslint-merge-processors"),le=require("@eslint/compat"),Pe=require("@visulima/tsconfig"),Oe=require("eslint-plugin-regexp"),De=require("confusing-browser-globals"),ce=w(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),W=ce(Ce),Fe=ce(De),R={"dot-notation":"off","no-empty-function":"off","no-implied-eval":"off","no-loop-func":"off","no-magic-numbers":"off","no-new-func":"off","no-redeclare":"off","no-return-await":"off","no-throw-literal":"off","no-unused-expressions":"off",strict:"off"},Se=n.createConfig("all",async(e,r)=>{const{files:o=r}=e;return[{files:o,name:"anolilab/best-practices/rules",rules:{"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],complexity:["off",11],"consistent-return":"error",curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-location":["error","property"],"dot-notation":["error",{allowKeywords:!0}],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","max-classes-per-file":["error",1],"no-alert":"error","no-caller":"error","no-case-declarations":"error","no-constructor-return":"error","no-div-regex":"off","no-else-return":["error",{allowElseIf:!1}],"no-empty-function":["error",{allow:["arrowFunctions","functions","methods"]}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eq-null":"off","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-fallthrough":"error","no-floating-decimal":"error","no-global-assign":["error",{exceptions:[]}],"no-implicit-coercion":["off",{allow:[],boolean:!1,number:!0,string:!0}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-iterator":"error","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","no-magic-numbers":["off",{detectObjects:!1,enforceConst:!0,ignore:[],ignoreArrayIndexes:!0}],"no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-native-reassign":"off","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":["error",{ignorePropertyModificationsFor:["acc","accumulator","e","ctx","context","req","request","res","response","$scope","staticContext"],props:!0}],"no-proto":"error","no-redeclare":"error","no-restricted-properties":["error",{message:"arguments.callee is deprecated",object:"arguments",property:"callee"},{message:"Please use Number.isFinite instead",object:"global",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"self",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"window",property:"isFinite"},{message:"Please use Number.isNaN instead",object:"global",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"self",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"window",property:"isNaN"},{message:"Please use Object.defineProperty instead.",property:"__defineGetter__"},{message:"Please use Object.defineProperty instead.",property:"__defineSetter__"},{message:"Use the exponentiation operator (**) instead.",object:"Math",property:"pow"},{message:"Use `Number.isNaN` instead.",object:"globalThis",property:"isNaN"},{message:"Use `Number.isFinite` instead.",object:"globalThis",property:"isFinite"},{message:"Use `Number.parseFloat` instead.",object:"globalThis",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"globalThis",property:"parseInt"},{message:"Use `Number.parseFloat` instead.",object:"window",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"window",property:"parseInt"},{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-return-assign":["error","always"],"no-return-await":"error","no-script-url":"error","no-self-assign":["error",{props:!0}],"no-self-compare":"error","no-sequences":"error","no-throw-literal":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTaggedTemplates:!1,allowTernary:!1}],"no-unused-labels":"error","no-useless-call":"off","no-useless-catch":"error","no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":"error","no-warning-comments":["off",{location:"start",terms:["todo","fixme","xxx","@todo"]}],"no-with":"error","prefer-named-capture-group":"off","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-regex-literals":"off",radix:"error","require-await":"off","require-unicode-regexp":"off","vars-on-top":"error","wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error"}},{files:n.getFilesGlobs("ts"),name:"anolilab/best-practices/ts-rules",rules:R}]}),_e={"for-direction":"error","getter-return":["error",{allowImplicit:!0}],"no-async-promise-executor":"error","no-await-in-loop":"error","no-compare-neg-zero":"error","no-cond-assign":["error","always"],"no-console":"warn","no-constant-condition":"warn","no-control-regex":"off","no-debugger":"error","no-dupe-args":"error","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty":"error","no-empty-character-class":"error","no-ex-assign":"error","no-extra-boolean-cast":"error","no-func-assign":"error","no-import-assign":"error","no-inner-declarations":"error","no-invalid-regexp":"off","no-irregular-whitespace":"error","no-loss-of-precision":"error","no-misleading-character-class":"error","no-negated-in-lhs":"off","no-new-native-nonconstructor":"error","no-obj-calls":"error","no-promise-executor-return":"error","no-prototype-builtins":"error","no-regex-spaces":"off","no-setter-return":"error","no-sparse-arrays":"error","no-template-curly-in-string":"error","no-unexpected-multiline":"error","no-unreachable":"error","no-unreachable-loop":"off","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":["error",{disallowArithmeticOperators:!0}],"no-useless-backreference":"error","require-atomic-updates":"off","use-isnan":"error","valid-jsdoc":"off","valid-typeof":["error",{requireStringLiterals:!0}]},qe=n.createConfig("all",async(e,r)=>{const{files:o=r}=e;return[{files:o,name:"anolilab/errors/rules",rules:_e},{files:n.getFilesGlobs("ts"),name:"anolilab/errors/ts-rules",rules:{"getter-return":"off","no-dupe-args":"off","no-dupe-keys":"off","no-extra-parens":"off","no-extra-semi":"off","no-func-assign":"off","no-obj-calls":"off","no-unreachable":"off","no-unsafe-negation":"off","space-infix-ops":"off","valid-typeof":"off"}}]});var Ee=Object.defineProperty,Ae=w((e,r)=>Ee(e,"name",{value:r,configurable:!0}),"s$3");const pe=Ae(e=>({"arrow-body-style":["error","as-needed",{requireReturnForObjectLiteral:!0}],"arrow-parens":["error","always"],"arrow-spacing":["error",{after:!0,before:!0}],"constructor-super":"error","generator-star-spacing":["error",{after:!0,before:!1}],"no-class-assign":"error","no-confusing-arrow":["error",{allowParens:!0}],"no-const-assign":"error","no-dupe-class-members":"error","no-duplicate-imports":"off","no-new-symbol":"error","no-restricted-exports":["error",{restrictDefaultExports:{defaultFrom:!1,direct:!1,named:!0,namedFrom:!1,namespaceFrom:!0},restrictedNamedExports:["then"]}],"no-restricted-imports":["error",{paths:[{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.isequal"},{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.uniqueId"},{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.mergewith"},{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.pick"},{name:"error"},{name:"domain"},{name:"freelist"},{name:"smalloc"},{name:"punycode"},{name:"sys"},{message:'Is legacy, npm version got deprecated, migrate to URLSearchParams as recommended or try "qs" as a package',name:"querystring"},{message:"Please use one of the following instead: chalk, kleur, ansi-colors, @colors/colors",name:"colors"},{message:"node v10.12 mkdir supports recursive option",name:"mkdirp"},{message:'Please use "@faker-js/faker" as a replacement',name:"faker"},{message:"Please use Object.assign or spread { ...obj }",name:"xtend"},{message:"Please use Object.assign or spread { ...obj }",name:"object-assign"},{message:"Please use Object.assign or spread { ...obj }",name:"extend-shallow"},{message:"node supports recursive option now",name:"rimraf"},{message:'just use "".padStart() and "".padEnd()',name:"pad-left"},{message:'just use "".padStart() and "".padEnd()',name:"pad-right"},{message:'just use "".padStart() and "".padEnd()',name:"left-pad"},{message:'just use "".padStart() and "".padEnd()',name:"right-pad"},{message:'just use "".padStart() and "".padEnd()',name:"pad"},{name:"safe-buffer"},{name:"safer-buffer"},{message:"just use [].flat() or some other polyfill",name:"array-flatten"},{message:"Been deprecated",name:"request"},{message:"use async/await instead",name:"co"},{message:"Please use TextDecoder instead",name:"windows-1252"},{message:"Please use TextDecoder instead",name:"string_decoder"},{message:"Please use array.prototype.flatMap instead",name:"concat-map"},{name:"buffer-alloc"}],patterns:["lodash.*"]}],"no-this-before-super":"error","no-useless-computed-key":"error","no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreExport:!1,ignoreImport:!1}],"no-var":"error","object-shorthand":["error","always",{avoidQuotes:!0,ignoreConstructors:!1}],"prefer-arrow-callback":["error",{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-const":e?"off":["error",{destructuring:"any",ignoreReadBeforeAssign:!0}],"prefer-destructuring":["error",{AssignmentExpression:{array:!0,object:!1},VariableDeclarator:{array:!1,object:!0}},{enforceForRenamedProperties:!1}],"prefer-numeric-literals":"error","prefer-reflect":"off","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error","require-yield":"error","rest-spread-spacing":["error","never"],"sort-imports":["off",{ignoreCase:!1,ignoreDeclarationSort:!1,ignoreMemberSort:!1,memberSyntaxSortOrder:["none","all","multiple","single"]}],"symbol-description":"error","template-curly-spacing":"error","yield-star-spacing":["error","after"]}),"es6Rules"),Ie=n.createConfig("all",async(e,r)=>{const{files:o=r,isInEditor:s=!1}=e;return[{files:o,languageOptions:{parserOptions:{ecmaFeatures:{generators:!1,objectLiteralDuplicateProperties:!1},ecmaVersion:6,sourceType:"module"}},name:"anolilab/es6/rules",rules:pe(s)},{files:n.getFilesGlobs("ts"),name:"anolilab/es6/ts-rules",rules:{"constructor-super":"off","no-const-assign":"off","no-dupe-class-members":"off","no-new-symbol":"off","no-this-before-super":"off","no-useless-constructor":"off"}}]});var Te=Object.defineProperty,Ne=w((e,r)=>Te(e,"name",{value:r,configurable:!0}),"t$2");const Je=Ne(async(e=[])=>[{ignores:["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/.npmignore","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.svelte-kit","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/vite.config.*.timestamp-*","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts",...e],name:"anolilab/ignores"}],"ignores");var Ue=Object.defineProperty,Le=w((e,r)=>Ue(e,"name",{value:r,configurable:!0}),"a$1");const l=Le(async e=>{const r=await e;return r.default||r},"interopDefault"),$e=n.createConfig("all",async(e,r)=>{const{files:o=r,lessOpinionated:s=!1,overrides:t,packageJson:a}=e,c=await l(import("eslint-plugin-antfu"));return[{files:o,name:"anolilab/antfu",plugins:{antfu:c},rules:{"antfu/consistent-chaining":"error","antfu/consistent-list-newline":"error","antfu/if-newline":"error","antfu/import-dedupe":"error","antfu/no-import-dist":"error","antfu/no-import-node-modules-by-path":"error","antfu/no-ts-export-equal":m.hasPackageJsonAnyDependency(a,["typescript"])?"error":"off","antfu/prefer-inline-type-import":"off","antfu/top-level-function":"off",...s?{curly:["error","all"]}:{"antfu/curly":"error","antfu/if-newline":"error"},...t}}]}),Ge=n.createConfig("astro",async(e,r)=>{const{files:o=r,overrides:s={},stylistic:t=!0}=e,[a,c,p]=await Promise.all([l(import("eslint-plugin-astro")),l(import("astro-eslint-parser")),l(import("@typescript-eslint/parser"))]);return[{name:"anolilab/astro/setup",plugins:{astro:a}},{files:o,languageOptions:{globals:a.environments.astro.globals,parser:c,parserOptions:{extraFileExtensions:[".astro"],parser:p},sourceType:"module"},name:"anolilab/astro/rules",processor:"astro/client-side-ts",rules:{"antfu/no-top-level-await":"off","astro/missing-client-only-directive-value":"error","astro/no-conflict-set-directives":"error","astro/no-deprecated-astro-canonicalurl":"error","astro/no-deprecated-astro-fetchcontent":"error","astro/no-deprecated-astro-resolve":"error","astro/no-deprecated-getentrybyslug":"error","astro/no-set-html-directive":"off","astro/no-unused-define-vars-in-style":"error","astro/semi":"off","astro/valid-compile":"error",...t?{"@stylistic/indent":"off","@stylistic/jsx-closing-tag-location":"off","@stylistic/jsx-one-expression-per-line":"off","@stylistic/no-multiple-empty-lines":"off"}:{},...s}}]}),Re=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("@eslint-community/eslint-plugin-eslint-comments"));return[{files:o,linterOptions:{reportUnusedDisableDirectives:"error",reportUnusedInlineConfigs:"error"},name:"anolilab/eslint-comments/rules",plugins:{"eslint-comments":t},rules:{"eslint-comments/no-aggregating-enable":"error","eslint-comments/no-duplicate-disable":"error","eslint-comments/no-restricted-disable":"off","eslint-comments/no-unlimited-disable":"off","eslint-comments/no-unused-disable":"error","eslint-comments/no-unused-enable":"error","eslint-comments/no-use":"off","eslint-comments/require-description":"off",...s}}]}),Me=n.createConfig("all",async(e,r)=>{const{files:o=r}=e,s=(await l(import("eslint-plugin-compat"))).configs["flat/recommended"];return s.files=o,[s]}),ze=n.createConfig("css",async(e,r)=>{const{files:o=r,overrides:s,tailwind:t}=e,a=await l(import("@eslint/css")),c=await l(import("@eslint/css/syntax"));return[{files:o,language:"css/css",name:"anolilab/css/setup",plugins:{css:a},rules:{"css/no-duplicate-imports":"error","css/no-empty-blocks":"error","css/no-important":"error","css/no-invalid-at-rules":"error","css/no-invalid-properties":"error","css/use-baseline":"warn","css/use-layers":"error",...s},...t?{languageOptions:{customSyntax:c.tailwindSyntax,tolerant:!0}}:{}}]});var Ve=Object.defineProperty,Be=w((e,r)=>Ve(e,"name",{value:r,configurable:!0}),"r$2");const O={meta:{name:"parser-plain"},parseForESLint:Be(e=>({ast:{body:[],comments:[],loc:{end:e.length,start:0},range:[0,e.length],tokens:[],type:"Program"},scopeManager:void 0,services:{isPlain:!0},visitorKeys:{Program:[]}}),"parseForESLint")};var We=Object.defineProperty,Xe=w((e,r)=>We(e,"name",{value:r,configurable:!0}),"l");const j=0,He=Xe(async e=>{const{indent:r,jsx:o,overrides:s={},prettier:t,quotes:a,semi:c}={...fe,...e},p=await l(import("@stylistic/eslint-plugin")),u=p.configs.customize({indent:r,jsx:o,pluginName:"@stylistic",quotes:t?void 0:a,semi:t?!1:c});return[{name:"anolilab/stylistic/rules",plugins:{"@stylistic":p},rules:{...u.rules,"@stylistic/arrow-parens":"off","@stylistic/block-spacing":["error","always"],"@stylistic/brace-style":["error","1tbs",{allowSingleLine:!0}],"@stylistic/comma-dangle":["error",{arrays:"always-multiline",enums:"always-multiline",exports:"always-multiline",functions:"always-multiline",generics:"always-multiline",imports:"always-multiline",objects:"always-multiline",tuples:"always-multiline"}],"@stylistic/comma-spacing":["error",{after:!0,before:!1}],"@stylistic/function-call-spacing":["error","never"],"@stylistic/generator-star-spacing":["error",{after:!0,before:!1}],"@stylistic/indent":["error",r,{ArrayExpression:1,CallExpression:{arguments:1},flatTernaryExpressions:!1,FunctionDeclaration:{body:1,parameters:1},FunctionExpression:{body:1,parameters:1},ignoreComments:!1,ignoredNodes:["JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],ImportDeclaration:1,ObjectExpression:1,outerIIFEBody:1,SwitchCase:1,VariableDeclarator:1}],"@stylistic/key-spacing":["error",{afterColon:!0,beforeColon:!1}],"@stylistic/keyword-spacing":["error",{after:!0,before:!0,overrides:{case:{after:!0},return:{after:!0},throw:{after:!0}}}],"@stylistic/lines-around-comment":"off","@stylistic/lines-between-class-members":["error","always",{exceptAfterSingleLine:!1}],"@stylistic/member-delimiter-style":"error","@stylistic/no-extra-parens":["error","all",{conditionalAssign:!0,enforceForArrowConditionals:!1,ignoreJSX:"all",nestedBinaryExpressions:!1,returnAssign:!1}],"@stylistic/no-extra-semi":"error","@stylistic/padding-line-between-statements":["error",{blankLine:"always",next:"*",prev:"directive"},{blankLine:"never",next:"directive",prev:"directive"},{blankLine:"always",next:"*",prev:["const","let","var"]},{blankLine:"any",next:["const","let","var"],prev:["const","let","var"]},{blankLine:"always",next:"return",prev:"*"},{blankLine:"always",next:["for","function","if","switch","try"],prev:"*"},{blankLine:"always",next:"*",prev:["for","function","if","switch","try"]}],"@stylistic/quote-props":["error","as-needed",{keywords:!1,numbers:!1,unnecessary:!0}],"@stylistic/space-before-blocks":"error","@stylistic/space-before-function-paren":["error",{anonymous:"always",asyncArrow:"always",named:"never"}],"@stylistic/space-infix-ops":"error","@stylistic/type-annotation-spacing":"error","@stylistic/yield-star-spacing":["error",{after:!0,before:!1}],...s,...t?{"@stylistic/array-bracket-newline":"off","@stylistic/array-bracket-spacing":"off","@stylistic/array-element-newline":"off","@stylistic/arrow-parens":"off","@stylistic/arrow-spacing":"off","@stylistic/block-spacing":"off","@stylistic/brace-style":"off","@stylistic/comma-dangle":"off","@stylistic/comma-spacing":"off","@stylistic/comma-style":"off","@stylistic/computed-property-spacing":"off","@stylistic/dot-location":"off","@stylistic/eol-last":"off","@stylistic/function-call-argument-newline":"off","@stylistic/function-call-spacing":"off","@stylistic/function-paren-newline":"off","@stylistic/generator-star-spacing":"off","@stylistic/implicit-arrow-linebreak":"off","@stylistic/indent":"off","@stylistic/indent-binary-ops":"off","@stylistic/js/array-bracket-newline":"off","@stylistic/js/array-bracket-spacing":"off","@stylistic/js/array-element-newline":"off","@stylistic/js/arrow-parens":"off","@stylistic/js/arrow-spacing":"off","@stylistic/js/block-spacing":"off","@stylistic/js/brace-style":"off","@stylistic/js/comma-dangle":"off","@stylistic/js/comma-spacing":"off","@stylistic/js/comma-style":"off","@stylistic/js/computed-property-spacing":"off","@stylistic/js/dot-location":"off","@stylistic/js/eol-last":"off","@stylistic/js/function-call-argument-newline":"off","@stylistic/js/function-call-spacing":"off","@stylistic/js/function-paren-newline":"off","@stylistic/js/generator-star-spacing":"off","@stylistic/js/implicit-arrow-linebreak":"off","@stylistic/js/indent":"off","@stylistic/js/jsx-quotes":"off","@stylistic/js/key-spacing":"off","@stylistic/js/keyword-spacing":"off","@stylistic/js/linebreak-style":"off","@stylistic/js/lines-around-comment":j,"@stylistic/js/max-len":j,"@stylistic/js/max-statements-per-line":"off","@stylistic/js/multiline-ternary":"off","@stylistic/js/new-parens":"off","@stylistic/js/newline-per-chained-call":"off","@stylistic/js/no-confusing-arrow":j,"@stylistic/js/no-extra-parens":"off","@stylistic/js/no-extra-semi":"off","@stylistic/js/no-floating-decimal":"off","@stylistic/js/no-mixed-operators":j,"@stylistic/js/no-mixed-spaces-and-tabs":"off","@stylistic/js/no-multi-spaces":"off","@stylistic/js/no-multiple-empty-lines":"off","@stylistic/js/no-tabs":j,"@stylistic/js/no-trailing-spaces":"off","@stylistic/js/no-whitespace-before-property":"off","@stylistic/js/nonblock-statement-body-position":"off","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","@stylistic/js/operator-linebreak":"off","@stylistic/js/padded-blocks":"off","@stylistic/js/quote-props":"off","@stylistic/js/quotes":j,"@stylistic/js/rest-spread-spacing":"off","@stylistic/js/semi":"off","@stylistic/js/semi-spacing":"off","@stylistic/js/semi-style":"off","@stylistic/js/space-before-blocks":"off","@stylistic/js/space-before-function-paren":"off","@stylistic/js/space-in-parens":"off","@stylistic/js/space-infix-ops":"off","@stylistic/js/space-unary-ops":"off","@stylistic/js/switch-colon-spacing":"off","@stylistic/js/template-curly-spacing":"off","@stylistic/js/template-tag-spacing":"off","@stylistic/js/wrap-iife":"off","@stylistic/js/wrap-regex":"off","@stylistic/js/yield-star-spacing":"off","@stylistic/jsx-child-element-spacing":"off","@stylistic/jsx-closing-bracket-location":"off","@stylistic/jsx-closing-tag-location":"off","@stylistic/jsx-curly-newline":"off","@stylistic/jsx-curly-spacing":"off","@stylistic/jsx-equals-spacing":"off","@stylistic/jsx-first-prop-new-line":"off","@stylistic/jsx-indent":"off","@stylistic/jsx-indent-props":"off","@stylistic/jsx-max-props-per-line":"off","@stylistic/jsx-newline":"off","@stylistic/jsx-one-expression-per-line":"off","@stylistic/jsx-props-no-multi-spaces":"off","@stylistic/jsx-quotes":"off","@stylistic/jsx-tag-spacing":"off","@stylistic/jsx-wrap-multilines":"off","@stylistic/jsx/jsx-child-element-spacing":"off","@stylistic/jsx/jsx-closing-bracket-location":"off","@stylistic/jsx/jsx-closing-tag-location":"off","@stylistic/jsx/jsx-curly-newline":"off","@stylistic/jsx/jsx-curly-spacing":"off","@stylistic/jsx/jsx-equals-spacing":"off","@stylistic/jsx/jsx-first-prop-new-line":"off","@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-indent-props":"off","@stylistic/jsx/jsx-max-props-per-line":"off","@stylistic/key-spacing":"off","@stylistic/keyword-spacing":"off","@stylistic/linebreak-style":"off","@stylistic/lines-around-comment":j,"@stylistic/max-len":j,"@stylistic/max-statements-per-line":"off","@stylistic/member-delimiter-style":"off","@stylistic/multiline-ternary":"off","@stylistic/new-parens":"off","@stylistic/newline-per-chained-call":"off","@stylistic/no-confusing-arrow":j,"@stylistic/no-extra-parens":"off","@stylistic/no-extra-semi":"off","@stylistic/no-floating-decimal":"off","@stylistic/no-mixed-operators":j,"@stylistic/no-mixed-spaces-and-tabs":"off","@stylistic/no-multi-spaces":"off","@stylistic/no-multiple-empty-lines":"off","@stylistic/no-tabs":j,"@stylistic/no-trailing-spaces":"off","@stylistic/no-whitespace-before-property":"off","@stylistic/nonblock-statement-body-position":"off","@stylistic/object-curly-newline":"off","@stylistic/object-curly-spacing":"off","@stylistic/object-property-newline":"off","@stylistic/one-var-declaration-per-line":"off","@stylistic/operator-linebreak":"off","@stylistic/padded-blocks":"off","@stylistic/quote-props":"off","@stylistic/quotes":j,"@stylistic/rest-spread-spacing":"off","@stylistic/semi":"off","@stylistic/semi-spacing":"off","@stylistic/semi-style":"off","@stylistic/space-before-blocks":"off","@stylistic/space-before-function-paren":"off","@stylistic/space-in-parens":"off","@stylistic/space-infix-ops":"off","@stylistic/space-unary-ops":"off","@stylistic/switch-colon-spacing":"off","@stylistic/template-curly-spacing":"off","@stylistic/template-tag-spacing":"off","@stylistic/ts/block-spacing":"off","@stylistic/ts/brace-style":"off","@stylistic/ts/comma-dangle":"off","@stylistic/ts/comma-spacing":"off","@stylistic/ts/function-call-spacing":"off","@stylistic/ts/indent":"off","@stylistic/ts/key-spacing":"off","@stylistic/ts/keyword-spacing":"off","@stylistic/ts/lines-around-comment":j,"@stylistic/ts/member-delimiter-style":"off","@stylistic/ts/no-extra-parens":"off","@stylistic/ts/no-extra-semi":"off","@stylistic/ts/object-curly-spacing":"off","@stylistic/ts/quotes":j,"@stylistic/ts/semi":"off","@stylistic/ts/space-before-blocks":"off","@stylistic/ts/space-before-function-paren":"off","@stylistic/ts/space-infix-ops":"off","@stylistic/ts/type-annotation-spacing":"off","@stylistic/type-annotation-spacing":"off","@stylistic/type-generic-spacing":"off","@stylistic/type-named-tuple-spacing":"off","@stylistic/wrap-iife":"off","@stylistic/wrap-regex":"off","@stylistic/yield-star-spacing":"off"}:{}}}]},"stylistic"),fe={indent:4,jsx:!0,quotes:"double",semi:!0};var Ke=Object.defineProperty,de=w((e,r)=>Ke(e,"name",{value:r,configurable:!0}),"p$2");const q=de((e,r={})=>({...e,...r,plugins:[...r.plugins||[],...e.plugins||[]]}),"mergePrettierOptions"),Qe=de(async(e,r)=>{if(e.slidev&&e.markdown!==!0&&e.markdown!=="prettier")throw new Error("`slidev` option only works when `markdown` is enabled with `prettier`");const{indent:o,quotes:s,semi:t}={...fe,...r},a=Object.assign({endOfLine:"auto",printWidth:120,semi:t,singleQuote:s==="single",tabWidth:typeof o=="number"?o:2,trailingComma:"all",useTabs:o==="tab"},e.prettierOptions||{}),c={xmlQuoteAttributes:"double",xmlSelfClosingSpace:!0,xmlSortAttributesByKey:!1,xmlWhitespaceSensitivity:"ignore"},p={indentWidth:typeof o=="number"?o:2,quoteStyle:s==="single"?"preferSingle":"preferDouble",useTabs:o==="tab",...e.dprintOptions},u=[{name:"anolilab/formatter/setup",plugins:{format:await l(import("eslint-plugin-format"))}}];if(e.css&&u.push({files:[...n.getFilesGlobs("css"),...n.getFilesGlobs("postcss")],languageOptions:{parser:O},name:"anolilab/formatter/css",rules:{"format/prettier":["error",q(a,{parser:"css"})]}},{files:n.getFilesGlobs("scss"),languageOptions:{parser:O},name:"anolilab/formatter/scss",rules:{"format/prettier":["error",q(a,{parser:"scss"})]}},{files:n.getFilesGlobs("less"),languageOptions:{parser:O},name:"anolilab/formatter/less",rules:{"format/prettier":["error",q(a,{parser:"less"})]}}),e.html&&u.push({files:n.getFilesGlobs("html"),languageOptions:{parser:O},name:"anolilab/formatter/html",rules:{"format/prettier":["error",q(a,{parser:"html"})]}}),e.xml&&u.push({files:n.getFilesGlobs("xml"),languageOptions:{parser:O},name:"anolilab/formatter/xml",rules:{"format/prettier":["error",q({...c,...a},{parser:"xml",plugins:["@prettier/plugin-xml"]})]}}),e.svg&&u.push({files:n.getFilesGlobs("svg"),languageOptions:{parser:O},name:"anolilab/formatter/svg",rules:{"format/prettier":["error",q({...c,...a},{parser:"xml",plugins:["@prettier/plugin-xml"]})]}}),e.markdown){const h=e.markdown===!0?"prettier":e.markdown;let b=[];typeof e.slidev=="boolean"&&e.slidev?b=["**/slides.md"]:typeof e.slidev=="object"&&e.slidev.files&&(b=e.slidev.files),u.push({files:n.getFilesGlobs("markdown"),ignores:b,languageOptions:{parser:O},name:"anolilab/formatter/markdown",rules:{[`format/${h}`]:["error",h==="prettier"?q(a,{embeddedLanguageFormatting:"off",parser:"markdown"}):{...p,language:"markdown"}]}}),e.slidev&&u.push({files:b,languageOptions:{parser:O},name:"anolilab/formatter/slidev",rules:{"format/prettier":["error",q(a,{embeddedLanguageFormatting:"off",parser:"slidev",plugins:["prettier-plugin-slidev"]})]}})}return e.astro&&u.push({files:n.getFilesGlobs("astro"),languageOptions:{parser:O},name:"anolilab/formatter/astro",rules:{"format/prettier":["error",q(a,{parser:"astro",plugins:["prettier-plugin-astro"]})]}},{files:[...n.getFilesGlobs("astro"),...n.getFilesGlobs("astro_ts")],name:"anolilab/formatter/astro/disables",rules:{"@stylistic/arrow-parens":"off","@stylistic/block-spacing":"off","@stylistic/comma-dangle":"off","@stylistic/indent":"off","@stylistic/no-multi-spaces":"off","@stylistic/quotes":"off","@stylistic/semi":"off"}}),e.graphql&&u.push({files:n.getFilesGlobs("graphql"),languageOptions:{parser:O},name:"anolilab/formatter/graphql",rules:{"format/prettier":["error",q(a,{parser:"graphql"})]}}),u},"formatters"),Ye=n.createConfig("html",async(e,r)=>{const{files:o=r,overrides:s,prettier:t,stylistic:a=!0}=e,{indent:c=4}=typeof a=="boolean"?{}:a,p=await l(import("eslint-plugin-html"));return[{files:o,name:"anolilab/html/setup",plugins:{html:p},rules:{"@html-eslint/indent":["error",c],"capitalized-comments":"off","spaced-comment":"off",...t?{"@html-eslint/element-newline":"off","@html-eslint/indent":"off","@html-eslint/no-extra-spacing-attrs":"off","@html-eslint/quotes":"off"}:{},...s},settings:{"html/indent":`+${c}`,"html/report-bad-indent":"error",...t?{"html/report-bad-indent":"off"}:{}}}]}),Ze=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t,stylistic:a,tsconfigPath:c}=e,p=await l(import("eslint-plugin-import-x")),u=await l(import("@typescript-eslint/parser")),h=[{name:"anolilab/imports/setup",plugins:{import:p}},{files:o,name:"anolilab/imports/rules",rules:{"import/consistent-type-specifier-style":["error","prefer-top-level"],"import/default":"off","import/dynamic-import-chunkname":["off",{importFunctions:[],webpackChunknameFormat:"[0-9a-zA-Z-_/.]+"}],"import/export":"error","import/exports-last":"error","import/extensions":["error","ignorePackages",{checkTypeImports:c!==void 0,ignorePackages:!0,pattern:{...t.type==="module"?{cjs:"always",js:"always",json:"always",jsx:"always",mjs:"always"}:{cjs:"never",js:"never",json:"always",jsx:"never",mjs:"never"}}}],"import/first":"error","import/group-exports":"off","import/imports-first":"off","import/max-dependencies":["off",{max:10}],"import/named":"error","import/namespace":"off",...a?{"import/newline-after-import":["error",{count:1}]}:{},"import/no-absolute-path":"error","import/no-amd":"error","import/no-anonymous-default-export":["off",{allowAnonymousClass:!1,allowAnonymousFunction:!1,allowArray:!1,allowArrowFunction:!1,allowLiteral:!1,allowObject:!1}],"import/no-commonjs":t.type==="module"?["error",{allowPrimitiveModules:!0}]:"off","import/no-cycle":"off","import/no-default-export":"off","import/no-deprecated":"off","import/no-duplicates":"error","import/no-dynamic-require":"error","import/no-empty-named-blocks":"error","import/no-extraneous-dependencies":["error",{devDependencies:["test/**","tests/**","spec/**","**/fixture/**","**/__mocks__/**","test.{js,jsx}","test-*.{js,jsx}","**/*{.,_}{test,spec}.{js,jsx}","**/jest.config.cjs","**/jest.setup.js","**/vue.config.cjs","**/webpack.config.cjs","**/webpack.config.*.js","**/rollup.config.cjs","**/rollup.config.*.js","**/gulpfile.js","**/gulpfile.*.js","**/Gruntfile{,.js}","**/protractor.conf.js","**/protractor.conf.*.js","**/karma.conf.js","**/.eslintrc.js","**/.eslintrc.cjs","**/.eslintrc.mjs","**/eslint.config.js","**/eslint.config.mjs","**/eslint.config.cjs","**/vite.config.js","**/vite.config.ts","**/vitest.config.js","**/vitest.config.ts","**/__tests__/**/*.?(c|m)[jt]s?(x)","**/?(*.){test,spec}.?(c|m)[jt]s?(x)"],optionalDependencies:!1}],"import/no-import-module-exports":[t.type==="module"?"off":"error",{exceptions:[]}],"import/no-internal-modules":["off",{allow:[]}],"import/no-mutable-exports":"error","import/no-named-as-default":"error","import/no-named-as-default-member":"error","import/no-named-default":"error","import/no-named-export":"off","import/no-namespace":"error","import/no-nodejs-modules":"off","import/no-relative-packages":"error","import/no-relative-parent-imports":"off","import/no-restricted-paths":"off","import/no-self-import":"error","import/no-unassigned-import":"off","import/no-unresolved":["error",{caseSensitive:!0,commonjs:!0}],"import/no-useless-path-segments":["error",{commonjs:!0,noUselessIndex:!1}],"import/no-webpack-loader-syntax":"error","import/order":"off","import/prefer-default-export":"error","import/unambiguous":"off",...s}},{files:n.getFilesGlobs("types"),name:"anolilab/imports/d.ts-rules",rules:{"import/no-duplicates":"off"}}];return m.hasPackageJsonAnyDependency(t,["react","react-dom"])&&h.push(p.flatConfigs.react),m.hasPackageJsonAnyDependency(t,["typescript"])&&h.push({files:n.getFilesGlobs("ts"),languageOptions:{ecmaVersion:"latest",parser:u,sourceType:"module"},name:"anolilab/import/ts-rules",rules:{"import/default":"off","import/export":"off","import/extensions":"off","import/named":"off","import/no-unresolved":"off"},settings:{"import/extensions":[...n.getFilesGlobs("js_and_ts"),...n.getFilesGlobs("jsx_and_tsx")].map(b=>b.replace("**/*","")),"import/external-module-folders":["node_modules","node_modules/@types"],"import/parsers":{"@typescript-eslint/parser":n.getFilesGlobs("ts").map(b=>b.replace("**/*",""))},...c?{"import/resolver":{node:!0,typescript:{alwaysTryTypes:!0,project:c}}}:{"import/resolver":{node:!0,typescript:!0}}}}),h}),er=n.createConfig("js",async e=>{const{packageJson:r}=e,o=await l(import("@eslint/js"));return[{languageOptions:{ecmaVersion:2022,globals:{...W.browser,...W.es2021,...W.node,document:"readonly",navigator:"readonly",window:"readonly",...r.type==="module"?{__dirname:"off",__filename:"off",exports:"off",require:"off"}:{__dirname:!0,__filename:!0,exports:!0,require:!0}},parserOptions:{ecmaFeatures:{jsx:!0},ecmaVersion:2022,sourceType:"module"},sourceType:"module"},linterOptions:{reportUnusedDisableDirectives:!0},name:"anolilab/javascript/setup"},o.configs.recommended,{files:["**/*.cjs"],languageOptions:{globals:{__dirname:!0,__filename:!0,exports:!0,require:!0}}},{files:["**/*.mjs"],languageOptions:{globals:{__dirname:"off",__filename:"off",exports:"off",require:"off"}}}]}),rr=n.createConfig("js",async(e,r)=>{const{files:o=r,jsx:s=!1,overrides:t={},packageJson:a,silent:c,stylistic:p=!0,typescript:u}=e,h=await l(import("eslint-plugin-jsdoc")),b=m.hasPackageJsonAnyDependency(a,["eslint-plugin-tsdoc"]);b&&!c&&console.info(`
2
- Found eslint-plugin-tsdoc as dependency, disabling the jsdoc rules for *.ts and *.tsx files.`);const E=["remarks","openapi","link"],v=["openapi"],k=[{name:"anolilab/jsdoc/setup",plugins:{jsdoc:h}},{files:o,name:"anolilab/jsdoc/js-rules",rules:{...h.configs["flat/recommended-error"].rules,"jsdoc/check-indentation":["error",{excludeTags:v}],"jsdoc/check-tag-names":["error",{definedTags:E,jsxTags:s}],...t,...p?{"jsdoc/check-alignment":"warn","jsdoc/multiline-blocks":"warn"}:{}}}];return u&&!b&&k.push({files:n.getFilesGlobs("ts"),name:"anolilab/jsdoc/ts-rules",rules:{...h.configs["flat/contents-typescript-error"].rules,...h.configs["flat/logical-typescript-error"].rules,...h.configs["flat/stylistic-typescript-error"].rules,"jsdoc/check-indentation":["error",{excludeTags:v}],"jsdoc/check-tag-names":["error",{definedTags:E,jsxTags:s}],...t,...p?{"jsdoc/check-alignment":"warn","jsdoc/multiline-blocks":"warn"}:{}}}),k});var sr=Object.defineProperty,or=w((e,r)=>sr(e,"name",{value:r,configurable:!0}),"r$1");const tr=or(async e=>{const{overrides:r,packageJson:o,prettier:s,silent:t,stylistic:a=!0}=e,{indent:c=4}=typeof a=="boolean"?{}:a,p=await l(import("eslint-plugin-jsonc")),u=m.hasPackageJsonAnyDependency(o,["sort-package-json"]);return u&&!t&&console.info(`
1
+ "use strict";var ye=Object.create;var ee=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var w=(e,r)=>ee(e,"name",{value:r,configurable:!0});var we=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of he(r))!xe.call(e,t)&&t!==o&&ee(e,t,{get:()=>r[t],enumerable:!(s=ge(r,t))||s.enumerable});return e};var i=(e,r,o)=>(o=e!=null?ye(be(e)):{},we(r||!e||!e.__esModule?ee(o,"default",{value:e,enumerable:!0}):o,e));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const je=require("node:fs"),ve=require("node:path"),m=require("@visulima/package"),ke=require("eslint-flat-config-utils"),se=require("semver"),n=require("./packem_shared/getFilesGlobs-DUUiSUKd.cjs"),Pe=require("globals"),ie=require("eslint-merge-processors"),le=require("@eslint/compat"),Ce=require("@visulima/tsconfig"),Oe=require("eslint-plugin-regexp"),De=require("confusing-browser-globals"),ce=w(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),B=ce(Pe),Fe=ce(De),R={"dot-notation":"off","no-empty-function":"off","no-implied-eval":"off","no-loop-func":"off","no-magic-numbers":"off","no-new-func":"off","no-redeclare":"off","no-return-await":"off","no-throw-literal":"off","no-unused-expressions":"off",strict:"off"},Se=n.createConfig("all",async(e,r)=>{const{files:o=r}=e;return[{files:o,name:"anolilab/best-practices/rules",rules:{"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],complexity:["off",11],"consistent-return":"error",curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-location":["error","property"],"dot-notation":["error",{allowKeywords:!0}],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","max-classes-per-file":["error",1],"no-alert":"error","no-caller":"error","no-case-declarations":"error","no-constructor-return":"error","no-div-regex":"off","no-else-return":["error",{allowElseIf:!1}],"no-empty-function":["error",{allow:["arrowFunctions","functions","methods"]}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eq-null":"off","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-fallthrough":"error","no-floating-decimal":"error","no-global-assign":["error",{exceptions:[]}],"no-implicit-coercion":["off",{allow:[],boolean:!1,number:!0,string:!0}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-iterator":"error","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","no-magic-numbers":["off",{detectObjects:!1,enforceConst:!0,ignore:[],ignoreArrayIndexes:!0}],"no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-native-reassign":"off","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":["error",{ignorePropertyModificationsFor:["acc","accumulator","e","ctx","context","req","request","res","response","$scope","staticContext"],props:!0}],"no-proto":"error","no-redeclare":"error","no-restricted-properties":["error",{message:"arguments.callee is deprecated",object:"arguments",property:"callee"},{message:"Please use Number.isFinite instead",object:"global",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"self",property:"isFinite"},{message:"Please use Number.isFinite instead",object:"window",property:"isFinite"},{message:"Please use Number.isNaN instead",object:"global",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"self",property:"isNaN"},{message:"Please use Number.isNaN instead",object:"window",property:"isNaN"},{message:"Please use Object.defineProperty instead.",property:"__defineGetter__"},{message:"Please use Object.defineProperty instead.",property:"__defineSetter__"},{message:"Use the exponentiation operator (**) instead.",object:"Math",property:"pow"},{message:"Use `Number.isNaN` instead.",object:"globalThis",property:"isNaN"},{message:"Use `Number.isFinite` instead.",object:"globalThis",property:"isFinite"},{message:"Use `Number.parseFloat` instead.",object:"globalThis",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"globalThis",property:"parseInt"},{message:"Use `Number.parseFloat` instead.",object:"window",property:"parseFloat"},{message:"Use `Number.parseInt` instead.",object:"window",property:"parseInt"},{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-return-assign":["error","always"],"no-return-await":"error","no-script-url":"error","no-self-assign":["error",{props:!0}],"no-self-compare":"error","no-sequences":"error","no-throw-literal":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTaggedTemplates:!1,allowTernary:!1}],"no-unused-labels":"error","no-useless-call":"off","no-useless-catch":"error","no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":"error","no-warning-comments":["off",{location:"start",terms:["todo","fixme","xxx","@todo"]}],"no-with":"error","prefer-named-capture-group":"off","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-regex-literals":"off",radix:"error","require-await":"off","require-unicode-regexp":"off","vars-on-top":"error","wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error"}},{files:n.getFilesGlobs("ts"),name:"anolilab/best-practices/ts-rules",rules:R}]}),_e={"for-direction":"error","getter-return":["error",{allowImplicit:!0}],"no-async-promise-executor":"error","no-await-in-loop":"error","no-compare-neg-zero":"error","no-cond-assign":["error","always"],"no-console":"warn","no-constant-condition":"warn","no-control-regex":"off","no-debugger":"error","no-dupe-args":"error","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty":"error","no-empty-character-class":"error","no-ex-assign":"error","no-extra-boolean-cast":"error","no-func-assign":"error","no-import-assign":"error","no-inner-declarations":"error","no-invalid-regexp":"off","no-irregular-whitespace":"error","no-loss-of-precision":"error","no-misleading-character-class":"error","no-negated-in-lhs":"off","no-new-native-nonconstructor":"error","no-obj-calls":"error","no-promise-executor-return":"error","no-prototype-builtins":"error","no-regex-spaces":"off","no-setter-return":"error","no-sparse-arrays":"error","no-template-curly-in-string":"error","no-unexpected-multiline":"error","no-unreachable":"error","no-unreachable-loop":"off","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":["error",{disallowArithmeticOperators:!0}],"no-useless-backreference":"error","require-atomic-updates":"off","use-isnan":"error","valid-jsdoc":"off","valid-typeof":["error",{requireStringLiterals:!0}]},qe=n.createConfig("all",async(e,r)=>{const{files:o=r}=e;return[{files:o,name:"anolilab/errors/rules",rules:_e},{files:n.getFilesGlobs("ts"),name:"anolilab/errors/ts-rules",rules:{"getter-return":"off","no-dupe-args":"off","no-dupe-keys":"off","no-extra-parens":"off","no-extra-semi":"off","no-func-assign":"off","no-obj-calls":"off","no-unreachable":"off","no-unsafe-negation":"off","space-infix-ops":"off","valid-typeof":"off"}}]});var Ee=Object.defineProperty,Ae=w((e,r)=>Ee(e,"name",{value:r,configurable:!0}),"s$3");const pe=Ae(e=>({"arrow-body-style":["error","as-needed",{requireReturnForObjectLiteral:!0}],"arrow-parens":["error","always"],"arrow-spacing":["error",{after:!0,before:!0}],"constructor-super":"error","generator-star-spacing":["error",{after:!0,before:!1}],"no-class-assign":"error","no-confusing-arrow":["error",{allowParens:!0}],"no-const-assign":"error","no-dupe-class-members":"error","no-duplicate-imports":"off","no-new-symbol":"error","no-restricted-exports":["error",{restrictDefaultExports:{defaultFrom:!1,direct:!1,named:!0,namedFrom:!1,namespaceFrom:!0},restrictedNamedExports:["then"]}],"no-restricted-imports":["error",{paths:[{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.isequal"},{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.uniqueId"},{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.mergewith"},{message:"Lodash modularised (and lodash < 4.17.11) have CVE vulnerabilities. Please use tree-shakeable imports like lodash/xxx instead",name:"lodash.pick"},{name:"error"},{name:"domain"},{name:"freelist"},{name:"smalloc"},{name:"punycode"},{name:"sys"},{message:'Is legacy, npm version got deprecated, migrate to URLSearchParams as recommended or try "qs" as a package',name:"querystring"},{message:"Please use one of the following instead: chalk, kleur, ansi-colors, @colors/colors",name:"colors"},{message:"node v10.12 mkdir supports recursive option",name:"mkdirp"},{message:'Please use "@faker-js/faker" as a replacement',name:"faker"},{message:"Please use Object.assign or spread { ...obj }",name:"xtend"},{message:"Please use Object.assign or spread { ...obj }",name:"object-assign"},{message:"Please use Object.assign or spread { ...obj }",name:"extend-shallow"},{message:"node supports recursive option now",name:"rimraf"},{message:'just use "".padStart() and "".padEnd()',name:"pad-left"},{message:'just use "".padStart() and "".padEnd()',name:"pad-right"},{message:'just use "".padStart() and "".padEnd()',name:"left-pad"},{message:'just use "".padStart() and "".padEnd()',name:"right-pad"},{message:'just use "".padStart() and "".padEnd()',name:"pad"},{name:"safe-buffer"},{name:"safer-buffer"},{message:"just use [].flat() or some other polyfill",name:"array-flatten"},{message:"Been deprecated",name:"request"},{message:"use async/await instead",name:"co"},{message:"Please use TextDecoder instead",name:"windows-1252"},{message:"Please use TextDecoder instead",name:"string_decoder"},{message:"Please use array.prototype.flatMap instead",name:"concat-map"},{name:"buffer-alloc"}],patterns:["lodash.*"]}],"no-this-before-super":"error","no-useless-computed-key":"error","no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreExport:!1,ignoreImport:!1}],"no-var":"error","object-shorthand":["error","always",{avoidQuotes:!0,ignoreConstructors:!1}],"prefer-arrow-callback":["error",{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-const":e?"off":["error",{destructuring:"any",ignoreReadBeforeAssign:!0}],"prefer-destructuring":["error",{AssignmentExpression:{array:!0,object:!1},VariableDeclarator:{array:!1,object:!0}},{enforceForRenamedProperties:!1}],"prefer-numeric-literals":"error","prefer-reflect":"off","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error","require-yield":"error","rest-spread-spacing":["error","never"],"sort-imports":["off",{ignoreCase:!1,ignoreDeclarationSort:!1,ignoreMemberSort:!1,memberSyntaxSortOrder:["none","all","multiple","single"]}],"symbol-description":"error","template-curly-spacing":"error","yield-star-spacing":["error","after"]}),"es6Rules"),Ie=n.createConfig("all",async(e,r)=>{const{files:o=r,isInEditor:s=!1}=e;return[{files:o,languageOptions:{parserOptions:{ecmaFeatures:{generators:!1,objectLiteralDuplicateProperties:!1},ecmaVersion:6,sourceType:"module"}},name:"anolilab/es6/rules",rules:pe(s)},{files:n.getFilesGlobs("ts"),name:"anolilab/es6/ts-rules",rules:{"constructor-super":"off","no-const-assign":"off","no-dupe-class-members":"off","no-new-symbol":"off","no-this-before-super":"off","no-useless-constructor":"off"}}]});var Te=Object.defineProperty,Ne=w((e,r)=>Te(e,"name",{value:r,configurable:!0}),"t$2");const Je=Ne(async(e=[])=>[{ignores:["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/.npmignore","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.svelte-kit","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/vite.config.*.timestamp-*","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts",...e],name:"anolilab/ignores"}],"ignores");var Ue=Object.defineProperty,Le=w((e,r)=>Ue(e,"name",{value:r,configurable:!0}),"a$1");const l=Le(async e=>{const r=await e;return r.default||r},"interopDefault"),$e=n.createConfig("all",async(e,r)=>{const{files:o=r,lessOpinionated:s=!1,overrides:t,packageJson:a}=e,c=await l(import("eslint-plugin-antfu"));return[{files:o,name:"anolilab/antfu",plugins:{antfu:c},rules:{"antfu/consistent-chaining":"error","antfu/consistent-list-newline":"error","antfu/if-newline":"error","antfu/import-dedupe":"error","antfu/no-import-dist":"error","antfu/no-import-node-modules-by-path":"error","antfu/no-ts-export-equal":m.hasPackageJsonAnyDependency(a,["typescript"])?"error":"off","antfu/prefer-inline-type-import":"off","antfu/top-level-function":"off",...s?{curly:["error","all"]}:{"antfu/curly":"error","antfu/if-newline":"error"},...t}}]}),Ge=n.createConfig("astro",async(e,r)=>{const{files:o=r,overrides:s={},stylistic:t=!0}=e,[a,c,p]=await Promise.all([l(import("eslint-plugin-astro")),l(import("astro-eslint-parser")),l(import("@typescript-eslint/parser"))]);return[{name:"anolilab/astro/setup",plugins:{astro:a}},{files:o,languageOptions:{globals:a.environments.astro.globals,parser:c,parserOptions:{extraFileExtensions:[".astro"],parser:p},sourceType:"module"},name:"anolilab/astro/rules",processor:"astro/client-side-ts",rules:{"antfu/no-top-level-await":"off","astro/missing-client-only-directive-value":"error","astro/no-conflict-set-directives":"error","astro/no-deprecated-astro-canonicalurl":"error","astro/no-deprecated-astro-fetchcontent":"error","astro/no-deprecated-astro-resolve":"error","astro/no-deprecated-getentrybyslug":"error","astro/no-set-html-directive":"off","astro/no-unused-define-vars-in-style":"error","astro/semi":"off","astro/valid-compile":"error",...t?{"@stylistic/indent":"off","@stylistic/jsx-closing-tag-location":"off","@stylistic/jsx-one-expression-per-line":"off","@stylistic/no-multiple-empty-lines":"off"}:{},...s}}]}),Re=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("@eslint-community/eslint-plugin-eslint-comments"));return[{files:o,linterOptions:{reportUnusedDisableDirectives:"error",reportUnusedInlineConfigs:"error"},name:"anolilab/eslint-comments/rules",plugins:{"eslint-comments":t},rules:{"eslint-comments/no-aggregating-enable":"error","eslint-comments/no-duplicate-disable":"error","eslint-comments/no-restricted-disable":"off","eslint-comments/no-unlimited-disable":"off","eslint-comments/no-unused-disable":"error","eslint-comments/no-unused-enable":"error","eslint-comments/no-use":"off","eslint-comments/require-description":"off",...s}}]}),Me=n.createConfig("all",async(e,r)=>{const{files:o=r}=e,s=(await l(import("eslint-plugin-compat"))).configs["flat/recommended"];return s.files=o,[s]}),ze=n.createConfig("css",async(e,r)=>{const{files:o=r,overrides:s,tailwind:t}=e,a=await l(import("@eslint/css")),c=await l(import("@eslint/css/syntax"));return[{files:o,language:"css/css",name:"anolilab/css/setup",plugins:{css:a},rules:{"css/no-duplicate-imports":"error","css/no-empty-blocks":"error","css/no-important":"error","css/no-invalid-at-rules":"error","css/no-invalid-properties":"error","css/use-baseline":"warn","css/use-layers":"error",...s},...t?{languageOptions:{customSyntax:c.tailwindSyntax,tolerant:!0}}:{}}]});var Ve=Object.defineProperty,Be=w((e,r)=>Ve(e,"name",{value:r,configurable:!0}),"r$2");const F={meta:{name:"parser-plain"},parseForESLint:Be(e=>({ast:{body:[],comments:[],loc:{end:e.length,start:0},range:[0,e.length],tokens:[],type:"Program"},scopeManager:void 0,services:{isPlain:!0},visitorKeys:{Program:[]}}),"parseForESLint")};var We=Object.defineProperty,Xe=w((e,r)=>We(e,"name",{value:r,configurable:!0}),"l");const j=0,He=Xe(async e=>{const{indent:r,jsx:o,overrides:s={},prettier:t,quotes:a,semi:c}={...fe,...e},p=await l(import("@stylistic/eslint-plugin")),u=p.configs.customize({indent:r,jsx:o,pluginName:"@stylistic",quotes:t?void 0:a,semi:t?!1:c});return[{name:"anolilab/stylistic/rules",plugins:{"@stylistic":p},rules:{...u.rules,"@stylistic/arrow-parens":"off","@stylistic/block-spacing":["error","always"],"@stylistic/brace-style":["error","1tbs",{allowSingleLine:!0}],"@stylistic/comma-dangle":["error",{arrays:"always-multiline",enums:"always-multiline",exports:"always-multiline",functions:"always-multiline",generics:"always-multiline",imports:"always-multiline",objects:"always-multiline",tuples:"always-multiline"}],"@stylistic/comma-spacing":["error",{after:!0,before:!1}],"@stylistic/function-call-spacing":["error","never"],"@stylistic/generator-star-spacing":["error",{after:!0,before:!1}],"@stylistic/indent":["error",r,{ArrayExpression:1,CallExpression:{arguments:1},flatTernaryExpressions:!1,FunctionDeclaration:{body:1,parameters:1},FunctionExpression:{body:1,parameters:1},ignoreComments:!1,ignoredNodes:["JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],ImportDeclaration:1,ObjectExpression:1,outerIIFEBody:1,SwitchCase:1,VariableDeclarator:1}],"@stylistic/key-spacing":["error",{afterColon:!0,beforeColon:!1}],"@stylistic/keyword-spacing":["error",{after:!0,before:!0,overrides:{case:{after:!0},return:{after:!0},throw:{after:!0}}}],"@stylistic/lines-around-comment":"off","@stylistic/lines-between-class-members":["error","always",{exceptAfterSingleLine:!1}],"@stylistic/member-delimiter-style":"error","@stylistic/no-extra-parens":["error","all",{conditionalAssign:!0,enforceForArrowConditionals:!1,ignoreJSX:"all",nestedBinaryExpressions:!1,returnAssign:!1}],"@stylistic/no-extra-semi":"error","@stylistic/padding-line-between-statements":["error",{blankLine:"always",next:"*",prev:"directive"},{blankLine:"never",next:"directive",prev:"directive"},{blankLine:"always",next:"*",prev:["const","let","var"]},{blankLine:"any",next:["const","let","var"],prev:["const","let","var"]},{blankLine:"always",next:"return",prev:"*"},{blankLine:"always",next:["for","function","if","switch","try"],prev:"*"},{blankLine:"always",next:"*",prev:["for","function","if","switch","try"]}],"@stylistic/quote-props":["error","as-needed",{keywords:!1,numbers:!1,unnecessary:!0}],"@stylistic/space-before-blocks":"error","@stylistic/space-before-function-paren":["error",{anonymous:"always",asyncArrow:"always",named:"never"}],"@stylistic/space-infix-ops":"error","@stylistic/type-annotation-spacing":"error","@stylistic/yield-star-spacing":["error",{after:!0,before:!1}],...s,...t?{"@stylistic/array-bracket-newline":"off","@stylistic/array-bracket-spacing":"off","@stylistic/array-element-newline":"off","@stylistic/arrow-parens":"off","@stylistic/arrow-spacing":"off","@stylistic/block-spacing":"off","@stylistic/brace-style":"off","@stylistic/comma-dangle":"off","@stylistic/comma-spacing":"off","@stylistic/comma-style":"off","@stylistic/computed-property-spacing":"off","@stylistic/dot-location":"off","@stylistic/eol-last":"off","@stylistic/function-call-argument-newline":"off","@stylistic/function-call-spacing":"off","@stylistic/function-paren-newline":"off","@stylistic/generator-star-spacing":"off","@stylistic/implicit-arrow-linebreak":"off","@stylistic/indent":"off","@stylistic/indent-binary-ops":"off","@stylistic/js/array-bracket-newline":"off","@stylistic/js/array-bracket-spacing":"off","@stylistic/js/array-element-newline":"off","@stylistic/js/arrow-parens":"off","@stylistic/js/arrow-spacing":"off","@stylistic/js/block-spacing":"off","@stylistic/js/brace-style":"off","@stylistic/js/comma-dangle":"off","@stylistic/js/comma-spacing":"off","@stylistic/js/comma-style":"off","@stylistic/js/computed-property-spacing":"off","@stylistic/js/dot-location":"off","@stylistic/js/eol-last":"off","@stylistic/js/function-call-argument-newline":"off","@stylistic/js/function-call-spacing":"off","@stylistic/js/function-paren-newline":"off","@stylistic/js/generator-star-spacing":"off","@stylistic/js/implicit-arrow-linebreak":"off","@stylistic/js/indent":"off","@stylistic/js/jsx-quotes":"off","@stylistic/js/key-spacing":"off","@stylistic/js/keyword-spacing":"off","@stylistic/js/linebreak-style":"off","@stylistic/js/lines-around-comment":j,"@stylistic/js/max-len":j,"@stylistic/js/max-statements-per-line":"off","@stylistic/js/multiline-ternary":"off","@stylistic/js/new-parens":"off","@stylistic/js/newline-per-chained-call":"off","@stylistic/js/no-confusing-arrow":j,"@stylistic/js/no-extra-parens":"off","@stylistic/js/no-extra-semi":"off","@stylistic/js/no-floating-decimal":"off","@stylistic/js/no-mixed-operators":j,"@stylistic/js/no-mixed-spaces-and-tabs":"off","@stylistic/js/no-multi-spaces":"off","@stylistic/js/no-multiple-empty-lines":"off","@stylistic/js/no-tabs":j,"@stylistic/js/no-trailing-spaces":"off","@stylistic/js/no-whitespace-before-property":"off","@stylistic/js/nonblock-statement-body-position":"off","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","@stylistic/js/operator-linebreak":"off","@stylistic/js/padded-blocks":"off","@stylistic/js/quote-props":"off","@stylistic/js/quotes":j,"@stylistic/js/rest-spread-spacing":"off","@stylistic/js/semi":"off","@stylistic/js/semi-spacing":"off","@stylistic/js/semi-style":"off","@stylistic/js/space-before-blocks":"off","@stylistic/js/space-before-function-paren":"off","@stylistic/js/space-in-parens":"off","@stylistic/js/space-infix-ops":"off","@stylistic/js/space-unary-ops":"off","@stylistic/js/switch-colon-spacing":"off","@stylistic/js/template-curly-spacing":"off","@stylistic/js/template-tag-spacing":"off","@stylistic/js/wrap-iife":"off","@stylistic/js/wrap-regex":"off","@stylistic/js/yield-star-spacing":"off","@stylistic/jsx-child-element-spacing":"off","@stylistic/jsx-closing-bracket-location":"off","@stylistic/jsx-closing-tag-location":"off","@stylistic/jsx-curly-newline":"off","@stylistic/jsx-curly-spacing":"off","@stylistic/jsx-equals-spacing":"off","@stylistic/jsx-first-prop-new-line":"off","@stylistic/jsx-indent":"off","@stylistic/jsx-indent-props":"off","@stylistic/jsx-max-props-per-line":"off","@stylistic/jsx-newline":"off","@stylistic/jsx-one-expression-per-line":"off","@stylistic/jsx-props-no-multi-spaces":"off","@stylistic/jsx-quotes":"off","@stylistic/jsx-tag-spacing":"off","@stylistic/jsx-wrap-multilines":"off","@stylistic/jsx/jsx-child-element-spacing":"off","@stylistic/jsx/jsx-closing-bracket-location":"off","@stylistic/jsx/jsx-closing-tag-location":"off","@stylistic/jsx/jsx-curly-newline":"off","@stylistic/jsx/jsx-curly-spacing":"off","@stylistic/jsx/jsx-equals-spacing":"off","@stylistic/jsx/jsx-first-prop-new-line":"off","@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-indent-props":"off","@stylistic/jsx/jsx-max-props-per-line":"off","@stylistic/key-spacing":"off","@stylistic/keyword-spacing":"off","@stylistic/linebreak-style":"off","@stylistic/lines-around-comment":j,"@stylistic/max-len":j,"@stylistic/max-statements-per-line":"off","@stylistic/member-delimiter-style":"off","@stylistic/multiline-ternary":"off","@stylistic/new-parens":"off","@stylistic/newline-per-chained-call":"off","@stylistic/no-confusing-arrow":j,"@stylistic/no-extra-parens":"off","@stylistic/no-extra-semi":"off","@stylistic/no-floating-decimal":"off","@stylistic/no-mixed-operators":j,"@stylistic/no-mixed-spaces-and-tabs":"off","@stylistic/no-multi-spaces":"off","@stylistic/no-multiple-empty-lines":"off","@stylistic/no-tabs":j,"@stylistic/no-trailing-spaces":"off","@stylistic/no-whitespace-before-property":"off","@stylistic/nonblock-statement-body-position":"off","@stylistic/object-curly-newline":"off","@stylistic/object-curly-spacing":"off","@stylistic/object-property-newline":"off","@stylistic/one-var-declaration-per-line":"off","@stylistic/operator-linebreak":"off","@stylistic/padded-blocks":"off","@stylistic/quote-props":"off","@stylistic/quotes":j,"@stylistic/rest-spread-spacing":"off","@stylistic/semi":"off","@stylistic/semi-spacing":"off","@stylistic/semi-style":"off","@stylistic/space-before-blocks":"off","@stylistic/space-before-function-paren":"off","@stylistic/space-in-parens":"off","@stylistic/space-infix-ops":"off","@stylistic/space-unary-ops":"off","@stylistic/switch-colon-spacing":"off","@stylistic/template-curly-spacing":"off","@stylistic/template-tag-spacing":"off","@stylistic/ts/block-spacing":"off","@stylistic/ts/brace-style":"off","@stylistic/ts/comma-dangle":"off","@stylistic/ts/comma-spacing":"off","@stylistic/ts/function-call-spacing":"off","@stylistic/ts/indent":"off","@stylistic/ts/key-spacing":"off","@stylistic/ts/keyword-spacing":"off","@stylistic/ts/lines-around-comment":j,"@stylistic/ts/member-delimiter-style":"off","@stylistic/ts/no-extra-parens":"off","@stylistic/ts/no-extra-semi":"off","@stylistic/ts/object-curly-spacing":"off","@stylistic/ts/quotes":j,"@stylistic/ts/semi":"off","@stylistic/ts/space-before-blocks":"off","@stylistic/ts/space-before-function-paren":"off","@stylistic/ts/space-infix-ops":"off","@stylistic/ts/type-annotation-spacing":"off","@stylistic/type-annotation-spacing":"off","@stylistic/type-generic-spacing":"off","@stylistic/type-named-tuple-spacing":"off","@stylistic/wrap-iife":"off","@stylistic/wrap-regex":"off","@stylistic/yield-star-spacing":"off"}:{}}}]},"stylistic"),fe={indent:4,jsx:!0,quotes:"double",semi:!0};var Ke=Object.defineProperty,de=w((e,r)=>Ke(e,"name",{value:r,configurable:!0}),"p$2");const _=de((e,r={})=>({...e,...r,plugins:[...r.plugins||[],...e.plugins||[]]}),"mergePrettierOptions"),Qe=de(async(e,r)=>{if(e.slidev&&e.markdown!==!0&&e.markdown!=="prettier")throw new Error("`slidev` option only works when `markdown` is enabled with `prettier`");const{indent:o,quotes:s,semi:t}={...fe,...r},a=Object.assign({endOfLine:"auto",printWidth:120,semi:t,singleQuote:s==="single",tabWidth:typeof o=="number"?o:2,trailingComma:"all",useTabs:o==="tab"},e.prettierOptions||{}),c={xmlQuoteAttributes:"double",xmlSelfClosingSpace:!0,xmlSortAttributesByKey:!1,xmlWhitespaceSensitivity:"ignore"},p={indentWidth:typeof o=="number"?o:2,quoteStyle:s==="single"?"preferSingle":"preferDouble",useTabs:o==="tab",...e.dprintOptions},u=[{name:"anolilab/formatter/setup",plugins:{format:await l(import("eslint-plugin-format"))}}];if(e.css&&u.push({files:[...n.getFilesGlobs("css"),...n.getFilesGlobs("postcss")],languageOptions:{parser:F},name:"anolilab/formatter/css",rules:{"format/prettier":["error",_(a,{parser:"css"})]}},{files:n.getFilesGlobs("scss"),languageOptions:{parser:F},name:"anolilab/formatter/scss",rules:{"format/prettier":["error",_(a,{parser:"scss"})]}},{files:n.getFilesGlobs("less"),languageOptions:{parser:F},name:"anolilab/formatter/less",rules:{"format/prettier":["error",_(a,{parser:"less"})]}}),e.html&&u.push({files:n.getFilesGlobs("html"),languageOptions:{parser:F},name:"anolilab/formatter/html",rules:{"format/prettier":["error",_(a,{parser:"html"})]}}),e.xml&&u.push({files:n.getFilesGlobs("xml"),languageOptions:{parser:F},name:"anolilab/formatter/xml",rules:{"format/prettier":["error",_({...c,...a},{parser:"xml",plugins:["@prettier/plugin-xml"]})]}}),e.svg&&u.push({files:n.getFilesGlobs("svg"),languageOptions:{parser:F},name:"anolilab/formatter/svg",rules:{"format/prettier":["error",_({...c,...a},{parser:"xml",plugins:["@prettier/plugin-xml"]})]}}),e.markdown){const h=e.markdown===!0?"prettier":e.markdown;let b=[];typeof e.slidev=="boolean"&&e.slidev?b=["**/slides.md"]:typeof e.slidev=="object"&&e.slidev.files&&(b=e.slidev.files),u.push({files:n.getFilesGlobs("markdown"),ignores:b,languageOptions:{parser:F},name:"anolilab/formatter/markdown",rules:{[`format/${h}`]:["error",h==="prettier"?_(a,{embeddedLanguageFormatting:"off",parser:"markdown"}):{...p,language:"markdown"}]}}),e.slidev&&u.push({files:b,languageOptions:{parser:F},name:"anolilab/formatter/slidev",rules:{"format/prettier":["error",_(a,{embeddedLanguageFormatting:"off",parser:"slidev",plugins:["prettier-plugin-slidev"]})]}})}return e.astro&&u.push({files:n.getFilesGlobs("astro"),languageOptions:{parser:F},name:"anolilab/formatter/astro",rules:{"format/prettier":["error",_(a,{parser:"astro",plugins:["prettier-plugin-astro"]})]}},{files:[...n.getFilesGlobs("astro"),...n.getFilesGlobs("astro_ts")],name:"anolilab/formatter/astro/disables",rules:{"@stylistic/arrow-parens":"off","@stylistic/block-spacing":"off","@stylistic/comma-dangle":"off","@stylistic/indent":"off","@stylistic/no-multi-spaces":"off","@stylistic/quotes":"off","@stylistic/semi":"off"}}),e.graphql&&u.push({files:n.getFilesGlobs("graphql"),languageOptions:{parser:F},name:"anolilab/formatter/graphql",rules:{"format/prettier":["error",_(a,{parser:"graphql"})]}}),u},"formatters"),Ye=n.createConfig("html",async(e,r)=>{const{files:o=r,overrides:s,prettier:t,stylistic:a=!0}=e,{indent:c=4}=typeof a=="boolean"?{}:a,p=await l(import("eslint-plugin-html"));return[{files:o,name:"anolilab/html/setup",plugins:{html:p},rules:{"@html-eslint/indent":["error",c],"capitalized-comments":"off","spaced-comment":"off",...t?{"@html-eslint/element-newline":"off","@html-eslint/indent":"off","@html-eslint/no-extra-spacing-attrs":"off","@html-eslint/quotes":"off"}:{},...s},settings:{"html/indent":`+${c}`,"html/report-bad-indent":"error",...t?{"html/report-bad-indent":"off"}:{}}}]}),Ze=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t,stylistic:a,tsconfigPath:c}=e,p=await l(import("eslint-plugin-import-x")),u=await l(import("@typescript-eslint/parser")),h=[{name:"anolilab/imports/setup",plugins:{import:p}},{files:o,name:"anolilab/imports/rules",rules:{"import/consistent-type-specifier-style":["error","prefer-top-level"],"import/default":"off","import/dynamic-import-chunkname":["off",{importFunctions:[],webpackChunknameFormat:"[0-9a-zA-Z-_/.]+"}],"import/export":"error","import/exports-last":"error","import/extensions":["error","ignorePackages",{checkTypeImports:c!==void 0,ignorePackages:!0,pattern:{...t.type==="module"?{cjs:"always",js:"always",json:"always",jsx:"always",mjs:"always"}:{cjs:"never",js:"never",json:"always",jsx:"never",mjs:"never"}}}],"import/first":"error","import/group-exports":"off","import/imports-first":"off","import/max-dependencies":["off",{max:10}],"import/named":"error","import/namespace":"off",...a?{"import/newline-after-import":["error",{count:1}]}:{},"import/no-absolute-path":"error","import/no-amd":"error","import/no-anonymous-default-export":["off",{allowAnonymousClass:!1,allowAnonymousFunction:!1,allowArray:!1,allowArrowFunction:!1,allowLiteral:!1,allowObject:!1}],"import/no-commonjs":t.type==="module"?["error",{allowPrimitiveModules:!0}]:"off","import/no-cycle":"off","import/no-default-export":"off","import/no-deprecated":"off","import/no-duplicates":"error","import/no-dynamic-require":"error","import/no-empty-named-blocks":"error","import/no-extraneous-dependencies":["error",{devDependencies:["test/**","tests/**","spec/**","**/fixture/**","**/__mocks__/**","test.{js,jsx}","test-*.{js,jsx}","**/*{.,_}{test,spec}.{js,jsx}","**/jest.config.cjs","**/jest.setup.js","**/vue.config.cjs","**/webpack.config.cjs","**/webpack.config.*.js","**/rollup.config.cjs","**/rollup.config.*.js","**/gulpfile.js","**/gulpfile.*.js","**/Gruntfile{,.js}","**/protractor.conf.js","**/protractor.conf.*.js","**/karma.conf.js","**/.eslintrc.js","**/.eslintrc.cjs","**/.eslintrc.mjs","**/eslint.config.js","**/eslint.config.mjs","**/eslint.config.cjs","**/vite.config.js","**/vite.config.ts","**/vitest.config.js","**/vitest.config.ts","**/__tests__/**/*.?(c|m)[jt]s?(x)","**/?(*.){test,spec}.?(c|m)[jt]s?(x)"],optionalDependencies:!1}],"import/no-import-module-exports":[t.type==="module"?"off":"error",{exceptions:[]}],"import/no-internal-modules":["off",{allow:[]}],"import/no-mutable-exports":"error","import/no-named-as-default":"error","import/no-named-as-default-member":"error","import/no-named-default":"error","import/no-named-export":"off","import/no-namespace":"error","import/no-nodejs-modules":"off","import/no-relative-packages":"error","import/no-relative-parent-imports":"off","import/no-restricted-paths":"off","import/no-self-import":"error","import/no-unassigned-import":"off","import/no-unresolved":["error",{caseSensitive:!0,commonjs:!0}],"import/no-useless-path-segments":["error",{commonjs:!0,noUselessIndex:!1}],"import/no-webpack-loader-syntax":"error","import/order":"off","import/prefer-default-export":"error","import/unambiguous":"off",...s}},{files:n.getFilesGlobs("types"),name:"anolilab/imports/d.ts-rules",rules:{"import/no-duplicates":"off"}}];return m.hasPackageJsonAnyDependency(t,["react","react-dom"])&&h.push(p.flatConfigs.react),m.hasPackageJsonAnyDependency(t,["typescript"])&&h.push({files:n.getFilesGlobs("ts"),languageOptions:{ecmaVersion:"latest",parser:u,sourceType:"module"},name:"anolilab/import/ts-rules",rules:{"import/default":"off","import/export":"off","import/extensions":"off","import/named":"off","import/no-unresolved":"off"},settings:{"import/extensions":[...n.getFilesGlobs("js_and_ts"),...n.getFilesGlobs("jsx_and_tsx")].map(b=>b.replace("**/*","")),"import/external-module-folders":["node_modules","node_modules/@types"],"import/parsers":{"@typescript-eslint/parser":n.getFilesGlobs("ts").map(b=>b.replace("**/*",""))},...c?{"import/resolver":{node:!0,typescript:{alwaysTryTypes:!0,project:c}}}:{"import/resolver":{node:!0,typescript:!0}}}}),h}),er=n.createConfig("js",async e=>{const{packageJson:r}=e,o=await l(import("@eslint/js"));return[{languageOptions:{ecmaVersion:2022,globals:{...B.browser,...B.es2021,...B.node,document:"readonly",navigator:"readonly",window:"readonly",...r.type==="module"?{__dirname:"off",__filename:"off",exports:"off",require:"off"}:{__dirname:!0,__filename:!0,exports:!0,require:!0}},parserOptions:{ecmaFeatures:{jsx:!0},ecmaVersion:2022,sourceType:"module"},sourceType:"module"},linterOptions:{reportUnusedDisableDirectives:!0},name:"anolilab/javascript/setup"},o.configs.recommended,{files:["**/*.cjs"],languageOptions:{globals:{__dirname:!0,__filename:!0,exports:!0,require:!0}}},{files:["**/*.mjs"],languageOptions:{globals:{__dirname:"off",__filename:"off",exports:"off",require:"off"}}}]}),rr=n.createConfig("js",async(e,r)=>{const{files:o=r,jsx:s=!1,overrides:t={},packageJson:a,silent:c,stylistic:p=!0,typescript:u}=e,h=await l(import("eslint-plugin-jsdoc")),b=m.hasPackageJsonAnyDependency(a,["eslint-plugin-tsdoc"]);b&&!c&&console.info(`
2
+ Found eslint-plugin-tsdoc as dependency, disabling the jsdoc rules for *.ts and *.tsx files.`);const k=["remarks","openapi","link"],P=["openapi"],C=[{name:"anolilab/jsdoc/setup",plugins:{jsdoc:h}},{files:o,name:"anolilab/jsdoc/js-rules",rules:{...h.configs["flat/recommended-error"].rules,"jsdoc/check-indentation":["error",{excludeTags:P}],"jsdoc/check-tag-names":["error",{definedTags:k,jsxTags:s}],...t,...p?{"jsdoc/check-alignment":"warn","jsdoc/multiline-blocks":"warn"}:{}}}];return u&&!b&&C.push({files:n.getFilesGlobs("ts"),name:"anolilab/jsdoc/ts-rules",rules:{...h.configs["flat/contents-typescript-error"].rules,...h.configs["flat/logical-typescript-error"].rules,...h.configs["flat/stylistic-typescript-error"].rules,"jsdoc/check-indentation":["error",{excludeTags:P}],"jsdoc/check-tag-names":["error",{definedTags:k,jsxTags:s}],...t,...p?{"jsdoc/check-alignment":"warn","jsdoc/multiline-blocks":"warn"}:{}}}),C});var sr=Object.defineProperty,or=w((e,r)=>sr(e,"name",{value:r,configurable:!0}),"r$1");const tr=or(async e=>{const{overrides:r,packageJson:o,prettier:s,silent:t,stylistic:a=!0}=e,{indent:c=4}=typeof a=="boolean"?{}:a,p=await l(import("eslint-plugin-jsonc")),u=m.hasPackageJsonAnyDependency(o,["sort-package-json"]);return u&&!t&&console.info(`
3
3
  @anolilab/eslint-config found "sort-package-json" package.
4
4
 
5
5
  Following rules are disabled: jsonc/sort-keys for all package.json files.
6
- `),[...p.configs["flat/base"],{files:["**/*.json5"],name:"anolilab/jsonc/json5-rules",rules:p.configs["recommended-with-json5"].rules},{files:["**/*.jsonc"],name:"anolilab/jsonc/jsonc-rules",rules:p.configs["recommended-with-jsonc"].rules},{files:["**/*.json"],name:"anolilab/jsonc/json-rules",rules:p.configs["recommended-with-json"].rules},{files:["package.json","**/package.json"],name:"anolilab/jsonc/package.json-rules",rules:{"jsonc/sort-array-values":u?"off":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":u?"off":["error",{order:["$schema","name","displayName","version","private","description","categories","keywords","homepage","bugs","repository","funding","license","qna","author","maintainers","contributors","publisher","sideEffects","type","imports","exports","main","svelte","umd:main","jsdelivr","unpkg","module","source","jsnext:main","browser","react-native","types","typesVersions","typings","style","example","examplestyle","assets","bin","man","directories","files","workspaces","binary","scripts","betterScripts","contributes","activationEvents","husky","simple-git-hooks","pre-commit","commitlint","lint-staged","nano-staged","config","nodemonConfig","browserify","babel","browserslist","xo","prettier","eslintConfig","eslintIgnore","npmpackagejsonlint","release","remarkConfig","stylelint","ava","jest","mocha","nyc","tap","oclif","resolutions","dependencies","devDependencies","dependenciesMeta","peerDependencies","peerDependenciesMeta","optionalDependencies","bundledDependencies","bundleDependencies","extensionPack","extensionDependencies","flat","packageManager","engines","engineStrict","volta","languageName","os","cpu","preferGlobal","publishConfig","icon","badges","galleryBanner","preview","markdown","pnpm"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:{type:"asc"},pathPattern:"^(?:resolutions|overrides|pnpm.overrides)$"},{order:["types","import","require","default"],pathPattern:"^exports.*$"},{order:["applypatch-msg","pre-applypatch","post-applypatch","pre-commit","pre-merge-commit","prepare-commit-msg","commit-msg","post-commit","pre-rebase","post-checkout","post-merge","pre-push","pre-receive","update","post-receive","post-update","push-to-checkout","pre-auto-gc","post-rewrite","sendemail-validate","fsmonitor-watchman","p4-pre-submit","post-index-chang"],pathPattern:"^(?:gitHooks|husky|simple-git-hooks)$"},{order:["build","preinstall","install","postinstall","lint",{order:{type:"asc"}}],pathPattern:"^scripts$"}]}},{files:["**/tsconfig.json","**/tsconfig.*.json"],name:"anolilab/jsonc/tsconfig-json",rules:{"jsonc/sort-keys":["error",{order:["extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","jsx","jsxFactory","jsxFragmentFactory","jsxImportSource","lib","moduleDetection","noLib","reactNamespace","useDefineForClassFields","emitDecoratorMetadata","experimentalDecorators","libReplacement","baseUrl","rootDir","rootDirs","customConditions","module","moduleResolution","moduleSuffixes","noResolve","paths","resolveJsonModule","resolvePackageJsonExports","resolvePackageJsonImports","typeRoots","types","allowArbitraryExtensions","allowImportingTsExtensions","allowUmdGlobalAccess","allowJs","checkJs","maxNodeModuleJsDepth","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","declaration","declarationDir","declarationMap","downlevelIteration","emitBOM","emitDeclarationOnly","importHelpers","importsNotUsedAsValues","inlineSourceMap","inlineSources","mapRoot","newLine","noEmit","noEmitHelpers","noEmitOnError","outDir","outFile","preserveConstEnums","preserveValueImports","removeComments","sourceMap","sourceRoot","stripInternal","allowSyntheticDefaultImports","esModuleInterop","forceConsistentCasingInFileNames","isolatedDeclarations","isolatedModules","preserveSymlinks","verbatimModuleSyntax","erasableSyntaxOnly","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}},...s?p.configs["flat/prettier"]:[],{files:["**/*.json","**/*.jsonc","**/*.json5"],rules:{...a?{"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",c],"jsonc/key-spacing":["error",{afterColon:!0,beforeColon:!1}],"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"}:{},...r}}]},"jsonc"),nr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-jsx-a11y"));return[{files:o,languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},name:"anolilab/jsx-a11y/setup",plugins:{"jsx-a11y":t},rules:{"jsx-a11y/accessible-emoji":"off","jsx-a11y/alt-text":["error",{area:[],elements:["img","object","area",'input[type="image"]'],img:[],'input[type="image"]':[],object:[]}],"jsx-a11y/anchor-has-content":["error",{components:[]}],"jsx-a11y/anchor-is-valid":["error",{aspects:["noHref","invalidHref","preferButton"],components:["A","LinkTo","Link"],specialLink:["to"]}],"jsx-a11y/aria-activedescendant-has-tabindex":"error","jsx-a11y/aria-props":"error","jsx-a11y/aria-proptypes":"error","jsx-a11y/aria-role":["error",{ignoreNonDOM:!1}],"jsx-a11y/aria-unsupported-elements":"error","jsx-a11y/autocomplete-valid":["off",{inputComponents:[]}],"jsx-a11y/click-events-have-key-events":"error","jsx-a11y/control-has-associated-label":["error",{controlComponents:[],depth:5,ignoreElements:["audio","canvas","embed","input","textarea","tr","video"],ignoreRoles:["grid","listbox","menu","menubar","radiogroup","row","tablist","toolbar","tree","treegrid"],labelAttributes:["label"]}],"jsx-a11y/heading-has-content":["error",{components:[""]}],"jsx-a11y/html-has-lang":"error","jsx-a11y/iframe-has-title":"error","jsx-a11y/img-redundant-alt":"error","jsx-a11y/interactive-supports-focus":"error","jsx-a11y/label-has-associated-control":["error",{assert:"both",controlComponents:[],depth:25,labelAttributes:[],labelComponents:[]}],"jsx-a11y/lang":"error","jsx-a11y/media-has-caption":["error",{audio:[],track:[],video:[]}],"jsx-a11y/mouse-events-have-key-events":"error","jsx-a11y/no-access-key":"error","jsx-a11y/no-autofocus":["error",{ignoreNonDOM:!0}],"jsx-a11y/no-distracting-elements":["error",{elements:["marquee","blink"]}],"jsx-a11y/no-interactive-element-to-noninteractive-role":["error",{tr:["none","presentation"]}],"jsx-a11y/no-noninteractive-element-interactions":["error",{handlers:["onClick","onMouseDown","onMouseUp","onKeyPress","onKeyDown","onKeyUp"]}],"jsx-a11y/no-noninteractive-element-to-interactive-role":["error",{li:["menuitem","option","row","tab","treeitem"],ol:["listbox","menu","menubar","radiogroup","tablist","tree","treegrid"],table:["grid"],td:["gridcell"],ul:["listbox","menu","menubar","radiogroup","tablist","tree","treegrid"]}],"jsx-a11y/no-noninteractive-tabindex":["error",{roles:["tabpanel"],tags:[]}],"jsx-a11y/no-onchange":"off","jsx-a11y/no-redundant-roles":"error","jsx-a11y/no-static-element-interactions":["error",{handlers:["onClick","onMouseDown","onMouseUp","onKeyPress","onKeyDown","onKeyUp"]}],"jsx-a11y/role-has-required-aria-props":"error","jsx-a11y/role-supports-aria-props":"error","jsx-a11y/scope":"error","jsx-a11y/tabindex-no-positive":"error",...s}}]}),ar=n.createConfig("markdown",async(e,r)=>{const{componentExts:o=[],files:s=r,overrides:t}=e,a=await l(import("@eslint/markdown"));return[{name:"anolilab/markdown/setup",plugins:{markdown:a}},{files:s,ignores:n.getFilesGlobs("markdown_in_markdown"),name:"anolilab/markdown/processor",processor:ie.mergeProcessors([a.processors?.markdown,ie.processorPassThrough])},{files:s,languageOptions:{parser:O},name:"anolilab/markdown/parser",rules:a.configs.recommended[0].rules},{files:["**/*.md/**/*.?([cm])[jt]s?(x)",...o.map(c=>`**/*.md/**/*.${c}`)],languageOptions:{parserOptions:{ecmaFeatures:{impliedStrict:!0}}},name:"anolilab/markdown/disables",rules:{"@stylistic/comma-dangle":"off","@stylistic/eol-last":"off","@stylistic/prefer-global/process":"off","@typescript-eslint/consistent-type-imports":"off","@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/no-namespace":"off","@typescript-eslint/no-redeclare":"off","@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-unused-expressions":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-use-before-define":"off","antfu/no-top-level-await":"off","import/newline-after-import":"off","no-alert":"off","no-console":"off","no-labels":"off","no-lone-blocks":"off","no-restricted-syntax":"off","no-undef":"off","no-unused-expressions":"off","no-unused-labels":"off","no-unused-vars":"off","unicode-bom":"off","unicorn/prefer-module":"off","unicorn/prefer-string-raw":"off","unused-imports/no-unused-imports":"off","unused-imports/no-unused-vars":"off",...t}}]});var ir=Object.defineProperty,lr=w((e,r)=>ir(e,"name",{value:r,configurable:!0}),"s");const cr=lr(async e=>{const r=await l(import("eslint-plugin-no-secrets"));return[{files:["*","*/**"],ignores:["package.json","**/package.json","package-lock.json","**/package-lock.json","tsconfig.json","**/tsconfig.json"],languageOptions:{ecmaVersion:6},name:"anolilab/no-secrets",plugins:{"no-secrets":r},rules:{"no-secrets/no-secrets":"error",...e.overrides}}]},"noSecrets"),pr=n.createConfig("js",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-no-unsanitized"));return[{files:o,name:"anolilab/no-unsanitized/setup",plugins:{"no-unsanitized":t},rules:{"no-unsanitized/method":"error","no-unsanitized/property":"error",...s}}]}),fr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t}=e,a=await l(import("eslint-plugin-n")),c=t?.engines?.node;return[{name:"anolilab/node/setup",plugins:{n:a}},{files:o,name:"anolilab/node/rules",rules:{...a.configs.recommended.rules,"global-require":"error","n/callback-return":"off","n/file-extension-in-import":"off","n/handle-callback-err":"off","n/no-extraneous-import":"off","n/no-extraneous-require":"off","n/no-missing-import":"off","n/no-missing-require":"off","n/no-mixed-requires":["error",{allowCall:!0,grouping:!0}],"n/no-new-require":"error","n/no-process-env":"off","n/no-process-exit":"off","n/no-restricted-modules":"off","n/no-sync":"off","n/no-unpublished-bin":"error","n/process-exit-as-throw":"error","no-buffer-constructor":"error","no-path-concat":"error",...c?{"n/no-unsupported-features/es-builtins":["error",{version:c}],"n/no-unsupported-features/es-syntax":["error",{ignores:["modules"],version:c}],"n/no-unsupported-features/node-builtins":["error",{version:c}]}:{},...s}}]}),dr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t}=e,a=await l(import("eslint-plugin-perfectionist"));return m.hasPackageJsonAnyDependency(t,["eslint-plugin-typescript-sort-keys"])&&console.warn(`
6
+ `),[...p.configs["flat/base"],{files:["**/*.json5"],name:"anolilab/jsonc/json5-rules",rules:p.configs["recommended-with-json5"].rules},{files:["**/*.jsonc"],name:"anolilab/jsonc/jsonc-rules",rules:p.configs["recommended-with-jsonc"].rules},{files:["**/*.json"],name:"anolilab/jsonc/json-rules",rules:p.configs["recommended-with-json"].rules},{files:["package.json","**/package.json"],name:"anolilab/jsonc/package.json-rules",rules:{"jsonc/sort-array-values":u?"off":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":u?"off":["error",{order:["$schema","name","displayName","version","private","description","categories","keywords","homepage","bugs","repository","funding","license","qna","author","maintainers","contributors","publisher","sideEffects","type","imports","exports","main","svelte","umd:main","jsdelivr","unpkg","module","source","jsnext:main","browser","react-native","types","typesVersions","typings","style","example","examplestyle","assets","bin","man","directories","files","workspaces","binary","scripts","betterScripts","contributes","activationEvents","husky","simple-git-hooks","pre-commit","commitlint","lint-staged","nano-staged","config","nodemonConfig","browserify","babel","browserslist","xo","prettier","eslintConfig","eslintIgnore","npmpackagejsonlint","release","remarkConfig","stylelint","ava","jest","mocha","nyc","tap","oclif","resolutions","dependencies","devDependencies","dependenciesMeta","peerDependencies","peerDependenciesMeta","optionalDependencies","bundledDependencies","bundleDependencies","extensionPack","extensionDependencies","flat","packageManager","engines","engineStrict","volta","languageName","os","cpu","preferGlobal","publishConfig","icon","badges","galleryBanner","preview","markdown","pnpm"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:{type:"asc"},pathPattern:"^(?:resolutions|overrides|pnpm.overrides)$"},{order:["types","import","require","default"],pathPattern:"^exports.*$"},{order:["applypatch-msg","pre-applypatch","post-applypatch","pre-commit","pre-merge-commit","prepare-commit-msg","commit-msg","post-commit","pre-rebase","post-checkout","post-merge","pre-push","pre-receive","update","post-receive","post-update","push-to-checkout","pre-auto-gc","post-rewrite","sendemail-validate","fsmonitor-watchman","p4-pre-submit","post-index-chang"],pathPattern:"^(?:gitHooks|husky|simple-git-hooks)$"},{order:["build","preinstall","install","postinstall","lint",{order:{type:"asc"}}],pathPattern:"^scripts$"}]}},{files:["**/tsconfig.json","**/tsconfig.*.json"],name:"anolilab/jsonc/tsconfig-json",rules:{"jsonc/sort-keys":["error",{order:["extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","jsx","jsxFactory","jsxFragmentFactory","jsxImportSource","lib","moduleDetection","noLib","reactNamespace","useDefineForClassFields","emitDecoratorMetadata","experimentalDecorators","libReplacement","baseUrl","rootDir","rootDirs","customConditions","module","moduleResolution","moduleSuffixes","noResolve","paths","resolveJsonModule","resolvePackageJsonExports","resolvePackageJsonImports","typeRoots","types","allowArbitraryExtensions","allowImportingTsExtensions","allowUmdGlobalAccess","allowJs","checkJs","maxNodeModuleJsDepth","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","declaration","declarationDir","declarationMap","downlevelIteration","emitBOM","emitDeclarationOnly","importHelpers","importsNotUsedAsValues","inlineSourceMap","inlineSources","mapRoot","newLine","noEmit","noEmitHelpers","noEmitOnError","outDir","outFile","preserveConstEnums","preserveValueImports","removeComments","sourceMap","sourceRoot","stripInternal","allowSyntheticDefaultImports","esModuleInterop","forceConsistentCasingInFileNames","isolatedDeclarations","isolatedModules","preserveSymlinks","verbatimModuleSyntax","erasableSyntaxOnly","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}},...s?p.configs["flat/prettier"]:[],{files:["**/*.json","**/*.jsonc","**/*.json5"],rules:{...a?{"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",c],"jsonc/key-spacing":["error",{afterColon:!0,beforeColon:!1}],"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"}:{},...r}}]},"jsonc"),nr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-jsx-a11y"));return[{files:o,languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},name:"anolilab/jsx-a11y/setup",plugins:{"jsx-a11y":t},rules:{"jsx-a11y/accessible-emoji":"off","jsx-a11y/alt-text":["error",{area:[],elements:["img","object","area",'input[type="image"]'],img:[],'input[type="image"]':[],object:[]}],"jsx-a11y/anchor-has-content":["error",{components:[]}],"jsx-a11y/anchor-is-valid":["error",{aspects:["noHref","invalidHref","preferButton"],components:["A","LinkTo","Link"],specialLink:["to"]}],"jsx-a11y/aria-activedescendant-has-tabindex":"error","jsx-a11y/aria-props":"error","jsx-a11y/aria-proptypes":"error","jsx-a11y/aria-role":["error",{ignoreNonDOM:!1}],"jsx-a11y/aria-unsupported-elements":"error","jsx-a11y/autocomplete-valid":["off",{inputComponents:[]}],"jsx-a11y/click-events-have-key-events":"error","jsx-a11y/control-has-associated-label":["error",{controlComponents:[],depth:5,ignoreElements:["audio","canvas","embed","input","textarea","tr","video"],ignoreRoles:["grid","listbox","menu","menubar","radiogroup","row","tablist","toolbar","tree","treegrid"],labelAttributes:["label"]}],"jsx-a11y/heading-has-content":["error",{components:[""]}],"jsx-a11y/html-has-lang":"error","jsx-a11y/iframe-has-title":"error","jsx-a11y/img-redundant-alt":"error","jsx-a11y/interactive-supports-focus":"error","jsx-a11y/label-has-associated-control":["error",{assert:"both",controlComponents:[],depth:25,labelAttributes:[],labelComponents:[]}],"jsx-a11y/lang":"error","jsx-a11y/media-has-caption":["error",{audio:[],track:[],video:[]}],"jsx-a11y/mouse-events-have-key-events":"error","jsx-a11y/no-access-key":"error","jsx-a11y/no-autofocus":["error",{ignoreNonDOM:!0}],"jsx-a11y/no-distracting-elements":["error",{elements:["marquee","blink"]}],"jsx-a11y/no-interactive-element-to-noninteractive-role":["error",{tr:["none","presentation"]}],"jsx-a11y/no-noninteractive-element-interactions":["error",{handlers:["onClick","onMouseDown","onMouseUp","onKeyPress","onKeyDown","onKeyUp"]}],"jsx-a11y/no-noninteractive-element-to-interactive-role":["error",{li:["menuitem","option","row","tab","treeitem"],ol:["listbox","menu","menubar","radiogroup","tablist","tree","treegrid"],table:["grid"],td:["gridcell"],ul:["listbox","menu","menubar","radiogroup","tablist","tree","treegrid"]}],"jsx-a11y/no-noninteractive-tabindex":["error",{roles:["tabpanel"],tags:[]}],"jsx-a11y/no-onchange":"off","jsx-a11y/no-redundant-roles":"error","jsx-a11y/no-static-element-interactions":["error",{handlers:["onClick","onMouseDown","onMouseUp","onKeyPress","onKeyDown","onKeyUp"]}],"jsx-a11y/role-has-required-aria-props":"error","jsx-a11y/role-supports-aria-props":"error","jsx-a11y/scope":"error","jsx-a11y/tabindex-no-positive":"error",...s}}]}),ar=n.createConfig("markdown",async(e,r)=>{const{componentExts:o=[],files:s=r,overrides:t}=e,a=await l(import("@eslint/markdown"));return[{name:"anolilab/markdown/setup",plugins:{markdown:a}},{files:s,ignores:n.getFilesGlobs("markdown_in_markdown"),name:"anolilab/markdown/processor",processor:ie.mergeProcessors([a.processors?.markdown,ie.processorPassThrough])},{files:s,languageOptions:{parser:F},name:"anolilab/markdown/parser",rules:a.configs.recommended[0].rules},{files:["**/*.md/**/*.?([cm])[jt]s?(x)",...o.map(c=>`**/*.md/**/*.${c}`)],languageOptions:{parserOptions:{ecmaFeatures:{impliedStrict:!0}}},name:"anolilab/markdown/disables",rules:{"@stylistic/comma-dangle":"off","@stylistic/eol-last":"off","@stylistic/prefer-global/process":"off","@typescript-eslint/consistent-type-imports":"off","@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/no-namespace":"off","@typescript-eslint/no-redeclare":"off","@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-unused-expressions":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-use-before-define":"off","antfu/no-top-level-await":"off","import/newline-after-import":"off","no-alert":"off","no-console":"off","no-labels":"off","no-lone-blocks":"off","no-restricted-syntax":"off","no-undef":"off","no-unused-expressions":"off","no-unused-labels":"off","no-unused-vars":"off","unicode-bom":"off","unicorn/prefer-module":"off","unicorn/prefer-string-raw":"off","unused-imports/no-unused-imports":"off","unused-imports/no-unused-vars":"off",...t}}]});var ir=Object.defineProperty,lr=w((e,r)=>ir(e,"name",{value:r,configurable:!0}),"s");const cr=lr(async e=>{const r=await l(import("eslint-plugin-no-secrets"));return[{files:["*","*/**"],ignores:["package.json","**/package.json","package-lock.json","**/package-lock.json","tsconfig.json","**/tsconfig.json"],languageOptions:{ecmaVersion:6},name:"anolilab/no-secrets",plugins:{"no-secrets":r},rules:{"no-secrets/no-secrets":"error",...e.overrides}}]},"noSecrets"),pr=n.createConfig("js",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-no-unsanitized"));return[{files:o,name:"anolilab/no-unsanitized/setup",plugins:{"no-unsanitized":t},rules:{"no-unsanitized/method":"error","no-unsanitized/property":"error",...s}}]}),fr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t}=e,a=await l(import("eslint-plugin-n")),c=t?.engines?.node;return[{name:"anolilab/node/setup",plugins:{n:a}},{files:o,name:"anolilab/node/rules",rules:{...a.configs.recommended.rules,"global-require":"error","n/callback-return":"off","n/file-extension-in-import":"off","n/handle-callback-err":"off","n/no-extraneous-import":"off","n/no-extraneous-require":"off","n/no-missing-import":"off","n/no-missing-require":"off","n/no-mixed-requires":["error",{allowCall:!0,grouping:!0}],"n/no-new-require":"error","n/no-process-env":"off","n/no-process-exit":"off","n/no-restricted-modules":"off","n/no-sync":"off","n/no-unpublished-bin":"error","n/process-exit-as-throw":"error","no-buffer-constructor":"error","no-path-concat":"error",...c?{"n/no-unsupported-features/es-builtins":["error",{version:c}],"n/no-unsupported-features/es-syntax":["error",{ignores:["modules"],version:c}],"n/no-unsupported-features/node-builtins":["error",{version:c}]}:{},...s}}]}),dr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t}=e,a=await l(import("eslint-plugin-perfectionist"));return m.hasPackageJsonAnyDependency(t,["eslint-plugin-typescript-sort-keys"])&&console.warn(`
7
7
  Please remove "eslint-plugin-typescript-sort-keys" from your package.json, it conflicts with "eslint-plugin-perfectionist".
8
- `),[{name:"anolilab/perfectionist/setup",plugins:{perfectionist:a}},{files:o,name:"anolilab/perfectionist/rules",rules:{...a.configs["recommended-natural"].rules,"perfectionist/sort-imports":"off","perfectionist/sort-modules":"off","perfectionist/sort-named-exports":"off","perfectionist/sort-named-imports":"off","perfectionist/sort-union-types":"off",...s}},{files:n.getFilesGlobs("ts"),name:"anolilab/perfectionist/typescript",rules:{"perfectionist/sort-classes":"off"}},{files:n.getFilesGlobs("postcss"),name:"anolilab/perfectionist/postcss",rules:{"perfectionist/sort-objects":"off"}}]}),ur=n.createConfig("e2e",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-playwright"));return[{files:o,plugins:{playwright:t},rules:{...t.configs.recommended.rules,...s}}]}),mr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-promise"));return[{files:o,name:"anolilab/promise/rules",plugins:{promise:t},rules:{...le.fixupPluginRules(t.configs["flat/recommended"].rules),"promise/prefer-await-to-callbacks":"off","promise/prefer-await-to-then":"off",...s}}]}),oe={allow:["__DEV__","__STORYBOOK_CLIENT_API__","__STORYBOOK_ADDONS_CHANNEL__","__STORYBOOK_STORY_STORE__"],allowAfterSuper:!1,allowAfterThis:!1,enforceInMethodNames:!0},ue={"array-bracket-newline":"off","array-bracket-spacing":"off","array-element-newline":"off",camelcase:["error",{ignoreDestructuring:!1,properties:"never"}],"capitalized-comments":["off","never",{block:{ignoreConsecutiveComments:!0,ignoreInlineComments:!0,ignorePattern:".*"},line:{ignoreConsecutiveComments:!0,ignoreInlineComments:!0,ignorePattern:".*"}}],"comma-style":"off","computed-property-spacing":"off","consistent-this":"off","default-param-last":["error"],"eol-last":"off","func-name-matching":["off","always",{considerPropertyDescriptor:!0,includeCommonJSModuleExports:!1}],"func-names":["error","as-needed"],"func-style":["error","expression"],"function-call-argument-newline":"off","function-paren-newline":"off","id-blacklist":"error","id-denylist":"off","id-length":"off","id-match":"off","implicit-arrow-linebreak":"off","jsx-quotes":"off","line-comment-position":"off","linebreak-style":"off","lines-around-directive":["error",{after:"always",before:"always"}],"max-depth":["off",4],"max-len":"off","max-lines":["off",{max:300,skipBlankLines:!0,skipComments:!0}],"max-lines-per-function":["off",{IIFEs:!0,max:50,skipBlankLines:!0,skipComments:!0}],"max-nested-callbacks":"off","max-params":["off",3],"max-statements":["off",10],"max-statements-per-line":"off","multiline-comment-style":"off","multiline-ternary":"off","new-cap":["error",{capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"],newIsCap:!0,newIsCapExceptions:[]}],"new-parens":"off","newline-after-var":"off","newline-before-return":"off","newline-per-chained-call":"off","no-array-constructor":"error","no-bitwise":"error","no-continue":"off","no-inline-comments":"off","no-lonely-if":"error","no-mixed-operators":["error",{allowSamePrecedence:!1,groups:[["%","**"],["%","+"],["%","-"],["%","*"],["%","/"],["/","*"],["&","|","<<",">>",">>>"],["==","!=","===","!=="],["&&","||"],["in","instanceof"]]}],"no-mixed-spaces-and-tabs":"off","no-multi-assign":["error"],"no-multiple-empty-lines":"off","no-negated-condition":"off","no-nested-ternary":"error","no-new-object":"error","no-plusplus":"error","no-restricted-syntax":["error",{message:"for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",selector:"ForInStatement"},{message:"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.",selector:"LabeledStatement"},{message:"`with` is disallowed in strict mode because it makes code impossible to predict and optimize.",selector:"WithStatement"},{message:"`useMemo` with an empty dependency array can't provide a stable reference, use `useRef` instead.",selector:"CallExpression[callee.name=useMemo][arguments.1.type=ArrayExpression][arguments.1.elements.length=0]"},{message:"Use `.key` instead of `.keyCode`",selector:"MemberExpression > .property[type=Identifier][name=keyCode]"},{message:"Do not use full-width tilde. Use wave dash instead.",selector:":matches(Literal[value=/~/],TemplateElement[value.raw=/~/])"},{message:"Use `.toString()` instead of template literal if you want to convert a value to string.",selector:'TemplateLiteral[quasis.0.value.raw=""][quasis.1.tail=true][quasis.1.value.raw=""]'}],"no-spaced-func":"off","no-tabs":"off","no-ternary":"off","no-trailing-spaces":"off","no-underscore-dangle":["error",oe],"no-unneeded-ternary":["error",{defaultAssignment:!1}],"no-whitespace-before-property":"off","nonblock-statement-body-position":"off","object-curly-newline":"off","object-curly-spacing":"off","object-property-newline":"off","one-var":["error","never"],"one-var-declaration-per-line":"off","operator-assignment":["error","always"],"operator-linebreak":"off","padded-blocks":"off","padding-line-between-statements":"off","prefer-exponentiation-operator":"error","prefer-object-spread":"error","quote-props":"off",quotes:"off","require-jsdoc":"off","rest-spread-spacing":"off",semi:"off","semi-spacing":"off","semi-style":"off","sort-keys":"off","sort-vars":"off","space-before-blocks":"off","space-before-function-paren":"off","space-in-parens":"off","space-infix-ops":"off","space-unary-ops":"off","spaced-comment":"off","switch-colon-spacing":"off","template-tag-spacing":"off","unicode-bom":["error","never"],"wrap-iife":"off","wrap-regex":"off","yield-star-spacing":"off"},gr=n.createConfig("all",async(e,r)=>{const{files:o=r,prettier:s}=e;return[{files:o,name:"anolilab/style/rules",rules:{...ue,"quote-props":"off",...s?{"array-bracket-newline":"off","array-bracket-spacing":"off","array-element-newline":"off","arrow-parens":"off","arrow-spacing":"off","block-spacing":"off","brace-style":"off","comma-dangle":"off","comma-spacing":"off","comma-style":"off","computed-property-spacing":"off",curly:0,"dot-location":"off","eol-last":"off","func-call-spacing":"off","function-call-argument-newline":"off","function-paren-newline":"off","generator-star-spacing":"off","implicit-arrow-linebreak":"off",indent:"off","jsx-quotes":"off","key-spacing":"off","keyword-spacing":"off","linebreak-style":"off","lines-around-comment":0,"max-len":0,"max-statements-per-line":"off","multiline-ternary":"off","new-parens":"off","newline-per-chained-call":"off","no-confusing-arrow":0,"no-extra-parens":"off","no-extra-semi":"off","no-floating-decimal":"off","no-mixed-operators":0,"no-mixed-spaces-and-tabs":"off","no-multi-spaces":"off","no-multiple-empty-lines":"off","no-tabs":0,"no-trailing-spaces":"off","no-unexpected-multiline":0,"no-whitespace-before-property":"off","nonblock-statement-body-position":"off","object-curly-newline":"off","object-curly-spacing":"off","object-property-newline":"off","one-var-declaration-per-line":"off","operator-linebreak":"off","padded-blocks":"off",quotes:0,"rest-spread-spacing":"off",semi:"off","semi-spacing":"off","semi-style":"off","space-before-blocks":"off","space-before-function-paren":"off","space-in-parens":"off","space-unary-ops":"off","switch-colon-spacing":"off","template-curly-spacing":"off","template-tag-spacing":"off","wrap-iife":"off","wrap-regex":"off","yield-star-spacing":"off"}:{}}},{files:n.getFilesGlobs("ts"),name:"anolilab/style/ts-rules",rules:{"brace-style":"off",camelcase:"off","comma-dangle":"off","comma-spacing":"off","func-call-spacing":"off",indent:"off","keyword-spacing":"off","lines-between-class-members":"off","no-array-constructor":"off",quotes:"off",semi:"off","space-before-function-paren":"off"}}]}),yr=["vite"],hr=["@remix-run/node","@remix-run/react","@remix-run/serve","@remix-run/dev"],br=["next"],xr=["@react-router/node","@react-router/react","@react-router/serve","@react-router/dev"],wr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,filesTypeAware:s=n.getFilesGlobs("ts"),overrides:t,packageJson:a,prettier:c,reactCompiler:p,silent:u,stylistic:h=!0,tsconfigPath:b}=e,E=[...n.getFilesGlobs("astro"),...n.getFilesGlobs("markdown"),...n.getFilesGlobs("js"),...n.getFilesGlobs("jsx"),"**/*.json","**/*.jsonc",...e.ignoresTypeAware??[]];let{isTypeAware:v=!0}=e;v=v&&b!==void 0;const{indent:k=4}=typeof h=="boolean"?{}:h,U={"react-x/no-leaked-conditional-rendering":"error"},[M,D,z,A,F,I]=await Promise.all([l(import("@eslint-react/eslint-plugin")),l(import("eslint-plugin-react")),l(import("eslint-plugin-react-hooks")),l(import("eslint-plugin-react-refresh")),l(import("eslint-plugin-react-perf")),l(import("eslint-plugin-react-you-might-not-need-an-effect"))]),S=m.hasPackageJsonAnyDependency(a,yr),L=m.hasPackageJsonAnyDependency(a,hr),$=m.hasPackageJsonAnyDependency(a,br),C=m.hasPackageJsonAnyDependency(a,xr),{plugins:N}=M.configs.all;let _=a?.dependencies?.react||a?.devDependencies?.react,T=!1;if(_!==void 0){const P=se.parse(_);P!==null&&(_=`${P.major}.${P.minor}`,u||console.info(`
9
- @anolilab/eslint-config found the version ${_} of react in your dependencies, this version ${_} will be used to setup the "eslint-plugin-react"
10
- `)),P?.major&&P.major>=19&&(T=!0)}let J=!1;if(b!==void 0){const P=Pe.readTsConfig(b);P?.compilerOptions!==void 0&&(P?.compilerOptions.jsx==="react-jsx"||P?.compilerOptions.jsx==="react-jsxdev")&&(J=!0,u||console.info(`@anolilab/eslint-config found react jsx-runtime.
8
+ `),[{name:"anolilab/perfectionist/setup",plugins:{perfectionist:a}},{files:o,name:"anolilab/perfectionist/rules",rules:{...a.configs["recommended-natural"].rules,"perfectionist/sort-imports":"off","perfectionist/sort-modules":"off","perfectionist/sort-named-exports":"off","perfectionist/sort-named-imports":"off","perfectionist/sort-union-types":"off",...s}},{files:n.getFilesGlobs("ts"),name:"anolilab/perfectionist/typescript",rules:{"perfectionist/sort-classes":"off"}},{files:n.getFilesGlobs("postcss"),name:"anolilab/perfectionist/postcss",rules:{"perfectionist/sort-objects":"off"}}]}),ur=n.createConfig("e2e",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-playwright"));return[{files:o,plugins:{playwright:t},rules:{...t.configs.recommended.rules,...s}}]}),mr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-promise"));return[{files:o,name:"anolilab/promise/rules",plugins:{promise:t},rules:{...le.fixupPluginRules(t.configs["flat/recommended"].rules),"promise/prefer-await-to-callbacks":"off","promise/prefer-await-to-then":"off",...s}}]}),oe={allow:["__DEV__","__STORYBOOK_CLIENT_API__","__STORYBOOK_ADDONS_CHANNEL__","__STORYBOOK_STORY_STORE__"],allowAfterSuper:!1,allowAfterThis:!1,enforceInMethodNames:!0},ue={"array-bracket-newline":"off","array-bracket-spacing":"off","array-element-newline":"off",camelcase:["error",{ignoreDestructuring:!1,properties:"never"}],"capitalized-comments":["off","never",{block:{ignoreConsecutiveComments:!0,ignoreInlineComments:!0,ignorePattern:".*"},line:{ignoreConsecutiveComments:!0,ignoreInlineComments:!0,ignorePattern:".*"}}],"comma-style":"off","computed-property-spacing":"off","consistent-this":"off","default-param-last":["error"],"eol-last":"off","func-name-matching":["off","always",{considerPropertyDescriptor:!0,includeCommonJSModuleExports:!1}],"func-names":["error","as-needed"],"func-style":["error","expression"],"function-call-argument-newline":"off","function-paren-newline":"off","id-blacklist":"error","id-denylist":"off","id-length":"off","id-match":"off","implicit-arrow-linebreak":"off","jsx-quotes":"off","line-comment-position":"off","linebreak-style":"off","lines-around-directive":["error",{after:"always",before:"always"}],"max-depth":["off",4],"max-len":"off","max-lines":["off",{max:300,skipBlankLines:!0,skipComments:!0}],"max-lines-per-function":["off",{IIFEs:!0,max:50,skipBlankLines:!0,skipComments:!0}],"max-nested-callbacks":"off","max-params":["off",3],"max-statements":["off",10],"max-statements-per-line":"off","multiline-comment-style":"off","multiline-ternary":"off","new-cap":["error",{capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"],newIsCap:!0,newIsCapExceptions:[]}],"new-parens":"off","newline-after-var":"off","newline-before-return":"off","newline-per-chained-call":"off","no-array-constructor":"error","no-bitwise":"error","no-continue":"off","no-inline-comments":"off","no-lonely-if":"error","no-mixed-operators":["error",{allowSamePrecedence:!1,groups:[["%","**"],["%","+"],["%","-"],["%","*"],["%","/"],["/","*"],["&","|","<<",">>",">>>"],["==","!=","===","!=="],["&&","||"],["in","instanceof"]]}],"no-mixed-spaces-and-tabs":"off","no-multi-assign":["error"],"no-multiple-empty-lines":"off","no-negated-condition":"off","no-nested-ternary":"error","no-new-object":"error","no-plusplus":"error","no-restricted-syntax":["error",{message:"for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",selector:"ForInStatement"},{message:"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.",selector:"LabeledStatement"},{message:"`with` is disallowed in strict mode because it makes code impossible to predict and optimize.",selector:"WithStatement"},{message:"`useMemo` with an empty dependency array can't provide a stable reference, use `useRef` instead.",selector:"CallExpression[callee.name=useMemo][arguments.1.type=ArrayExpression][arguments.1.elements.length=0]"},{message:"Use `.key` instead of `.keyCode`",selector:"MemberExpression > .property[type=Identifier][name=keyCode]"},{message:"Do not use full-width tilde. Use wave dash instead.",selector:":matches(Literal[value=/~/],TemplateElement[value.raw=/~/])"},{message:"Use `.toString()` instead of template literal if you want to convert a value to string.",selector:'TemplateLiteral[quasis.0.value.raw=""][quasis.1.tail=true][quasis.1.value.raw=""]'}],"no-spaced-func":"off","no-tabs":"off","no-ternary":"off","no-trailing-spaces":"off","no-underscore-dangle":["error",oe],"no-unneeded-ternary":["error",{defaultAssignment:!1}],"no-whitespace-before-property":"off","nonblock-statement-body-position":"off","object-curly-newline":"off","object-curly-spacing":"off","object-property-newline":"off","one-var":["error","never"],"one-var-declaration-per-line":"off","operator-assignment":["error","always"],"operator-linebreak":"off","padded-blocks":"off","padding-line-between-statements":"off","prefer-exponentiation-operator":"error","prefer-object-spread":"error","quote-props":"off",quotes:"off","require-jsdoc":"off","rest-spread-spacing":"off",semi:"off","semi-spacing":"off","semi-style":"off","sort-keys":"off","sort-vars":"off","space-before-blocks":"off","space-before-function-paren":"off","space-in-parens":"off","space-infix-ops":"off","space-unary-ops":"off","spaced-comment":"off","switch-colon-spacing":"off","template-tag-spacing":"off","unicode-bom":["error","never"],"wrap-iife":"off","wrap-regex":"off","yield-star-spacing":"off"},yr=n.createConfig("all",async(e,r)=>{const{files:o=r,prettier:s}=e;return[{files:o,name:"anolilab/style/rules",rules:{...ue,"quote-props":"off",...s?{"array-bracket-newline":"off","array-bracket-spacing":"off","array-element-newline":"off","arrow-parens":"off","arrow-spacing":"off","block-spacing":"off","brace-style":"off","comma-dangle":"off","comma-spacing":"off","comma-style":"off","computed-property-spacing":"off",curly:0,"dot-location":"off","eol-last":"off","func-call-spacing":"off","function-call-argument-newline":"off","function-paren-newline":"off","generator-star-spacing":"off","implicit-arrow-linebreak":"off",indent:"off","jsx-quotes":"off","key-spacing":"off","keyword-spacing":"off","linebreak-style":"off","lines-around-comment":0,"max-len":0,"max-statements-per-line":"off","multiline-ternary":"off","new-parens":"off","newline-per-chained-call":"off","no-confusing-arrow":0,"no-extra-parens":"off","no-extra-semi":"off","no-floating-decimal":"off","no-mixed-operators":0,"no-mixed-spaces-and-tabs":"off","no-multi-spaces":"off","no-multiple-empty-lines":"off","no-tabs":0,"no-trailing-spaces":"off","no-unexpected-multiline":0,"no-whitespace-before-property":"off","nonblock-statement-body-position":"off","object-curly-newline":"off","object-curly-spacing":"off","object-property-newline":"off","one-var-declaration-per-line":"off","operator-linebreak":"off","padded-blocks":"off",quotes:0,"rest-spread-spacing":"off",semi:"off","semi-spacing":"off","semi-style":"off","space-before-blocks":"off","space-before-function-paren":"off","space-in-parens":"off","space-unary-ops":"off","switch-colon-spacing":"off","template-curly-spacing":"off","template-tag-spacing":"off","wrap-iife":"off","wrap-regex":"off","yield-star-spacing":"off"}:{}}},{files:n.getFilesGlobs("ts"),name:"anolilab/style/ts-rules",rules:{"brace-style":"off",camelcase:"off","comma-dangle":"off","comma-spacing":"off","func-call-spacing":"off",indent:"off","keyword-spacing":"off","lines-between-class-members":"off","no-array-constructor":"off",quotes:"off",semi:"off","space-before-function-paren":"off"}}]}),gr=["vite"],hr=["@remix-run/node","@remix-run/react","@remix-run/serve","@remix-run/dev"],br=["next"],xr=["@react-router/node","@react-router/react","@react-router/serve","@react-router/dev"],wr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,filesTypeAware:s=n.getFilesGlobs("ts"),overrides:t,packageJson:a,prettier:c,reactCompiler:p,silent:u,stylistic:h=!0,tsconfigPath:b}=e,k=[...n.getFilesGlobs("astro"),...n.getFilesGlobs("markdown"),...n.getFilesGlobs("js"),...n.getFilesGlobs("jsx"),"**/*.json","**/*.jsonc",...e.ignoresTypeAware??[]];let{isTypeAware:P=!0}=e;P=P&&b!==void 0;const{indent:C=4}=typeof h=="boolean"?{}:h,U={"react-x/no-leaked-conditional-rendering":"error"},[V,v,A,I,O,L]=await Promise.all([l(import("@eslint-react/eslint-plugin")),l(import("eslint-plugin-react")),l(import("eslint-plugin-react-hooks")),l(import("eslint-plugin-react-refresh")),l(import("eslint-plugin-react-perf")),l(import("eslint-plugin-react-you-might-not-need-an-effect"))]),T=m.hasPackageJsonAnyDependency(a,gr),q=m.hasPackageJsonAnyDependency(a,hr),H=m.hasPackageJsonAnyDependency(a,br),$=m.hasPackageJsonAnyDependency(a,xr),{plugins:N}=V.configs.all;let S=a?.dependencies?.react??a?.devDependencies?.react,E=!1;if(S!==void 0){const D=se.parse(S);D!==null&&(S=`${D.major}.${D.minor}`,u||console.info(`
9
+ @anolilab/eslint-config found the version ${S} of react in your dependencies, this version ${S} will be used to setup the "eslint-plugin-react"
10
+ `)),D?.major&&D.major>=19&&(E=!0)}let J=!1;if(b!==void 0){const D=Ce.readTsConfig(b);D?.compilerOptions!==void 0&&(D?.compilerOptions.jsx==="react-jsx"||D?.compilerOptions.jsx==="react-jsxdev")&&(J=!0,u||console.info(`@anolilab/eslint-config found react jsx-runtime.
11
11
 
12
12
  Following rules are disabled: "react/jsx-uses-react" and "react/react-in-jsx-scope".
13
13
  If you dont use the new react jsx-runtime in you project, please enable it manually.
14
- `))}T=T&&p!==!1;let G;return T&&(console.info(`@anolilab/eslint-config enabling react-compiler plugin
15
- `),G=await l(import("eslint-plugin-react-compiler"))),[{name:"anolilab/react/setup",plugins:{react:D,"react-dom":N["@eslint-react/dom"],"react-hooks":z,"react-hooks-extra":N["@eslint-react/hooks-extra"],"react-naming-convention":N["@eslint-react/naming-convention"],"react-perf":F,"react-refresh":A,"react-web-api":N["@eslint-react/web-api"],"react-x":N["@eslint-react"],"react-you-might-not-need-an-effect":I,...T&&G?G.configs.recommended.plugins:{}}},{files:o,languageOptions:{globals:{...W.browser},parserOptions:{ecmaFeatures:{jsx:!0}}},name:"anolilab/react/rules",rules:{"class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-quotes":["error","prefer-double"],"no-underscore-dangle":["error",{...oe,allow:[...oe.allow,"__REDUX_DEVTOOLS_EXTENSION_COMPOSE__"]}],"react-hooks-extra/no-direct-set-state-in-use-effect":"error","react-hooks-extra/no-unnecessary-use-callback":"error","react-hooks-extra/no-unnecessary-use-memo":"error","react-hooks-extra/no-unnecessary-use-prefix":"error","react-hooks-extra/prefer-use-state-lazy-initialization":"error","react-hooks/exhaustive-deps":"error","react-hooks/rules-of-hooks":"error","react-naming-convention/component-name":"error","react-naming-convention/context-name":"error","react-naming-convention/filename":"off","react-naming-convention/use-state":"error","react-refresh/only-export-components":["error",{allowConstantExport:S,allowExportNames:[...$?["dynamic","dynamicParams","revalidate","fetchCache","runtime","preferredRegion","maxDuration","config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...L||C?["meta","links","headers","loader","action","clientLoader","clientAction","handle","shouldRevalidate"]:[]]}],"react-web-api/no-leaked-event-listener":"error","react-web-api/no-leaked-interval":"error","react-web-api/no-leaked-resize-observer":"error","react-web-api/no-leaked-timeout":"error","react-x/avoid-shorthand-boolean":"off","react-x/avoid-shorthand-fragment":"off","react-x/jsx-key-before-spread":"error","react-x/jsx-no-duplicate-props":"error","react-x/jsx-no-undef":"off","react-x/jsx-uses-react":J?"off":"error","react-x/jsx-uses-vars":"error","react-x/no-access-state-in-setstate":"error","react-x/no-array-index-key":"error","react-x/no-children-count":"error","react-x/no-children-for-each":"error","react-x/no-children-map":"error","react-x/no-children-only":"error","react-x/no-children-prop":"off","react-x/no-children-to-array":"error","react-x/no-class-component":"off","react-x/no-clone-element":"error","react-x/no-comment-textnodes":"error","react-x/no-complex-conditional-rendering":"off","react-x/no-component-will-mount":"error","react-x/no-component-will-receive-props":"error","react-x/no-component-will-update":"error","react-x/no-context-provider":"error","react-x/no-create-ref":"error","react-x/no-default-props":"error","react-x/no-direct-mutation-state":"error","react-x/no-duplicate-key":"error","react-x/no-forward-ref":"error","react-x/no-implicit-key":"error","react-x/no-missing-component-display-name":"off","react-x/no-missing-context-display-name":"off","react-x/no-missing-key":"error","react-x/no-misused-capture-owner-stack":"off","react-x/no-nested-component-definitions":"error","react-x/no-nested-lazy-component-declarations":"error","react-x/no-prop-types":"error","react-x/no-redundant-should-component-update":"error","react-x/no-set-state-in-component-did-mount":"error","react-x/no-set-state-in-component-did-update":"error","react-x/no-set-state-in-component-will-update":"error","react-x/no-string-refs":"error","react-x/no-unsafe-component-will-mount":"error","react-x/no-unsafe-component-will-receive-props":"error","react-x/no-unsafe-component-will-update":"error","react-x/no-unstable-context-value":"error","react-x/no-unstable-default-props":"error","react-x/no-unused-class-component-members":"error","react-x/no-unused-state":"error","react-x/no-use-context":"error","react-x/no-useless-forward-ref":"error","react-x/no-useless-fragment":"off","react-x/prefer-destructuring-assignment":"off","react-x/prefer-react-namespace-import":"off","react-x/prefer-read-only-props":"off","react-x/prefer-shorthand-boolean":"off","react-x/prefer-shorthand-fragment":"off","react/boolean-prop-naming":["off",{message:"",propTypeNames:["bool","mutuallyExclusiveTrueProps"],rule:"^(is|has)[A-Z]([A-Za-z0-9]?)+"}],"react/button-has-type":["error",{button:!0,reset:!1,submit:!0}],"react/default-props-match-prop-types":["error",{allowRequiredDefaults:!1}],"react/destructuring-assignment":["error","always"],"react/display-name":["off",{ignoreTranspilerName:!1}],"react/forbid-component-props":["off",{forbid:[]}],"react/forbid-dom-props":["off",{forbid:[]}],"react/forbid-elements":["off",{forbid:[]}],"react/forbid-foreign-prop-types":["error",{allowInPropTypes:!0}],"react/forbid-prop-types":["error",{checkChildContextTypes:!0,checkContextTypes:!0,forbid:["any","array","object"]}],"react/function-component-definition":["error",{namedComponents:"arrow-function",unnamedComponents:"arrow-function"}],"react/jsx-boolean-value":["error","never",{always:[]}],"react/jsx-child-element-spacing":"off","react/jsx-closing-bracket-location":["error","line-aligned"],"react/jsx-curly-brace-presence":["error",{children:"never",props:"never"}],"react/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"react/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"react/jsx-equals-spacing":["error","never"],"react/jsx-first-prop-new-line":["error","multiline-multiprop"],"react/jsx-fragments":["error","syntax"],"react/jsx-handler-names":["off",{eventHandlerPrefix:"handle",eventHandlerPropPrefix:"on"}],"react/jsx-indent":["error",k,{checkAttributes:!0,indentLogicalExpressions:!0}],"react/jsx-indent-props":["error",k],"react/jsx-key":"off","react/jsx-max-depth":"off","react/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"react/jsx-newline":"off","react/jsx-no-bind":["error",{allowArrowFunctions:!0,allowBind:!1,allowFunctions:!1,ignoreDOMComponents:!0,ignoreRefs:!0}],"react/jsx-no-comment-textnodes":"off","react/jsx-no-constructed-context-values":"error","react/jsx-no-duplicate-props":"off","react/jsx-no-literals":["off",{noStrings:!0}],"react/jsx-no-script-url":["error",[{name:"Link",props:["to"]}]],"react/jsx-no-target-blank":["error",{enforceDynamicLinks:"always"}],"react/jsx-no-undef":"off","react/jsx-no-useless-fragment":"off","react/jsx-one-expression-per-line":["error",{allow:"single-child"}],"react/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],"react/jsx-props-no-multi-spaces":"error","react/jsx-props-no-spreading":["error",{custom:"enforce",exceptions:[],explicitSpread:"ignore",html:"enforce"}],"react/jsx-sort-props":"off","react/jsx-space-before-closing":["off","always"],"react/jsx-tag-spacing":["error",{afterOpening:"never",beforeClosing:"never",beforeSelfClosing:"always",closingSlash:"never"}],"react/jsx-uses-react":"off","react/jsx-uses-vars":"off","react/no-access-state-in-setstate":"off","react/no-adjacent-inline-elements":"error","react/no-array-index-key":"off","react/no-children-prop":"off","react/no-danger":"error","react/no-danger-with-children":"error","react/no-deprecated":["error"],"react/no-did-mount-set-state":"off","react/no-did-update-set-state":"error","react/no-direct-mutation-state":"off","react/no-find-dom-node":"error","react/no-is-mounted":"error","react/no-multi-comp":"off","react/no-redundant-should-component-update":"off","react/no-render-return-value":"error","react/no-set-state":"off","react/no-string-refs":"off","react/no-this-in-sfc":"error","react/no-unescaped-entities":"error","react/no-unknown-property":"error","react/no-unsafe":"off","react/no-unused-prop-types":["error",{customValidators:[],skipShapeProps:!0}],"react/no-unused-state":"off","react/no-will-update-set-state":"error","react/prefer-es6-class":["error","always"],"react/prefer-read-only-props":"off","react/prefer-stateless-function":["error",{ignorePureComponents:!0}],"react/prop-types":"off","react/react-in-jsx-scope":J?"off":"error","react/require-default-props":"off","react/require-optimization":["off",{allowDecorators:[]}],"react/require-render-return":"error","react/self-closing-comp":"error","react/sort-comp":["error",{groups:{lifecycle:["displayName","propTypes","contextTypes","childContextTypes","mixins","statics","defaultProps","constructor","getDefaultProps","getInitialState","state","getChildContext","getDerivedStateFromProps","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","getSnapshotBeforeUpdate","componentDidUpdate","componentDidCatch","componentWillUnmount"],rendering:["/^render.+$/","render"]},order:["static-variables","static-methods","instance-variables","lifecycle","/^handle.+$/","/^on.+$/","getters","setters","/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/","instance-methods","everything-else","rendering"]}],"react/sort-default-props":["error",{ignoreCase:!0}],"react/sort-prop-types":["off",{callbacksLast:!1,ignoreCase:!0,requiredFirst:!1,sortShapeProp:!0}],"react/state-in-constructor":["error","never"],"react/static-property-placement":["error","static public field"],"react/style-prop-object":"error","react/void-dom-elements-no-children":"error",...T&&G?{"react-compiler/react-compiler":"error"}:{},...F?.configs?.flat?.recommended?.rules,...I?.configs?.recommended?.rules,...J?D?.configs?.flat?.["jsx-runtime"]?.rules:{},...c?{"react/jsx-child-element-spacing":"off","react/jsx-closing-bracket-location":"off","react/jsx-closing-tag-location":"off","react/jsx-curly-newline":"off","react/jsx-curly-spacing":"off","react/jsx-equals-spacing":"off","react/jsx-first-prop-new-line":"off","react/jsx-indent":"off","react/jsx-indent-props":"off","react/jsx-max-props-per-line":"off","react/jsx-newline":"off","react/jsx-one-expression-per-line":"off","react/jsx-props-no-multi-spaces":"off","react/jsx-tag-spacing":"off","react/jsx-wrap-multilines":"off"}:{},...t},settings:{propWrapperFunctions:["forbidExtraProps","exact","Object.freeze"],react:{version:_??"detect"},"react-x":{version:_??"detect"}}},{files:["**/*.jsx"],languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}},...J?D?.configs?.flat?.["jsx-runtime"]?.languageOptions?.parserOptions:{}},name:"anolilab/react/jsx",rules:{"react-x/naming-convention/filename-extension":["error","as-needed"],"react/jsx-closing-tag-location":"error","react/jsx-filename-extension":"off","react/jsx-wrap-multilines":["error",{arrow:"parens-new-line",assignment:"parens-new-line",condition:"parens-new-line",declaration:"parens-new-line",logical:"parens-new-line",prop:"parens-new-line",return:"parens-new-line"}],"react/no-typos":"error"},settings:{extensions:[".jsx"]}},{files:["**/*.tsx"],name:"anolilab/react/tsx",rules:{"react/default-props-match-prop-types":"off","react/jsx-filename-extension":"off","react/prop-types":"off","react/require-default-props":"off"}},{files:n.getFilesGlobs("storybook"),name:"anolilab/react/storybook",rules:{"react/jsx-props-no-spreading":"off"}},...v?[{files:s,ignores:E,name:"anolilab/react/type-aware-rules",rules:{...U}}]:[]]}),jr=n.createConfig("all",async(e,r)=>{const{files:o=r,level:s,overrides:t}=e,a=Oe.configs["flat/recommended"],c={...a.rules};if(s==="warn")for(const p in c)c[p]==="error"&&(c[p]="warn");return[{...a,files:o,name:"anolilab/regexp/rules",rules:{...c,...t}}]}),vr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-simple-import-sort"));return[{files:o,name:"anolilab/simple-import-sort",plugins:{"simple-import-sort":t},rules:{"simple-import-sort/exports":"error","simple-import-sort/imports":"error",...s}}]}),kr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-sonarjs"));return[{name:"anolilab/sonarjs/plugin",plugins:{sonarjs:t}},{files:o,name:"anolilab/sonarjs/rules",rules:{...t.configs.recommended.rules,"sonarjs/file-name-differ-from-class":"error","sonarjs/no-collapsible-if":"error","sonarjs/no-nested-template-literals":"off","sonarjs/no-tab":"error","sonarjs/todo-tag":"off",...s}},{files:n.getFilesGlobs("js_and_ts"),name:"anolilab/sonarjs/js-and-ts-rules",rules:{"sonarjs/cognitive-complexity":["error",15],"sonarjs/no-duplicate-string":"off"}},{files:n.getFilesGlobs("js"),languageOptions:{ecmaVersion:2020},name:"anolilab/sonarjs/js-rules",rules:{"sonarjs/no-all-duplicated-branches":"off","sonarjs/no-duplicate-string":"off"}}]}),Cr=n.createConfig("storybook",async e=>{const{overrides:r}=e,o=[...(await l(import("eslint-plugin-storybook"))).configs["flat/recommended"]];return o[0].rules={...o[0].rules,...r},o}),Pr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,overrides:s}=e,t=[...(await l(import("eslint-plugin-tailwindcss"))).configs["flat/recommended"]];return t[1].files=o,t[1].rules={...t[1].rules,...s},t}),Or=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("@tanstack/eslint-plugin-query"));return[{files:o,plugins:{"@tanstack/query":t},rules:{...t.configs.recommended.rules,...s}}]}),Dr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("@tanstack/eslint-plugin-router"));return[{files:o,plugins:{"@tanstack/router":t},rules:{...t.configs.recommended.rules,...s}}]}),Fr=n.createConfig("vitest",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t}=e,a=await l(import("eslint-plugin-testing-library")),c=m.hasPackageJsonAnyDependency(t,["react","react-dom","eslint-plugin-react"]);return[{files:o,plugins:{"testing-library":a},rules:{...a.configs["flat/dom"].rules,...c?a.configs["flat/react"].rules:{},...s}}]}),Sr=n.createConfig("toml",async(e,r)=>{const{files:o=r,overrides:s={},stylistic:t=!0}=e,{indent:a=2}=typeof t=="boolean"?{}:t,[c,p]=await Promise.all([l(import("eslint-plugin-toml")),l(import("toml-eslint-parser"))]);return[{files:o,languageOptions:{parser:p},name:"anolilab/toml",plugins:{toml:c},rules:{...t?{"@stylistic/spaced-comment":"off"}:{},"toml/comma-style":"error","toml/keys-order":"error","toml/no-space-dots":"error","toml/no-unreadable-number-separator":"error","toml/precision-of-fractional-seconds":"error","toml/precision-of-integer":"error","toml/tables-order":"error","toml/vue-custom-block/no-parsing-error":"error",...t?{"toml/array-bracket-newline":"error","toml/array-bracket-spacing":"error","toml/array-element-newline":"error","toml/indent":["error",a==="tab"?2:a],"toml/inline-table-curly-spacing":"error","toml/key-spacing":"error","toml/padding-line-between-pairs":"error","toml/padding-line-between-tables":"error","toml/quoted-keys":"error","toml/spaced-comment":"error","toml/table-bracket-spacing":"error"}:{},...s}}]}),_r=n.createConfig("ts",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-tsdoc"));return[{files:o,plugins:{tsdoc:t},rules:{"tsdoc/syntax":"error",...s}}]}),Q={"init-declarations":"off","no-catch-shadow":"off","no-delete-var":"error","no-label-var":"error","no-restricted-globals":["error",{message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite",name:"isFinite"},{message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan",name:"isNaN"},...Fe.map(e=>({message:`Use window.${e} instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md`,name:e})),{message:"Use `globalThis` instead.",name:"global"},{message:"Use `globalThis` instead.",name:"self"}],"no-shadow":"error","no-shadow-restricted-names":"error","no-undef":"error","no-undef-init":"error","no-undefined":"off","no-unused-vars":["error",{args:"after-used",ignoreRestSiblings:!0,vars:"all"}],"no-use-before-define":["error",{classes:!0,functions:!0,variables:!0}]},qr=n.createConfig("all",async(e,r)=>{const{files:o=r}=e;return[{files:o,name:"anolilab/variables/rules",rules:Q},{files:n.getFilesGlobs("ts"),name:"anolilab/variables/ts-rules",rules:{"no-shadow":"off","no-undef":"off","no-unused-vars":"off","no-use-before-define":"off"}}]});var Er=Object.defineProperty,Ar=w((e,r)=>Er(e,"name",{value:r,configurable:!0}),"h");const Ir=n.createConfig("ts",async(e,r)=>{const{componentExts:o=[],files:s=r,isInEditor:t=!1,overrides:a,overridesTypeAware:c,parserOptions:p,prettier:u}=e,h=ue,b=pe(t),[E,v,k,U]=await Promise.all([l(import("@typescript-eslint/eslint-plugin")),l(import("@typescript-eslint/parser")),l(import("typescript-eslint")),l(import("eslint-plugin-no-for-of-array"))]),M=e.filesTypeAware??n.getFilesGlobs("ts"),D=[...n.getFilesGlobs("astro"),...n.getFilesGlobs("markdown"),...n.getFilesGlobs("js"),...n.getFilesGlobs("jsx"),"**/*.json","**/*.jsonc",...e.ignoresTypeAware??[]],{tsconfigPath:z}=e;let{isTypeAware:A=!0}=e;A=A&&z!==void 0;const F=Ar((S,L,$)=>({files:[...L,...o.map(C=>`**/*.${C}`)],...$?{ignores:$}:{},languageOptions:{parser:v,parserOptions:{extraFileExtensions:o.map(C=>`.${C}`),sourceType:"module",...S?{projectService:!0,tsconfigRootDir:process.cwd()}:{},...p}},name:`anolilab/typescript/${S?"type-aware-parser":"parser"}`}),"makeParser"),I=[{name:"anolilab/typescript/setup",plugins:{"@typescript-eslint":E,"no-for-of-array":U}},...A?[F(!1,s),F(!0,M,D)]:[F(!1,s)],...k.configs.strict];return A&&I.push(...k.configs.strictTypeCheckedOnly,{files:[...M,...o.map(S=>`**/*.${S}`)],name:"anolilab/typescript/rules-type-aware",rules:{"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/no-unsafe-argument":"error","@typescript-eslint/no-unsafe-assignment":"error","@typescript-eslint/no-unsafe-call":"error","@typescript-eslint/no-unsafe-member-access":"error","@typescript-eslint/no-unsafe-return":"error","@typescript-eslint/prefer-nullish-coalescing":"error","@typescript-eslint/prefer-optional-chain":"error",...c}},{files:n.getFilesGlobs("all"),name:"anolilab/typescript/no-for-of-array/rules",rules:{"no-for-of-array/no-for-of-array":"error"}}),I.push({files:s,name:"anolilab/typescript/rules",rules:{"@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/array-type":["error",{default:"array",readonly:"generic"}],"@typescript-eslint/ban-ts-comment":["error",{minimumDescriptionLength:3,"ts-check":!1,"ts-expect-error":"allow-with-description","ts-ignore":"allow-with-description","ts-nocheck":!0}],"@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/consistent-type-imports":["error",{disallowTypeAnnotations:!1,fixStyle:"separate-type-imports",prefer:"type-imports"}],"@typescript-eslint/explicit-member-accessibility":"error","@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/member-ordering":["error",{default:["public-static-field","protected-static-field","private-static-field","public-static-method","protected-static-method","private-static-method","public-instance-field","protected-instance-field","private-instance-field","constructor","public-instance-method","protected-instance-method","private-instance-method"]}],"@typescript-eslint/method-signature-style":"error","@typescript-eslint/naming-convention":["error",{format:["camelCase","PascalCase","UPPER_CASE"],selector:"variable"},{format:["camelCase","PascalCase"],selector:"function"},{format:["PascalCase"],selector:"typeLike"}],"@typescript-eslint/no-array-constructor":h["no-array-constructor"],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dupe-class-members":b["no-dupe-class-members"],"@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-empty-function":R["no-empty-function"],"@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-import-type-side-effects":"error","@typescript-eslint/no-invalid-void-type":"warn","@typescript-eslint/no-loop-func":R["no-loop-func"],"@typescript-eslint/no-magic-numbers":R["no-magic-numbers"],"@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"warn","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-redeclare":R["no-redeclare"],"@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-shadow":Q["no-shadow"],"@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/no-unused-expressions":R["no-unused-expressions"],"@typescript-eslint/no-unused-vars":Q["no-unused-vars"],"@typescript-eslint/no-use-before-define":Q["no-use-before-define"],"@typescript-eslint/no-useless-constructor":b["no-useless-constructor"],"@typescript-eslint/no-useless-empty-export":"error","@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/prefer-enum-initializers":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/prefer-string-starts-ends-with":"off","@typescript-eslint/prefer-ts-expect-error":"off","@typescript-eslint/return-await":R["no-return-await"],"@typescript-eslint/semi":"off","@typescript-eslint/sort-type-constituents":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":h["space-infix-ops"],...a,...u?{"@typescript-eslint/block-spacing":"off","@typescript-eslint/brace-style":"off","@typescript-eslint/comma-dangle":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/key-spacing":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/lines-around-comment":0,"@typescript-eslint/member-delimiter-style":"off","@typescript-eslint/no-extra-parens":"off","@typescript-eslint/no-extra-semi":"off","@typescript-eslint/object-curly-spacing":"off","@typescript-eslint/quotes":0,"@typescript-eslint/semi":"off","@typescript-eslint/space-before-blocks":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":"off","@typescript-eslint/type-annotation-spacing":"off"}:{}}}),I}),Tr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t,prettier:a,stylistic:c=!0}=e,{indent:p=4}=typeof c=="boolean"?{}:c,u=await l(import("eslint-plugin-unicorn"));return[{languageOptions:{globals:W.builtin},name:"anolilab/unicorn/plugin",plugins:{unicorn:u}},{files:o,name:"anolilab/unicorn/rules",rules:{...u.configs.recommended.rules,"unicorn/better-regex":"off","unicorn/consistent-destructuring":"off","unicorn/consistent-function-scoping":"off","unicorn/filename-case":["error",{case:"kebabCase",ignore:[/(FUNDING\.yml|README\.md|CHANGELOG\.md|CONTRIBUTING\.md|CODE_OF_CONDUCT\.md|SECURITY\.md|LICENSE)/u]}],"unicorn/no-abusive-eslint-disable":"error","unicorn/no-array-for-each":"off","unicorn/no-instanceof-builtins":"error","unicorn/no-useless-undefined":"off","unicorn/prefer-at":"off","unicorn/prefer-json-parse-buffer":"off","unicorn/prefer-module":t.type==="module"?"error":"off","unicorn/prefer-node-protocol":"error","unicorn/prefer-ternary":["error","only-single-line"],...a?{"unicorn/empty-brace-spaces":"off","unicorn/no-nested-ternary":"off","unicorn/number-literal-case":"off","unicorn/template-indent":"off"}:{"unicorn/template-indent":["error",{indent:p}]},...s}},{files:["tsconfig.dev.json","tsconfig.prod.json"],name:"anolilab/unicorn/tsconfig-overrides",rules:{"unicorn/prevent-abbreviations":"off"}},{files:["**/*.ts","**/*.tsx","**/*.mts","**/*.cts"],name:"anolilab/unicorn/ts-overrides",rules:{"unicorn/import-style":"off"}}]});var Nr=Object.defineProperty,Jr=w((e,r)=>Nr(e,"name",{value:r,configurable:!0}),"n$2");const Ur=Jr(async e=>{const{attributify:r=!0,strict:o=!1}=e;return[{name:"anolilab/unocss",plugins:{unocss:await l(import("@unocss/eslint-plugin"))},rules:{"unocss/order":"warn",...r?{"unocss/order-attributify":"warn"}:{},...o?{"unocss/blocklist":"error"}:{}}}]},"unocss"),Lr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-validate-jsx-nesting"));return[{files:o,name:"anolilab/validate-jsx-nesting/setup",plugins:{"validate-jsx-nesting":t},rules:{"validate-jsx-nesting/no-invalid-jsx-nesting":"error",...s}}]}),$r={suite:!0,test:!0,chai:!0,describe:!0,it:!0,expectTypeOf:!0,assertType:!0,expect:!0,assert:!0,vitest:!0,vi:!0,beforeAll:!0,afterAll:!0,beforeEach:!0,afterEach:!0,onTestFailed:!0,onTestFinished:!0};let re;const Gr=n.createConfig("vitest",async(e,r)=>{const{files:o=r,isInEditor:s=!1,overrides:t,prettier:a,tsconfigPath:c}=e,[p,u]=await Promise.all([l(import("@vitest/eslint-plugin")),l(import("eslint-plugin-no-only-tests"))]);return re=re||{...p,rules:{...p.rules,...u.rules}},[{name:"anolilab/vitest/setup",plugins:{vitest:re}},{files:o,...c?{...p.configs.env,settings:{vitest:{typecheck:!0}}}:{},languageOptions:{globals:{...$r}},name:"anolilab/vitest/rules",rules:{...p.configs.all.rules,...p.configs.recommended.rules,"@typescript-eslint/explicit-function-return-type":"off","antfu/no-top-level-await":"off","n/prefer-global/process":"off","no-unused-expressions":"off","vitest/consistent-test-it":["error",{fn:"it",withinDescribe:"it"}],"vitest/max-expects":"off","vitest/no-hooks":"off","vitest/no-mocks-import":"off","vitest/no-only-tests":s?"off":"error","vitest/no-restricted-vi-methods":"off","vitest/no-standalone-expect":"error","vitest/valid-expect":["error",{alwaysAwait:!0,maxArgs:2,minArgs:1}],"vitest/valid-title":"off",...t,...a?{"vitest/padding-around-after-all-blocks":"off","vitest/padding-around-after-each-blocks":"off","vitest/padding-around-all":"off","vitest/padding-around-before-all-blocks":"off","vitest/padding-around-before-each-blocks":"off","vitest/padding-around-describe-blocks":"off","vitest/padding-around-expect-blocks":"off","vitest/padding-around-test-blocks":"off"}:{}}}]}),Rr=n.createConfig("yaml",async(e,r)=>{const{files:o=r,overrides:s={},prettier:t,stylistic:a=!0}=e,{indent:c=4,quotes:p="double"}=typeof a=="boolean"?{}:a,[u,h]=await Promise.all([l(import("eslint-plugin-yml")),l(import("yaml-eslint-parser"))]);return[{files:o,languageOptions:{parser:h},name:"anolilab/yaml",plugins:{yaml:u},rules:{"@stylistic/spaced-comment":"off","yaml/block-mapping":"error","yaml/block-sequence":"error","yaml/no-empty-key":"error","yaml/no-empty-sequence-entry":"error","yaml/no-irregular-whitespace":"error","yaml/plain-scalar":"error","yaml/vue-custom-block/no-parsing-error":"error",...a?{"yaml/block-mapping-question-indicator-newline":"error","yaml/block-sequence-hyphen-indicator-newline":"error","yaml/flow-mapping-curly-newline":"error","yaml/flow-mapping-curly-spacing":"error","yaml/flow-sequence-bracket-newline":"error","yaml/flow-sequence-bracket-spacing":"error","yaml/indent":[t?"off":"error",c==="tab"?2:c],"yaml/key-spacing":"error","yaml/no-tab-indent":"error","yaml/quotes":["error",{avoidEscape:!0,prefer:p==="backtick"?"single":p}],"yaml/spaced-comment":"error"}:{},...t?u.configs.prettier.rules:{},...s}},{files:["pnpm-workspace.yaml"],name:"anolilab/yaml/pnpm-workspace",rules:{"yaml/sort-keys":["error",{order:["packages","overrides","patchedDependencies","hoistPattern","catalog","catalogs","allowedDeprecatedVersions","allowNonAppliedPatches","configDependencies","ignoredBuiltDependencies","ignoredOptionalDependencies","neverBuiltDependencies","onlyBuiltDependencies","onlyBuiltDependenciesFile","packageExtensions","peerDependencyRules","supportedArchitectures"],pathPattern:"^$"}]}}]}),Mr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-you-dont-need-lodash-underscore"));return[{files:o,plugins:{"you-dont-need-lodash-underscore":le.fixupPluginRules(t)},rules:{...t.configs.all.rules,...s}}]}),zr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-zod"));return[{files:o,plugins:{zod:t},rules:{"zod/prefer-enum":"error","zod/require-strict":"error",...s}}]});var Vr=Object.defineProperty,Br=w((e,r)=>Vr(e,"name",{value:r,configurable:!0}),"e$1");const Wr=Br(()=>!!(process.env.GIT_PARAMS||process.env.VSCODE_GIT_COMMAND||process.env.npm_lifecycle_script?.startsWith("lint-staged")),"isInGitHooksOrLintStaged");var Xr=Object.defineProperty,Hr=w((e,r)=>Xr(e,"name",{value:r,configurable:!0}),"e");const Kr=Hr(()=>process.env.CI||Wr()?!1:!!(process.env.VSCODE_PID??process.env.VSCODE_CWD??process.env.JETBRAINS_IDE??process.env.VIM??process.env.NVIM),"isInEditorEnvironment");var Qr=Object.defineProperty,X=w((e,r)=>Qr(e,"name",{value:r,configurable:!0}),"p");const Yr=["name","languageOptions","linterOptions","processor","plugins","rules","settings"],H=X((e,r)=>typeof e[r]=="boolean"?{}:e[r]||{},"resolveSubOptions"),d=X((e,r)=>{const o=H(e,r);return{...e.overrides?.[r],..."overrides"in o?o.overrides:{}}},"getOverrides"),y=X((e,r)=>{const o=H(e,r);if("files"in o)return typeof o.files=="string"?[o.files]:o.files},"getFiles"),Zr=X(async(e={},...r)=>{if("files"in e)throw new Error('[@anolilab/eslint-config] The first argument should not contain the "files" property as the options are supposed to be global. Place it in the second or later config instead.');const o=e.cwd??process.cwd(),s=m.parsePackageJson(je.readFileSync(ve.join(o,"package.json"),"utf8")),t=m.hasPackageJsonAnyDependency(s,["prettier"]),a=m.hasPackageJsonAnyDependency(s,["@anolilab/eslint-config"]),c=m.hasPackageJsonAnyDependency(s,["react","react-dom"]),p=s?.dependencies?.react??s?.devDependencies?.react;let u=!1;if(p!==void 0){const f=se.parse(p);f?.major&&f.major>=19&&(u=!0)}let h=!1;const b=s?.dependencies?.tailwindcss??s?.devDependencies?.tailwindcss;if(b){const f=se.parse(b);f?.major&&f.major<=3&&(h=!0)}const{astro:E=m.hasPackageJsonAnyDependency(s,["astro"]),componentExts:v=[],css:k=m.hasPackageJsonAnyDependency(s,["postcss","cssnano"]),gitignore:U=!0,html:M=!1,jsx:D=m.hasPackageJsonAnyDependency(s,["eslint-plugin-jsx-a11y","eslint-plugin-validate-jsx-nesting"])||c,lodash:z=m.hasPackageJsonAnyDependency(s,["lodash","underscore","lodash-es","@types/lodash","lodash.chunk","lodash.compact","lodash.concat","lodash.difference","lodash.differenceby","lodash.differencewith","lodash.drop","lodash.dropright","lodash.droprightwhile","lodash.dropwhile","lodash.fill","lodash.findindex","lodash.findlastindex","lodash.flatten","lodash.flattendeep","lodash.flattendepth","lodash.frompairs","lodash.head","lodash.indexof","lodash.initial","lodash.intersection","lodash.intersectionby","lodash.intersectionwith","lodash.join","lodash.last","lodash.lastindexof","lodash.nth","lodash.pull","lodash.pullall","lodash.pullallby","lodash.pullallwith","lodash.pullat","lodash.remove","lodash.reverse","lodash.slice","lodash.sortedindex","lodash.sortedindexby","lodash.sortedindexof","lodash.sortedlastindex","lodash.sortedlastindexby","lodash.sortedlastindexof","lodash.sorteduniq","lodash.sorteduniqby","lodash.tail","lodash.take","lodash.takeright","lodash.takerightwhile","lodash.takewhile","lodash.union","lodash.unionby","lodash.unionwith","lodash.uniq","lodash.uniqby","lodash.uniqwith","lodash.unzip","lodash.unzipwith","lodash.without","lodash.xor","lodash.xorby","lodash.xorwith","lodash.zip","lodash.zipobject","lodash.zipobjectdeep","lodash.zipwith","lodash.countby","lodash.every","lodash.filter","lodash.find","lodash.findlast","lodash.flatmap","lodash.flatmapdeep","lodash.flatmapdepth","lodash.foreach","lodash.foreachright","lodash.groupby","lodash.includes","lodash.invokemap","lodash.keyby","lodash.map","lodash.orderby","lodash.partition","lodash.reduce","lodash.reduceright","lodash.reject","lodash.sample","lodash.samplesize","lodash.shuffle","lodash.size","lodash.some","lodash.sortby","lodash.now","lodash.after","lodash.ary","lodash.before","lodash.bind","lodash.bindkey","lodash.curry","lodash.curryright","lodash.debounce","lodash.defer","lodash.delay","lodash.flip","lodash.memoize","lodash.negate","lodash.once","lodash.overargs","lodash.partial","lodash.partialright","lodash.rearg","lodash.rest","lodash.spread","lodash.throttle","lodash.unary","lodash.wrap","lodash.castarray","lodash.clone","lodash.clonedeep","lodash.clonedeepwith","lodash.clonewith","lodash.conformsto","lodash.eq","lodash.gt","lodash.gte","lodash.isarguments","lodash.isarray","lodash.isarraybuffer","lodash.isarraylike","lodash.isarraylikeobject","lodash.isboolean","lodash.isbuffer","lodash.isdate","lodash.iselement","lodash.isempty","lodash.isequal","lodash.isequalwith","lodash.iserror","lodash.isfinite","lodash.isfunction","lodash.isinteger","lodash.islength","lodash.ismap","lodash.ismatch","lodash.ismatchwith","lodash.isnan","lodash.isnative","lodash.isnil","lodash.isnull","lodash.isnumber","lodash.isobject","lodash.isobjectlike","lodash.isplainobject","lodash.isregexp","lodash.issafeinteger","lodash.isset","lodash.isstring","lodash.issymbol","lodash.istypedarray","lodash.isundefined","lodash.isweakmap","lodash.isweakset","lodash.lt","lodash.lte","lodash.toarray","lodash.tofinite","lodash.tointeger","lodash.tolength","lodash.tonumber","lodash.toplainobject","lodash.tosafeinteger","lodash.tostring","lodash.add","lodash.ceil","lodash.divide","lodash.floor","lodash.max","lodash.maxby","lodash.mean","lodash.meanby","lodash.min","lodash.minby","lodash.multiply","lodash.round","lodash.subtract","lodash.sum","lodash.sumby","lodash.clamp","lodash.inrange","lodash.random","lodash.assign","lodash.assignin","lodash.assigninwith","lodash.assignwith","lodash.at","lodash.create","lodash.defaults","lodash.defaultsdeep","lodash.findkey","lodash.findlastkey","lodash.forin","lodash.forinright","lodash.forown","lodash.forownright","lodash.functions","lodash.functionsin","lodash.get","lodash.has","lodash.hasin","lodash.invert","lodash.invertby","lodash.invoke","lodash.keys","lodash.keysin","lodash.mapkeys","lodash.mapvalues","lodash.merge","lodash.mergewith","lodash.omit","lodash.omitby","lodash.pick","lodash.pickby","lodash.result","lodash.set","lodash.setwith","lodash.topairs","lodash.topairsin","lodash.transform","lodash.unset","lodash.update","lodash.updatewith","lodash.values","lodash.valuesin","lodash.chain","lodash.tap","lodash.thru","lodash.camelcase","lodash.capitalize","lodash.deburr","lodash.endswith","lodash.escape","lodash.escaperegexp","lodash.kebabcase","lodash.lowercase","lodash.lowerfirst","lodash.pad","lodash.padend","lodash.padstart","lodash.parseint","lodash.repeat","lodash.replace","lodash.snakecase","lodash.split","lodash.startcase","lodash.startswith","lodash.template","lodash.tolower","lodash.toupper","lodash.trim","lodash.trimend","lodash.trimstart","lodash.truncate","lodash.unescape","lodash.uppercase","lodash.upperfirst","lodash.words","lodash.attempt","lodash.bindall","lodash.cond","lodash.conforms","lodash.constant","lodash.defaultto","lodash.flow","lodash.flowright","lodash.identity","lodash.iteratee","lodash.matches","lodash.matchesproperty","lodash.method","lodash.methodof","lodash.mixin","lodash.noconflict","lodash.noop","lodash.ntharg","lodash.over","lodash.overevery","lodash.oversome","lodash.property","lodash.propertyof","lodash.range","lodash.rangeright","lodash.runincontext","lodash.stubarray","lodash.stubfalse","lodash.stubobject","lodash.stubstring","lodash.stubtrue","lodash.times","lodash.topath","lodash.uniqueid"]),playwright:A=m.hasPackageJsonAnyDependency(s,["playwright","eslint-plugin-playwright"]),react:F=c||m.hasPackageJsonAnyDependency(s,["eslint-plugin-react","eslint-plugin-react-hooks","eslint-plugin-react-refresh","@eslint-react/eslint-plugin","eslint-plugin-react-perf","eslint-plugin-react-you-might-not-need-an-effect"]),reactCompiler:I=u,regexp:S=!0,silent:L=!1,storybook:$=m.hasPackageJsonAnyDependency(s,["storybook","eslint-plugin-storybook"]),tailwindcss:C=h,tanstackQuery:N=m.hasPackageJsonAnyDependency(s,["@tanstack/react-query"]),tanstackRouter:_=m.hasPackageJsonAnyDependency(s,["@tanstack/react-router"]),testingLibrary:T=m.hasPackageJsonAnyDependency(s,["@testing-library/dom","@testing-library/react"]),tsdoc:J=!1,typescript:G=m.hasPackageJsonAnyDependency(s,["typescript"]),unicorn:P=!0,unocss:te=!1,vitest:me=m.hasPackageJsonAnyDependency(s,["vitest"]),zod:ne=m.hasPackageJsonAnyDependency(s,["zod"])}=e;if(a){let f=[];ne&&f.push("eslint-plugin-zod"),te&&f.push("@unocss/eslint-plugin"),N&&f.push("@tanstack/eslint-plugin-query"),_&&f.push("@tanstack/eslint-plugin-router"),(k||C)&&f.push("@eslint/css"),C&&f.push("eslint-plugin-tailwindcss"),$&&f.push("eslint-plugin-storybook"),F&&f.push("eslint-plugin-react","eslint-plugin-react-hooks","eslint-plugin-react-refresh","@eslint-react/eslint-plugin","eslint-plugin-react-perf","eslint-plugin-react-you-might-not-need-an-effect"),F&&I&&f.push("eslint-plugin-react-compiler"),T&&f.push("eslint-plugin-testing-library"),D&&f.push("eslint-plugin-jsx-a11y","eslint-plugin-validate-jsx-nesting"),z&&f.push("eslint-plugin-you-dont-need-lodash-underscore"),J&&f.push("eslint-plugin-tsdoc"),e.formatters&&f.push("eslint-plugin-format"),A&&f.push("eslint-plugin-playwright"),E&&(f.push("eslint-plugin-astro","astro-eslint-parser"),typeof e.formatters=="object"&&e.formatters.astro&&f.push("prettier-plugin-astro")),typeof e.formatters=="object"&&(e.formatters?.markdown&&e.formatters?.slidev&&f.push("prettier-plugin-slidev"),(e.formatters?.xml||e.formatters?.svg)&&f.push("@prettier/plugin-xml")),f=f.filter(Boolean),f.length>0&&await m.ensurePackages(s,f,"devDependencies",{confirm:{message:X(B=>`@anolilab/eslint-config requires the following ${B.length===1?"package":"packages"} to be installed:
14
+ `))}E=E&&p!==!1;let G;return E&&(console.info(`@anolilab/eslint-config enabling react-compiler plugin
15
+ `),G=await l(import("eslint-plugin-react-compiler"))),[{name:"anolilab/react/setup",plugins:{react:v,"react-dom":N["@eslint-react/dom"],"react-hooks":A,"react-hooks-extra":N["@eslint-react/hooks-extra"],"react-naming-convention":N["@eslint-react/naming-convention"],"react-perf":O,"react-refresh":I,"react-web-api":N["@eslint-react/web-api"],"react-x":N["@eslint-react"],"react-you-might-not-need-an-effect":L,...E&&G?G.configs.recommended.plugins:{}}},{files:o,languageOptions:{globals:{...B.browser},parserOptions:{ecmaFeatures:{jsx:!0}}},name:"anolilab/react/rules",rules:{"class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-quotes":["error","prefer-double"],"no-underscore-dangle":["error",{...oe,allow:[...oe.allow,"__REDUX_DEVTOOLS_EXTENSION_COMPOSE__"]}],"react-hooks-extra/no-direct-set-state-in-use-effect":"error","react-hooks-extra/no-unnecessary-use-callback":"error","react-hooks-extra/no-unnecessary-use-memo":"error","react-hooks-extra/no-unnecessary-use-prefix":"error","react-hooks-extra/prefer-use-state-lazy-initialization":"error","react-hooks/exhaustive-deps":"error","react-hooks/rules-of-hooks":"error","react-naming-convention/component-name":"error","react-naming-convention/context-name":"error","react-naming-convention/filename":"off","react-naming-convention/use-state":"error","react-refresh/only-export-components":["error",{allowConstantExport:T,allowExportNames:[...H?["dynamic","dynamicParams","revalidate","fetchCache","runtime","preferredRegion","maxDuration","config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...q||$?["meta","links","headers","loader","action","clientLoader","clientAction","handle","shouldRevalidate"]:[]]}],"react-web-api/no-leaked-event-listener":"error","react-web-api/no-leaked-interval":"error","react-web-api/no-leaked-resize-observer":"error","react-web-api/no-leaked-timeout":"error","react-x/avoid-shorthand-boolean":"off","react-x/avoid-shorthand-fragment":"off","react-x/jsx-key-before-spread":"error","react-x/jsx-no-duplicate-props":"error","react-x/jsx-no-undef":"off","react-x/jsx-uses-react":J?"off":"error","react-x/jsx-uses-vars":"error","react-x/no-access-state-in-setstate":"error","react-x/no-array-index-key":"error","react-x/no-children-count":"error","react-x/no-children-for-each":"error","react-x/no-children-map":"error","react-x/no-children-only":"error","react-x/no-children-prop":"off","react-x/no-children-to-array":"error","react-x/no-class-component":"off","react-x/no-clone-element":"error","react-x/no-comment-textnodes":"error","react-x/no-complex-conditional-rendering":"off","react-x/no-component-will-mount":"error","react-x/no-component-will-receive-props":"error","react-x/no-component-will-update":"error","react-x/no-context-provider":"error","react-x/no-create-ref":"error","react-x/no-default-props":"error","react-x/no-direct-mutation-state":"error","react-x/no-duplicate-key":"error","react-x/no-forward-ref":"error","react-x/no-implicit-key":"error","react-x/no-missing-component-display-name":"off","react-x/no-missing-context-display-name":"off","react-x/no-missing-key":"error","react-x/no-misused-capture-owner-stack":"off","react-x/no-nested-component-definitions":"error","react-x/no-nested-lazy-component-declarations":"error","react-x/no-prop-types":"error","react-x/no-redundant-should-component-update":"error","react-x/no-set-state-in-component-did-mount":"error","react-x/no-set-state-in-component-did-update":"error","react-x/no-set-state-in-component-will-update":"error","react-x/no-string-refs":"error","react-x/no-unsafe-component-will-mount":"error","react-x/no-unsafe-component-will-receive-props":"error","react-x/no-unsafe-component-will-update":"error","react-x/no-unstable-context-value":"error","react-x/no-unstable-default-props":"error","react-x/no-unused-class-component-members":"error","react-x/no-unused-state":"error","react-x/no-use-context":"error","react-x/no-useless-forward-ref":"error","react-x/no-useless-fragment":"off","react-x/prefer-destructuring-assignment":"off","react-x/prefer-react-namespace-import":"off","react-x/prefer-read-only-props":"off","react-x/prefer-shorthand-boolean":"off","react-x/prefer-shorthand-fragment":"off","react/boolean-prop-naming":["off",{message:"",propTypeNames:["bool","mutuallyExclusiveTrueProps"],rule:"^(is|has)[A-Z]([A-Za-z0-9]?)+"}],"react/button-has-type":["error",{button:!0,reset:!1,submit:!0}],"react/default-props-match-prop-types":["error",{allowRequiredDefaults:!1}],"react/destructuring-assignment":["error","always"],"react/display-name":["off",{ignoreTranspilerName:!1}],"react/forbid-component-props":["off",{forbid:[]}],"react/forbid-dom-props":["off",{forbid:[]}],"react/forbid-elements":["off",{forbid:[]}],"react/forbid-foreign-prop-types":["error",{allowInPropTypes:!0}],"react/forbid-prop-types":["error",{checkChildContextTypes:!0,checkContextTypes:!0,forbid:["any","array","object"]}],"react/function-component-definition":["error",{namedComponents:"arrow-function",unnamedComponents:"arrow-function"}],"react/jsx-boolean-value":["error","never",{always:[]}],"react/jsx-child-element-spacing":"off","react/jsx-closing-bracket-location":["error","line-aligned"],"react/jsx-curly-brace-presence":["error",{children:"never",props:"never"}],"react/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"react/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"react/jsx-equals-spacing":["error","never"],"react/jsx-first-prop-new-line":["error","multiline-multiprop"],"react/jsx-fragments":["error","syntax"],"react/jsx-handler-names":["off",{eventHandlerPrefix:"handle",eventHandlerPropPrefix:"on"}],"react/jsx-indent":["error",C,{checkAttributes:!0,indentLogicalExpressions:!0}],"react/jsx-indent-props":["error",C],"react/jsx-key":"off","react/jsx-max-depth":"off","react/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"react/jsx-newline":"off","react/jsx-no-bind":["error",{allowArrowFunctions:!0,allowBind:!1,allowFunctions:!1,ignoreDOMComponents:!0,ignoreRefs:!0}],"react/jsx-no-comment-textnodes":"off","react/jsx-no-constructed-context-values":"error","react/jsx-no-duplicate-props":"off","react/jsx-no-literals":["off",{noStrings:!0}],"react/jsx-no-script-url":["error",[{name:"Link",props:["to"]}]],"react/jsx-no-target-blank":["error",{enforceDynamicLinks:"always"}],"react/jsx-no-undef":"off","react/jsx-no-useless-fragment":"off","react/jsx-one-expression-per-line":["error",{allow:"single-child"}],"react/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],"react/jsx-props-no-multi-spaces":"error","react/jsx-props-no-spreading":["error",{custom:"enforce",exceptions:[],explicitSpread:"ignore",html:"enforce"}],"react/jsx-sort-props":"off","react/jsx-space-before-closing":["off","always"],"react/jsx-tag-spacing":["error",{afterOpening:"never",beforeClosing:"never",beforeSelfClosing:"always",closingSlash:"never"}],"react/jsx-uses-react":"off","react/jsx-uses-vars":"off","react/no-access-state-in-setstate":"off","react/no-adjacent-inline-elements":"error","react/no-array-index-key":"off","react/no-children-prop":"off","react/no-danger":"error","react/no-danger-with-children":"error","react/no-deprecated":["error"],"react/no-did-mount-set-state":"off","react/no-did-update-set-state":"error","react/no-direct-mutation-state":"off","react/no-find-dom-node":"error","react/no-is-mounted":"error","react/no-multi-comp":"off","react/no-redundant-should-component-update":"off","react/no-render-return-value":"error","react/no-set-state":"off","react/no-string-refs":"off","react/no-this-in-sfc":"error","react/no-unescaped-entities":"error","react/no-unknown-property":"error","react/no-unsafe":"off","react/no-unused-prop-types":["error",{customValidators:[],skipShapeProps:!0}],"react/no-unused-state":"off","react/no-will-update-set-state":"error","react/prefer-es6-class":["error","always"],"react/prefer-read-only-props":"off","react/prefer-stateless-function":["error",{ignorePureComponents:!0}],"react/prop-types":"off","react/react-in-jsx-scope":J?"off":"error","react/require-default-props":"off","react/require-optimization":["off",{allowDecorators:[]}],"react/require-render-return":"error","react/self-closing-comp":"error","react/sort-comp":["error",{groups:{lifecycle:["displayName","propTypes","contextTypes","childContextTypes","mixins","statics","defaultProps","constructor","getDefaultProps","getInitialState","state","getChildContext","getDerivedStateFromProps","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","getSnapshotBeforeUpdate","componentDidUpdate","componentDidCatch","componentWillUnmount"],rendering:["/^render.+$/","render"]},order:["static-variables","static-methods","instance-variables","lifecycle","/^handle.+$/","/^on.+$/","getters","setters","/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/","instance-methods","everything-else","rendering"]}],"react/sort-default-props":["error",{ignoreCase:!0}],"react/sort-prop-types":["off",{callbacksLast:!1,ignoreCase:!0,requiredFirst:!1,sortShapeProp:!0}],"react/state-in-constructor":["error","never"],"react/static-property-placement":["error","static public field"],"react/style-prop-object":"error","react/void-dom-elements-no-children":"error",...E&&G?{"react-compiler/react-compiler":"error"}:{},...O?.configs?.flat?.recommended?.rules,...L?.configs?.recommended?.rules,...J?v?.configs?.flat?.["jsx-runtime"]?.rules:{},...c?{"react/jsx-child-element-spacing":"off","react/jsx-closing-bracket-location":"off","react/jsx-closing-tag-location":"off","react/jsx-curly-newline":"off","react/jsx-curly-spacing":"off","react/jsx-equals-spacing":"off","react/jsx-first-prop-new-line":"off","react/jsx-indent":"off","react/jsx-indent-props":"off","react/jsx-max-props-per-line":"off","react/jsx-newline":"off","react/jsx-one-expression-per-line":"off","react/jsx-props-no-multi-spaces":"off","react/jsx-tag-spacing":"off","react/jsx-wrap-multilines":"off"}:{},...t},settings:{propWrapperFunctions:["forbidExtraProps","exact","Object.freeze"],react:{version:S??"detect"},"react-x":{version:S??"detect"}}},{files:["**/*.jsx"],languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}},...J?v?.configs?.flat?.["jsx-runtime"]?.languageOptions?.parserOptions:{}},name:"anolilab/react/jsx",rules:{"react-x/naming-convention/filename-extension":["error","as-needed"],"react/jsx-closing-tag-location":"error","react/jsx-filename-extension":"off","react/jsx-wrap-multilines":["error",{arrow:"parens-new-line",assignment:"parens-new-line",condition:"parens-new-line",declaration:"parens-new-line",logical:"parens-new-line",prop:"parens-new-line",return:"parens-new-line"}],"react/no-typos":"error"},settings:{extensions:[".jsx"]}},{files:["**/*.tsx"],name:"anolilab/react/tsx",rules:{"react/default-props-match-prop-types":"off","react/jsx-filename-extension":"off","react/prop-types":"off","react/require-default-props":"off"}},{files:n.getFilesGlobs("storybook"),name:"anolilab/react/storybook",rules:{"react/jsx-props-no-spreading":"off"}},...P?[{files:s,ignores:k,name:"anolilab/react/type-aware-rules",rules:{...U}}]:[]]}),jr=n.createConfig("all",async(e,r)=>{const{files:o=r,level:s,overrides:t}=e,a=Oe.configs["flat/recommended"],c={...a.rules};if(s==="warn")for(const p in c)c[p]==="error"&&(c[p]="warn");return[{...a,files:o,name:"anolilab/regexp/rules",rules:{...c,...t}}]}),vr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-simple-import-sort"));return[{files:o,name:"anolilab/simple-import-sort",plugins:{"simple-import-sort":t},rules:{"simple-import-sort/exports":"error","simple-import-sort/imports":"error",...s}}]}),kr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-sonarjs"));return[{name:"anolilab/sonarjs/plugin",plugins:{sonarjs:t}},{files:o,name:"anolilab/sonarjs/rules",rules:{...t.configs.recommended.rules,"sonarjs/file-name-differ-from-class":"error","sonarjs/no-collapsible-if":"error","sonarjs/no-nested-template-literals":"off","sonarjs/no-tab":"error","sonarjs/todo-tag":"off",...s}},{files:n.getFilesGlobs("js_and_ts"),name:"anolilab/sonarjs/js-and-ts-rules",rules:{"sonarjs/cognitive-complexity":["error",15],"sonarjs/no-duplicate-string":"off"}},{files:n.getFilesGlobs("js"),languageOptions:{ecmaVersion:2020},name:"anolilab/sonarjs/js-rules",rules:{"sonarjs/no-all-duplicated-branches":"off","sonarjs/no-duplicate-string":"off"}}]}),Pr=n.createConfig("storybook",async e=>{const{overrides:r}=e,o=[...(await l(import("eslint-plugin-storybook"))).configs["flat/recommended"]];return o[0].rules={...o[0].rules,...r},o}),Cr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,overrides:s}=e,t=[...(await l(import("eslint-plugin-tailwindcss"))).configs["flat/recommended"]];return t[1].files=o,t[1].rules={...t[1].rules,...s},t}),Or=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("@tanstack/eslint-plugin-query"));return[{files:o,plugins:{"@tanstack/query":t},rules:{...t.configs.recommended.rules,...s}}]}),Dr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("@tanstack/eslint-plugin-router"));return[{files:o,plugins:{"@tanstack/router":t},rules:{...t.configs.recommended.rules,...s}}]}),Fr=n.createConfig("vitest",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t}=e,a=await l(import("eslint-plugin-testing-library")),c=m.hasPackageJsonAnyDependency(t,["react","react-dom","eslint-plugin-react"]);return[{files:o,plugins:{"testing-library":a},rules:{...a.configs["flat/dom"].rules,...c?a.configs["flat/react"].rules:{},...s}}]}),Sr=n.createConfig("toml",async(e,r)=>{const{files:o=r,overrides:s={},stylistic:t=!0}=e,{indent:a=2}=typeof t=="boolean"?{}:t,[c,p]=await Promise.all([l(import("eslint-plugin-toml")),l(import("toml-eslint-parser"))]);return[{files:o,languageOptions:{parser:p},name:"anolilab/toml",plugins:{toml:c},rules:{...t?{"@stylistic/spaced-comment":"off"}:{},"toml/comma-style":"error","toml/keys-order":"error","toml/no-space-dots":"error","toml/no-unreadable-number-separator":"error","toml/precision-of-fractional-seconds":"error","toml/precision-of-integer":"error","toml/tables-order":"error","toml/vue-custom-block/no-parsing-error":"error",...t?{"toml/array-bracket-newline":"error","toml/array-bracket-spacing":"error","toml/array-element-newline":"error","toml/indent":["error",a==="tab"?2:a],"toml/inline-table-curly-spacing":"error","toml/key-spacing":"error","toml/padding-line-between-pairs":"error","toml/padding-line-between-tables":"error","toml/quoted-keys":"error","toml/spaced-comment":"error","toml/table-bracket-spacing":"error"}:{},...s}}]}),_r=n.createConfig("ts",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-tsdoc"));return[{files:o,plugins:{tsdoc:t},rules:{"tsdoc/syntax":"error",...s}}]}),Q={"init-declarations":"off","no-catch-shadow":"off","no-delete-var":"error","no-label-var":"error","no-restricted-globals":["error",{message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite",name:"isFinite"},{message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan",name:"isNaN"},...Fe.map(e=>({message:`Use window.${e} instead. https://github.com/facebook/create-react-app/blob/HEAD/packages/confusing-browser-globals/README.md`,name:e})),{message:"Use `globalThis` instead.",name:"global"},{message:"Use `globalThis` instead.",name:"self"}],"no-shadow":"error","no-shadow-restricted-names":"error","no-undef":"error","no-undef-init":"error","no-undefined":"off","no-unused-vars":["error",{args:"after-used",ignoreRestSiblings:!0,vars:"all"}],"no-use-before-define":["error",{classes:!0,functions:!0,variables:!0}]},qr=n.createConfig("all",async(e,r)=>{const{files:o=r}=e;return[{files:o,name:"anolilab/variables/rules",rules:Q},{files:n.getFilesGlobs("ts"),name:"anolilab/variables/ts-rules",rules:{"no-shadow":"off","no-undef":"off","no-unused-vars":"off","no-use-before-define":"off"}}]});var Er=Object.defineProperty,Ar=w((e,r)=>Er(e,"name",{value:r,configurable:!0}),"b");const Ir=n.createConfig("ts",async(e,r)=>{const{componentExts:o=[],files:s=r,isInEditor:t=!1,overrides:a,overridesTypeAware:c,parserOptions:p,prettier:u}=e,h=ue,b=pe(t),[k,P]=await Promise.all([l(import("typescript-eslint")),l(import("eslint-plugin-no-for-of-array"))]),C=e.filesTypeAware??n.getFilesGlobs("ts"),U=[...n.getFilesGlobs("astro"),...n.getFilesGlobs("markdown"),...n.getFilesGlobs("js"),...n.getFilesGlobs("jsx"),"**/*.json","**/*.jsonc",...e.ignoresTypeAware??[]],{tsconfigPath:V}=e;let{isTypeAware:v=!0}=e;v=v&&V!==void 0;const A=Ar((O,L,T)=>({files:[...L,...o.map(q=>`**/*.${q}`)],...T?{ignores:T}:{},languageOptions:{parser:k.parser,parserOptions:{extraFileExtensions:o.map(q=>`.${q}`),sourceType:"module",...O?{projectService:!0,tsconfigRootDir:process.cwd()}:{},...p}},name:`anolilab/typescript/${O?"type-aware-parser":"parser"}`}),"makeParser"),I=[{name:"anolilab/typescript/setup",plugins:{"@typescript-eslint":k.plugin,"no-for-of-array":P}},...v?[A(!1,s),A(!0,C,U)]:[A(!1,s)],...k.configs.strict];return v&&I.push(...k.configs.strictTypeCheckedOnly,{files:[...C,...o.map(O=>`**/*.${O}`)],name:"anolilab/typescript/rules-type-aware",rules:{"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/no-unsafe-argument":"error","@typescript-eslint/no-unsafe-assignment":"error","@typescript-eslint/no-unsafe-call":"error","@typescript-eslint/no-unsafe-member-access":"error","@typescript-eslint/no-unsafe-return":"error","@typescript-eslint/prefer-nullish-coalescing":"error","@typescript-eslint/prefer-optional-chain":"error",...c}},{files:n.getFilesGlobs("all"),name:"anolilab/typescript/no-for-of-array/rules",rules:{"no-for-of-array/no-for-of-array":"error"}}),I.push({files:s,name:"anolilab/typescript/rules",rules:{"@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/array-type":["error",{default:"array",readonly:"generic"}],"@typescript-eslint/ban-ts-comment":["error",{minimumDescriptionLength:3,"ts-check":!1,"ts-expect-error":"allow-with-description","ts-ignore":"allow-with-description","ts-nocheck":!0}],"@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/consistent-type-imports":["error",{disallowTypeAnnotations:!1,fixStyle:"separate-type-imports",prefer:"type-imports"}],"@typescript-eslint/explicit-member-accessibility":"error","@typescript-eslint/explicit-module-boundary-types":"error","@typescript-eslint/member-ordering":["error",{default:["public-static-field","protected-static-field","private-static-field","public-static-method","protected-static-method","private-static-method","public-instance-field","protected-instance-field","private-instance-field","constructor","public-instance-method","protected-instance-method","private-instance-method"]}],"@typescript-eslint/method-signature-style":"error","@typescript-eslint/naming-convention":["error",{format:["camelCase","PascalCase","UPPER_CASE"],selector:"variable"},{format:["camelCase","PascalCase"],selector:"function"},{format:["PascalCase"],selector:"typeLike"}],"@typescript-eslint/no-array-constructor":h["no-array-constructor"],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dupe-class-members":b["no-dupe-class-members"],"@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-empty-function":R["no-empty-function"],"@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-import-type-side-effects":"error","@typescript-eslint/no-invalid-void-type":"warn","@typescript-eslint/no-loop-func":R["no-loop-func"],"@typescript-eslint/no-magic-numbers":R["no-magic-numbers"],"@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"warn","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-redeclare":R["no-redeclare"],"@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-shadow":Q["no-shadow"],"@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/no-unused-expressions":R["no-unused-expressions"],"@typescript-eslint/no-unused-vars":Q["no-unused-vars"],"@typescript-eslint/no-use-before-define":Q["no-use-before-define"],"@typescript-eslint/no-useless-constructor":b["no-useless-constructor"],"@typescript-eslint/no-useless-empty-export":"error","@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/prefer-enum-initializers":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/prefer-string-starts-ends-with":"off","@typescript-eslint/prefer-ts-expect-error":"off","@typescript-eslint/return-await":R["no-return-await"],"@typescript-eslint/semi":"off","@typescript-eslint/sort-type-constituents":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":h["space-infix-ops"],...a,...u?{"@typescript-eslint/block-spacing":"off","@typescript-eslint/brace-style":"off","@typescript-eslint/comma-dangle":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/key-spacing":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/lines-around-comment":0,"@typescript-eslint/member-delimiter-style":"off","@typescript-eslint/no-extra-parens":"off","@typescript-eslint/no-extra-semi":"off","@typescript-eslint/object-curly-spacing":"off","@typescript-eslint/quotes":0,"@typescript-eslint/semi":"off","@typescript-eslint/space-before-blocks":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":"off","@typescript-eslint/type-annotation-spacing":"off"}:{}}}),I}),Tr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s,packageJson:t,prettier:a,stylistic:c=!0}=e,{indent:p=4}=typeof c=="boolean"?{}:c,u=await l(import("eslint-plugin-unicorn"));return[{languageOptions:{globals:B.builtin},name:"anolilab/unicorn/plugin",plugins:{unicorn:u}},{files:o,name:"anolilab/unicorn/rules",rules:{...u.configs.recommended.rules,"unicorn/better-regex":"off","unicorn/consistent-destructuring":"off","unicorn/consistent-function-scoping":"off","unicorn/filename-case":["error",{case:"kebabCase",ignore:[/(FUNDING\.yml|README\.md|CHANGELOG\.md|CONTRIBUTING\.md|CODE_OF_CONDUCT\.md|SECURITY\.md|LICENSE)/u]}],"unicorn/no-abusive-eslint-disable":"error","unicorn/no-array-for-each":"off","unicorn/no-instanceof-builtins":"error","unicorn/no-useless-undefined":"off","unicorn/prefer-at":"off","unicorn/prefer-json-parse-buffer":"off","unicorn/prefer-module":t.type==="module"?"error":"off","unicorn/prefer-node-protocol":"error","unicorn/prefer-ternary":["error","only-single-line"],...a?{"unicorn/empty-brace-spaces":"off","unicorn/no-nested-ternary":"off","unicorn/number-literal-case":"off","unicorn/template-indent":"off"}:{"unicorn/template-indent":["error",{indent:p}]},...s}},{files:["tsconfig.dev.json","tsconfig.prod.json"],name:"anolilab/unicorn/tsconfig-overrides",rules:{"unicorn/prevent-abbreviations":"off"}},{files:["**/*.ts","**/*.tsx","**/*.mts","**/*.cts"],name:"anolilab/unicorn/ts-overrides",rules:{"unicorn/import-style":"off"}}]});var Nr=Object.defineProperty,Jr=w((e,r)=>Nr(e,"name",{value:r,configurable:!0}),"n$2");const Ur=Jr(async e=>{const{attributify:r=!0,strict:o=!1}=e;return[{name:"anolilab/unocss",plugins:{unocss:await l(import("@unocss/eslint-plugin"))},rules:{"unocss/order":"warn",...r?{"unocss/order-attributify":"warn"}:{},...o?{"unocss/blocklist":"error"}:{}}}]},"unocss"),Lr=n.createConfig("jsx_and_tsx",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-validate-jsx-nesting"));return[{files:o,name:"anolilab/validate-jsx-nesting/setup",plugins:{"validate-jsx-nesting":t},rules:{"validate-jsx-nesting/no-invalid-jsx-nesting":"error",...s}}]}),$r={suite:!0,test:!0,chai:!0,describe:!0,it:!0,expectTypeOf:!0,assertType:!0,expect:!0,assert:!0,vitest:!0,vi:!0,beforeAll:!0,afterAll:!0,beforeEach:!0,afterEach:!0,onTestFailed:!0,onTestFinished:!0};let re;const Gr=n.createConfig("vitest",async(e,r)=>{const{files:o=r,isInEditor:s=!1,overrides:t,prettier:a,tsconfigPath:c}=e,[p,u]=await Promise.all([l(import("@vitest/eslint-plugin")),l(import("eslint-plugin-no-only-tests"))]);return re=re||{...p,rules:{...p.rules,...u.rules}},[{name:"anolilab/vitest/setup",plugins:{vitest:re}},{files:o,...c?{...p.configs.env,settings:{vitest:{typecheck:!0}}}:{},languageOptions:{globals:{...$r}},name:"anolilab/vitest/rules",rules:{...p.configs.all.rules,...p.configs.recommended.rules,"@typescript-eslint/explicit-function-return-type":"off","antfu/no-top-level-await":"off","n/prefer-global/process":"off","no-unused-expressions":"off","vitest/consistent-test-it":["error",{fn:"it",withinDescribe:"it"}],"vitest/max-expects":"off","vitest/no-hooks":"off","vitest/no-mocks-import":"off","vitest/no-only-tests":s?"off":"error","vitest/no-restricted-vi-methods":"off","vitest/no-standalone-expect":"error","vitest/valid-expect":["error",{alwaysAwait:!0,maxArgs:2,minArgs:1}],"vitest/valid-title":"off",...t,...a?{"vitest/padding-around-after-all-blocks":"off","vitest/padding-around-after-each-blocks":"off","vitest/padding-around-all":"off","vitest/padding-around-before-all-blocks":"off","vitest/padding-around-before-each-blocks":"off","vitest/padding-around-describe-blocks":"off","vitest/padding-around-expect-blocks":"off","vitest/padding-around-test-blocks":"off"}:{}}}]}),Rr=n.createConfig("yaml",async(e,r)=>{const{files:o=r,overrides:s={},prettier:t,stylistic:a=!0}=e,{indent:c=4,quotes:p="double"}=typeof a=="boolean"?{}:a,[u,h]=await Promise.all([l(import("eslint-plugin-yml")),l(import("yaml-eslint-parser"))]);return[{files:o,languageOptions:{parser:h},name:"anolilab/yaml",plugins:{yaml:u},rules:{"@stylistic/spaced-comment":"off","yaml/block-mapping":"error","yaml/block-sequence":"error","yaml/no-empty-key":"error","yaml/no-empty-sequence-entry":"error","yaml/no-irregular-whitespace":"error","yaml/plain-scalar":"error","yaml/vue-custom-block/no-parsing-error":"error",...a?{"yaml/block-mapping-question-indicator-newline":"error","yaml/block-sequence-hyphen-indicator-newline":"error","yaml/flow-mapping-curly-newline":"error","yaml/flow-mapping-curly-spacing":"error","yaml/flow-sequence-bracket-newline":"error","yaml/flow-sequence-bracket-spacing":"error","yaml/indent":[t?"off":"error",c==="tab"?2:c],"yaml/key-spacing":"error","yaml/no-tab-indent":"error","yaml/quotes":["error",{avoidEscape:!0,prefer:p==="backtick"?"single":p}],"yaml/spaced-comment":"error"}:{},...t?u.configs.prettier.rules:{},...s}},{files:["pnpm-workspace.yaml"],name:"anolilab/yaml/pnpm-workspace",rules:{"yaml/sort-keys":["error",{order:["packages","overrides","patchedDependencies","hoistPattern","catalog","catalogs","allowedDeprecatedVersions","allowNonAppliedPatches","configDependencies","ignoredBuiltDependencies","ignoredOptionalDependencies","neverBuiltDependencies","onlyBuiltDependencies","onlyBuiltDependenciesFile","packageExtensions","peerDependencyRules","supportedArchitectures"],pathPattern:"^$"}]}}]}),Mr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-you-dont-need-lodash-underscore"));return[{files:o,plugins:{"you-dont-need-lodash-underscore":le.fixupPluginRules(t)},rules:{...t.configs.all.rules,...s}}]}),zr=n.createConfig("all",async(e,r)=>{const{files:o=r,overrides:s}=e,t=await l(import("eslint-plugin-zod"));return[{files:o,plugins:{zod:t},rules:{"zod/prefer-enum":"error","zod/require-strict":"error",...s}}]});var Vr=Object.defineProperty,Br=w((e,r)=>Vr(e,"name",{value:r,configurable:!0}),"e$1");const Wr=Br(()=>!!(process.env.GIT_PARAMS||process.env.VSCODE_GIT_COMMAND||process.env.npm_lifecycle_script?.startsWith("lint-staged")),"isInGitHooksOrLintStaged");var Xr=Object.defineProperty,Hr=w((e,r)=>Xr(e,"name",{value:r,configurable:!0}),"e");const Kr=Hr(()=>process.env.CI||Wr()?!1:!!(process.env.VSCODE_PID??process.env.VSCODE_CWD??process.env.JETBRAINS_IDE??process.env.VIM??process.env.NVIM),"isInEditorEnvironment");var Qr=Object.defineProperty,W=w((e,r)=>Qr(e,"name",{value:r,configurable:!0}),"p");const Yr=["name","languageOptions","linterOptions","processor","plugins","rules","settings"],X=W((e,r)=>typeof e[r]=="boolean"?{}:e[r]||{},"resolveSubOptions"),d=W((e,r)=>{const o=X(e,r);return{...e.overrides?.[r],..."overrides"in o?o.overrides:{}}},"getOverrides"),g=W((e,r)=>{const o=X(e,r);if("files"in o)return typeof o.files=="string"?[o.files]:o.files},"getFiles"),Zr=W(async(e={},...r)=>{if("files"in e)throw new Error('[@anolilab/eslint-config] The first argument should not contain the "files" property as the options are supposed to be global. Place it in the second or later config instead.');const o=e.cwd??process.cwd(),s=m.parsePackageJson(je.readFileSync(ve.join(o,"package.json"),"utf8")),t=m.hasPackageJsonAnyDependency(s,["prettier"]),a=m.hasPackageJsonAnyDependency(s,["@anolilab/eslint-config"]),c=m.hasPackageJsonAnyDependency(s,["react","react-dom"]),p=s?.dependencies?.react??s?.devDependencies?.react;let u=!1;if(p!==void 0){const f=se.parse(p);f?.major&&f.major>=19&&(u=!0)}let h=!1;const b=s?.dependencies?.tailwindcss??s?.devDependencies?.tailwindcss;if(b){const f=se.parse(b);f?.major&&f.major<=3&&(h=!0)}const{astro:k=m.hasPackageJsonAnyDependency(s,["astro"]),componentExts:P=[],css:C=m.hasPackageJsonAnyDependency(s,["postcss","cssnano"]),gitignore:U=!0,html:V=!1,jsx:v=m.hasPackageJsonAnyDependency(s,["eslint-plugin-jsx-a11y","eslint-plugin-validate-jsx-nesting"])||c,lodash:A=m.hasPackageJsonAnyDependency(s,["lodash","underscore","lodash-es","@types/lodash","lodash.chunk","lodash.compact","lodash.concat","lodash.difference","lodash.differenceby","lodash.differencewith","lodash.drop","lodash.dropright","lodash.droprightwhile","lodash.dropwhile","lodash.fill","lodash.findindex","lodash.findlastindex","lodash.flatten","lodash.flattendeep","lodash.flattendepth","lodash.frompairs","lodash.head","lodash.indexof","lodash.initial","lodash.intersection","lodash.intersectionby","lodash.intersectionwith","lodash.join","lodash.last","lodash.lastindexof","lodash.nth","lodash.pull","lodash.pullall","lodash.pullallby","lodash.pullallwith","lodash.pullat","lodash.remove","lodash.reverse","lodash.slice","lodash.sortedindex","lodash.sortedindexby","lodash.sortedindexof","lodash.sortedlastindex","lodash.sortedlastindexby","lodash.sortedlastindexof","lodash.sorteduniq","lodash.sorteduniqby","lodash.tail","lodash.take","lodash.takeright","lodash.takerightwhile","lodash.takewhile","lodash.union","lodash.unionby","lodash.unionwith","lodash.uniq","lodash.uniqby","lodash.uniqwith","lodash.unzip","lodash.unzipwith","lodash.without","lodash.xor","lodash.xorby","lodash.xorwith","lodash.zip","lodash.zipobject","lodash.zipobjectdeep","lodash.zipwith","lodash.countby","lodash.every","lodash.filter","lodash.find","lodash.findlast","lodash.flatmap","lodash.flatmapdeep","lodash.flatmapdepth","lodash.foreach","lodash.foreachright","lodash.groupby","lodash.includes","lodash.invokemap","lodash.keyby","lodash.map","lodash.orderby","lodash.partition","lodash.reduce","lodash.reduceright","lodash.reject","lodash.sample","lodash.samplesize","lodash.shuffle","lodash.size","lodash.some","lodash.sortby","lodash.now","lodash.after","lodash.ary","lodash.before","lodash.bind","lodash.bindkey","lodash.curry","lodash.curryright","lodash.debounce","lodash.defer","lodash.delay","lodash.flip","lodash.memoize","lodash.negate","lodash.once","lodash.overargs","lodash.partial","lodash.partialright","lodash.rearg","lodash.rest","lodash.spread","lodash.throttle","lodash.unary","lodash.wrap","lodash.castarray","lodash.clone","lodash.clonedeep","lodash.clonedeepwith","lodash.clonewith","lodash.conformsto","lodash.eq","lodash.gt","lodash.gte","lodash.isarguments","lodash.isarray","lodash.isarraybuffer","lodash.isarraylike","lodash.isarraylikeobject","lodash.isboolean","lodash.isbuffer","lodash.isdate","lodash.iselement","lodash.isempty","lodash.isequal","lodash.isequalwith","lodash.iserror","lodash.isfinite","lodash.isfunction","lodash.isinteger","lodash.islength","lodash.ismap","lodash.ismatch","lodash.ismatchwith","lodash.isnan","lodash.isnative","lodash.isnil","lodash.isnull","lodash.isnumber","lodash.isobject","lodash.isobjectlike","lodash.isplainobject","lodash.isregexp","lodash.issafeinteger","lodash.isset","lodash.isstring","lodash.issymbol","lodash.istypedarray","lodash.isundefined","lodash.isweakmap","lodash.isweakset","lodash.lt","lodash.lte","lodash.toarray","lodash.tofinite","lodash.tointeger","lodash.tolength","lodash.tonumber","lodash.toplainobject","lodash.tosafeinteger","lodash.tostring","lodash.add","lodash.ceil","lodash.divide","lodash.floor","lodash.max","lodash.maxby","lodash.mean","lodash.meanby","lodash.min","lodash.minby","lodash.multiply","lodash.round","lodash.subtract","lodash.sum","lodash.sumby","lodash.clamp","lodash.inrange","lodash.random","lodash.assign","lodash.assignin","lodash.assigninwith","lodash.assignwith","lodash.at","lodash.create","lodash.defaults","lodash.defaultsdeep","lodash.findkey","lodash.findlastkey","lodash.forin","lodash.forinright","lodash.forown","lodash.forownright","lodash.functions","lodash.functionsin","lodash.get","lodash.has","lodash.hasin","lodash.invert","lodash.invertby","lodash.invoke","lodash.keys","lodash.keysin","lodash.mapkeys","lodash.mapvalues","lodash.merge","lodash.mergewith","lodash.omit","lodash.omitby","lodash.pick","lodash.pickby","lodash.result","lodash.set","lodash.setwith","lodash.topairs","lodash.topairsin","lodash.transform","lodash.unset","lodash.update","lodash.updatewith","lodash.values","lodash.valuesin","lodash.chain","lodash.tap","lodash.thru","lodash.camelcase","lodash.capitalize","lodash.deburr","lodash.endswith","lodash.escape","lodash.escaperegexp","lodash.kebabcase","lodash.lowercase","lodash.lowerfirst","lodash.pad","lodash.padend","lodash.padstart","lodash.parseint","lodash.repeat","lodash.replace","lodash.snakecase","lodash.split","lodash.startcase","lodash.startswith","lodash.template","lodash.tolower","lodash.toupper","lodash.trim","lodash.trimend","lodash.trimstart","lodash.truncate","lodash.unescape","lodash.uppercase","lodash.upperfirst","lodash.words","lodash.attempt","lodash.bindall","lodash.cond","lodash.conforms","lodash.constant","lodash.defaultto","lodash.flow","lodash.flowright","lodash.identity","lodash.iteratee","lodash.matches","lodash.matchesproperty","lodash.method","lodash.methodof","lodash.mixin","lodash.noconflict","lodash.noop","lodash.ntharg","lodash.over","lodash.overevery","lodash.oversome","lodash.property","lodash.propertyof","lodash.range","lodash.rangeright","lodash.runincontext","lodash.stubarray","lodash.stubfalse","lodash.stubobject","lodash.stubstring","lodash.stubtrue","lodash.times","lodash.topath","lodash.uniqueid"]),playwright:I=m.hasPackageJsonAnyDependency(s,["playwright","eslint-plugin-playwright"]),react:O=c||m.hasPackageJsonAnyDependency(s,["eslint-plugin-react","eslint-plugin-react-hooks","eslint-plugin-react-refresh","@eslint-react/eslint-plugin","eslint-plugin-react-perf","eslint-plugin-react-you-might-not-need-an-effect"]),reactCompiler:L=u,regexp:T=!0,silent:q=!1,storybook:H=m.hasPackageJsonAnyDependency(s,["storybook","eslint-plugin-storybook"]),tailwindcss:$=h,tanstackQuery:N=m.hasPackageJsonAnyDependency(s,["@tanstack/react-query"]),tanstackRouter:S=m.hasPackageJsonAnyDependency(s,["@tanstack/react-router"]),testingLibrary:E=m.hasPackageJsonAnyDependency(s,["@testing-library/dom","@testing-library/react"]),tsdoc:J=!1,typescript:G=m.hasPackageJsonAnyDependency(s,["typescript"]),unicorn:D=!0,unocss:te=!1,vitest:me=m.hasPackageJsonAnyDependency(s,["vitest"]),zod:ne=m.hasPackageJsonAnyDependency(s,["zod"])}=e;if(a){let f=[];ne&&f.push("eslint-plugin-zod"),te&&f.push("@unocss/eslint-plugin"),N&&f.push("@tanstack/eslint-plugin-query"),S&&f.push("@tanstack/eslint-plugin-router"),(C||$)&&f.push("@eslint/css"),$&&f.push("eslint-plugin-tailwindcss"),H&&f.push("eslint-plugin-storybook"),O&&f.push("eslint-plugin-react","eslint-plugin-react-hooks","eslint-plugin-react-refresh","@eslint-react/eslint-plugin","eslint-plugin-react-perf","eslint-plugin-react-you-might-not-need-an-effect"),O&&L&&f.push("eslint-plugin-react-compiler"),E&&f.push("eslint-plugin-testing-library"),v&&f.push("eslint-plugin-jsx-a11y","eslint-plugin-validate-jsx-nesting"),A&&f.push("eslint-plugin-you-dont-need-lodash-underscore"),J&&f.push("eslint-plugin-tsdoc"),e.formatters&&f.push("eslint-plugin-format"),I&&f.push("eslint-plugin-playwright"),k&&(f.push("eslint-plugin-astro","astro-eslint-parser"),typeof e.formatters=="object"&&e.formatters.astro&&f.push("prettier-plugin-astro")),typeof e.formatters=="object"&&(e.formatters?.markdown&&e.formatters?.slidev&&f.push("prettier-plugin-slidev"),(e.formatters?.xml||e.formatters?.svg)&&f.push("@prettier/plugin-xml")),f=f.filter(Boolean),f.length>0&&await m.ensurePackages(s,f,"devDependencies",{confirm:{message:W(z=>`@anolilab/eslint-config requires the following ${z.length===1?"package":"packages"} to be installed:
16
16
 
17
- "${B.join(`"
17
+ "${z.join(`"
18
18
  "`)}"
19
19
 
20
- for the ESLint configurations to work correctly. Do you want to install ${f.length===1?"it":"them"} now?`,"message")}})}let{isInEditor:V}=e;(V===void 0||!V)&&(V=Kr(),V&&console.log("[@anolilab/eslint-config] Detected running in editor, some rules are disabled."));let x={};e.stylistic===!1?x=!1:typeof e.stylistic=="object"&&(x=e.stylistic),x&&!("jsx"in x)&&(x.jsx=D);const g=[];U&&(typeof U=="boolean"?g.push(l(import("eslint-config-flat-gitignore")).then(f=>[f({name:"anolilab/gitignore",strict:!1})])):g.push(l(import("eslint-config-flat-gitignore")).then(f=>[f({name:"anolilab/gitignore",...U})])));const K=H(e,"typescript"),Y="tsconfigPath"in K?K.tsconfigPath:void 0;if(g.push(Je(e.ignores),er({packageJson:s}),Se({}),qe({}),gr({prettier:t}),Ie({isInEditor:V}),qr({}),Re({files:y(e,"comments"),overrides:d(e,"comments")}),fr({files:y(e,"node"),overrides:d(e,"node"),packageJson:s}),rr({files:y(e,"jsdoc"),jsx:D,overrides:d(e,"jsdoc"),packageJson:s,silent:L,stylistic:x,typescript:G}),Ze({cwd:o,files:y(e,"imports"),overrides:d(e,"imports"),packageJson:s,stylistic:x,tsconfigPath:Y}),vr({files:y(e,"simpleImportSort"),overrides:d(e,"simpleImportSort")}),$e({files:y(e,"antfu"),lessOpinionated:e.lessOpinionated,overrides:d(e,"antfu"),packageJson:s}),cr({overrides:d(e,"noSecrets")}),pr({overrides:d(e,"noUnsanitized")}),mr({files:y(e,"promise"),overrides:d(e,"promise")}),kr({files:y(e,"sonarjs"),overrides:d(e,"sonarjs")}),dr({files:y(e,"perfectionist"),overrides:d(e,"perfectionist"),packageJson:s})),s.browserlist!==void 0&&g.push(Me({files:y(e,"compat")})),P&&g.push(Tr({files:y(e,"unicorn"),overrides:d(e,"unicorn"),packageJson:s,prettier:t,stylistic:x})),z&&g.push(Mr({files:y(e,"lodash"),overrides:d(e,"lodash")})),D&&g.push([{files:n.getFilesGlobs("jsx_and_tsx"),languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},name:"anolilab/jsx/setup"}],nr({files:y(e,"jsx-a11y"),overrides:d(e,"jsx-a11y")}),Lr({files:y(e,"validateJsxNesting"),overrides:d(e,"validateJsxNesting")})),G&&g.push(Ir({...K,componentExts:v,overrides:d(e,"typescript"),prettier:t})),x&&g.push(He({...x,overrides:d(e,"stylistic")})),S&&g.push(jr(typeof S=="boolean"?{}:S)),me&&g.push(Gr({files:y(e,"vitest"),isInEditor:V,overrides:d(e,"vitest"),prettier:t,tsconfigPath:Y})),T&&g.push(Fr({files:y(e,"testingLibrary"),overrides:d(e,"testingLibrary"),packageJson:s})),A&&g.push(ur({files:y(e,"playwright"),overrides:d(e,"playwright")})),$&&g.push(Cr({overrides:d(e,"storybook")})),(k||C)&&g.push(ze({files:y(e,"css"),overrides:d(e,"css"),tailwind:C!==!1})),C&&g.push(Pr({overrides:d(e,"tailwindcss")})),N&&g.push(Or({files:y(e,"tanstackQuery"),overrides:d(e,"tanstackQuery")})),_&&g.push(Dr({files:y(e,"tanstackRouter"),overrides:d(e,"tanstackRouter")})),M&&g.push(Ye({files:y(e,"html"),overrides:d(e,"html"),prettier:t,stylistic:x})),ne&&g.push(zr({files:y(e,"zod"),overrides:d(e,"zod")})),J&&g.push(_r({files:y(e,"tsdoc"),overrides:d(e,"tsdoc")})),F&&g.push(wr({...K,overrides:d(e,"react"),packageJson:s,reactCompiler:I,silent:L,tsconfigPath:Y})),te&&g.push(Ur({...H(e,"unocss"),overrides:d(e,"unocss")})),E&&g.push(Ge({files:y(e,"astro"),overrides:d(e,"astro"),stylistic:x})),(e.jsonc??!0)&&g.push(tr({overrides:d(e,"jsonc"),packageJson:s,prettier:t,silent:L,stylistic:x})),(e.toml??!0)&&g.push(Sr({files:y(e,"toml"),overrides:d(e,"toml"),stylistic:x})),(e.markdown??!0)&&g.push(ar({componentExts:v,files:y(e,"markdown"),overrides:d(e,"markdown")})),(e.yaml??!0)&&g.push(Rr({files:y(e,"yaml"),overrides:d(e,"yaml"),prettier:t,stylistic:x})),e.formatters){const f=m.hasPackageJsonAnyDependency(s,["@prettier/plugin-xml"]);g.push(Qe({astro:m.hasPackageJsonAnyDependency(s,["prettier-plugin-astro"]),css:!0,graphql:!0,html:!0,markdown:!0,slidev:m.hasPackageJsonAnyDependency(s,["@slidev/cli"]),svg:f,xml:f,...typeof e.formatters=="object"?e.formatters:{}},typeof x=="object"?x:{}))}const ae=Yr.reduce((f,B)=>(B in e&&(f[B]=e[B]),f),{});Object.keys(ae).length>0&&g.push([ae]);let Z=new ke.FlatConfigComposer;return Z=Z.append(...g,...r),Z},"createConfig");exports.getFilesGlobs=n.getFilesGlobs;exports.createConfig=Zr;exports.getFiles=y;exports.getOverrides=d;exports.resolveSubOptions=H;
20
+ for the ESLint configurations to work correctly. Do you want to install ${f.length===1?"it":"them"} now?`,"message")}})}let{isInEditor:M}=e;(M===void 0||!M)&&(M=Kr(),M&&console.log("[@anolilab/eslint-config] Detected running in editor, some rules are disabled."));let x={};e.stylistic===!1?x=!1:typeof e.stylistic=="object"&&(x=e.stylistic),x&&!("jsx"in x)&&(x.jsx=v);const y=[];U&&(typeof U=="boolean"?y.push(l(import("eslint-config-flat-gitignore")).then(f=>[f({name:"anolilab/gitignore",strict:!1})])):y.push(l(import("eslint-config-flat-gitignore")).then(f=>[f({name:"anolilab/gitignore",...U})])));const K=X(e,"typescript"),Y="tsconfigPath"in K?K.tsconfigPath:void 0;if(y.push(Je(e.ignores),er({packageJson:s}),Se({}),qe({}),yr({prettier:t}),Ie({isInEditor:M}),qr({}),Re({files:g(e,"comments"),overrides:d(e,"comments")}),fr({files:g(e,"node"),overrides:d(e,"node"),packageJson:s}),rr({files:g(e,"jsdoc"),jsx:v,overrides:d(e,"jsdoc"),packageJson:s,silent:q,stylistic:x,typescript:G}),Ze({cwd:o,files:g(e,"imports"),overrides:d(e,"imports"),packageJson:s,stylistic:x,tsconfigPath:Y}),vr({files:g(e,"simpleImportSort"),overrides:d(e,"simpleImportSort")}),$e({files:g(e,"antfu"),lessOpinionated:e.lessOpinionated,overrides:d(e,"antfu"),packageJson:s}),cr({overrides:d(e,"noSecrets")}),pr({overrides:d(e,"noUnsanitized")}),mr({files:g(e,"promise"),overrides:d(e,"promise")}),kr({files:g(e,"sonarjs"),overrides:d(e,"sonarjs")}),dr({files:g(e,"perfectionist"),overrides:d(e,"perfectionist"),packageJson:s})),s.browserlist!==void 0&&y.push(Me({files:g(e,"compat")})),D&&y.push(Tr({files:g(e,"unicorn"),overrides:d(e,"unicorn"),packageJson:s,prettier:t,stylistic:x})),A&&y.push(Mr({files:g(e,"lodash"),overrides:d(e,"lodash")})),v&&y.push([{files:n.getFilesGlobs("jsx_and_tsx"),languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},name:"anolilab/jsx/setup"}],nr({files:g(e,"jsx-a11y"),overrides:d(e,"jsx-a11y")}),Lr({files:g(e,"validateJsxNesting"),overrides:d(e,"validateJsxNesting")})),G&&y.push(Ir({...K,componentExts:P,overrides:d(e,"typescript"),prettier:t})),x&&y.push(He({...x,overrides:d(e,"stylistic")})),T&&y.push(jr(typeof T=="boolean"?{}:T)),me&&y.push(Gr({files:g(e,"vitest"),isInEditor:M,overrides:d(e,"vitest"),prettier:t,tsconfigPath:Y})),E&&y.push(Fr({files:g(e,"testingLibrary"),overrides:d(e,"testingLibrary"),packageJson:s})),I&&y.push(ur({files:g(e,"playwright"),overrides:d(e,"playwright")})),H&&y.push(Pr({overrides:d(e,"storybook")})),(C||$)&&y.push(ze({files:g(e,"css"),overrides:d(e,"css"),tailwind:$!==!1})),$&&y.push(Cr({overrides:d(e,"tailwindcss")})),N&&y.push(Or({files:g(e,"tanstackQuery"),overrides:d(e,"tanstackQuery")})),S&&y.push(Dr({files:g(e,"tanstackRouter"),overrides:d(e,"tanstackRouter")})),V&&y.push(Ye({files:g(e,"html"),overrides:d(e,"html"),prettier:t,stylistic:x})),ne&&y.push(zr({files:g(e,"zod"),overrides:d(e,"zod")})),J&&y.push(_r({files:g(e,"tsdoc"),overrides:d(e,"tsdoc")})),O&&y.push(wr({...K,overrides:d(e,"react"),packageJson:s,reactCompiler:L,silent:q,tsconfigPath:Y})),te&&y.push(Ur({...X(e,"unocss"),overrides:d(e,"unocss")})),k&&y.push(Ge({files:g(e,"astro"),overrides:d(e,"astro"),stylistic:x})),(e.jsonc??!0)&&y.push(tr({overrides:d(e,"jsonc"),packageJson:s,prettier:t,silent:q,stylistic:x})),(e.toml??!0)&&y.push(Sr({files:g(e,"toml"),overrides:d(e,"toml"),stylistic:x})),(e.markdown??!0)&&y.push(ar({componentExts:P,files:g(e,"markdown"),overrides:d(e,"markdown")})),(e.yaml??!0)&&y.push(Rr({files:g(e,"yaml"),overrides:d(e,"yaml"),prettier:t,stylistic:x})),e.formatters){const f=m.hasPackageJsonAnyDependency(s,["@prettier/plugin-xml"]);y.push(Qe({astro:m.hasPackageJsonAnyDependency(s,["prettier-plugin-astro"]),css:!0,graphql:!0,html:!0,markdown:!0,slidev:m.hasPackageJsonAnyDependency(s,["@slidev/cli"]),svg:f,xml:f,...typeof e.formatters=="object"?e.formatters:{}},typeof x=="object"?x:{}))}const ae=Yr.reduce((f,z)=>(z in e&&(f[z]=e[z]),f),{});Object.keys(ae).length>0&&y.push([ae]);let Z=new ke.FlatConfigComposer;return Z=Z.append(...y,...r),Z},"createConfig");exports.getFilesGlobs=n.getFilesGlobs;exports.createConfig=Zr;exports.getFiles=g;exports.getOverrides=d;exports.resolveSubOptions=X;