@lntvow/eslint-config 9.15.1 → 9.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var Se=Object.create;var b=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var ke=(e,r)=>{for(var o in r)b(e,o,{get:r[o],enumerable:!0})},Y=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Le(r))!je.call(e,n)&&n!==o&&b(e,n,{get:()=>r[n],enumerable:!(s=Ie(r,n))||s.enumerable});return e};var t=(e,r,o)=>(o=e!=null?Se(Pe(e)):{},Y(r||!e||!e.__esModule?b(o,"default",{value:e,enumerable:!0}):o,e)),Fe=e=>Y(b({},"__esModule",{value:!0}),e);var tr={};ke(tr,{GLOB_ALL_SRC:()=>Ye,GLOB_ASTRO:()=>De,GLOB_CSS:()=>Re,GLOB_EXCLUDE:()=>j,GLOB_GRAPHQL:()=>Ke,GLOB_HTML:()=>re,GLOB_JS:()=>Ge,GLOB_JSON:()=>z,GLOB_JSON5:()=>H,GLOB_JSONC:()=>Ve,GLOB_JSX:()=>Ee,GLOB_LESS:()=>Ue,GLOB_MARKDOWN:()=>L,GLOB_MARKDOWN_CODE:()=>Xe,GLOB_MARKDOWN_IN_MARKDOWN:()=>Me,GLOB_POSTCSS:()=>qe,GLOB_SCSS:()=>Ae,GLOB_SRC:()=>u,GLOB_SRC_EXT:()=>l,GLOB_STYLE:()=>W,GLOB_SVELTE:()=>Q,GLOB_TESTS:()=>P,GLOB_TOML:()=>$e,GLOB_TS:()=>Be,GLOB_TSX:()=>Ne,GLOB_VUE:()=>h,GLOB_XML:()=>ee,GLOB_YAML:()=>Z,custom:()=>I,disables:()=>k,getVueVersion:()=>Oe,gitignore:()=>E,ignores:()=>B,imports:()=>N,javascript:()=>R,lntvow:()=>Ce,notInRecommendedRules:()=>de,prettier:()=>q,regexp:()=>A,renameRules:()=>w,stylistic:()=>V,test:()=>M,typescript:()=>$,vue:()=>K});module.exports=Fe(tr);function w(e,r){return Object.fromEntries(Object.entries(e).map(([o,s])=>{for(let[n,a]of Object.entries(r))if(o.startsWith(`${n}/`))return[a+o.slice(n.length),s];return[o,s]}))}var J=t(require("@lntvow/eslint-plugin"),1);async function I(){return[{name:"lntvow/custom",plugins:{lntvow:J.default}}]}var l="?([cm])[jt]s?(x)",u="**/*.?([cm])[jt]s?(x)",Ge="**/*.?([cm])js",Ee="**/*.?([cm])jsx",Be="**/*.?([cm])ts",Ne="**/*.?([cm])tsx",W="**/*.{c,le,sc}ss",Re="**/*.css",qe="**/*.{p,post}css",Ue="**/*.less",Ae="**/*.scss",z="**/*.json",H="**/*.json5",Ve="**/*.jsonc",L="**/*.md",Me="**/*.md/*.md",Q="**/*.svelte",h="**/*.vue",Z="**/*.y?(a)ml",$e="**/*.toml",ee="**/*.xml",re="**/*.htm?(l)",De="**/*.astro",Ke="**/*.{g,graph}ql",Xe=`${L}/${u}`,P=[`**/__tests__/**/*.${l}`,`**/*.spec.${l}`,`**/*.test.${l}`,`**/*.bench.${l}`,`**/*.benchmark.${l}`],Ye=[u,W,z,H,L,Q,h,Z,ee,re],j=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/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"];async function k(){return[{files:[`scripts/${u}`],name:"lntvow/disables/scripts",rules:{"no-console":"off"}},{files:[`cli/${u}`,`cli.${l}`],name:"lntvow/disables/cli",rules:{"no-console":"off"}},{files:["**/*.d.?([cm])ts"],name:"lntvow/disables/dts",rules:{}},{files:["**/*.{test,spec}.([tj])s?(x)"],name:"lntvow/disables/test",rules:{"no-unused-expressions":"off"}},{files:["**/*.js","**/*.cjs"],name:"lntvow/disables/cjs",rules:{"ts/no-require-imports":"off"}}]}var fe=t(require("fs"),1);var y=t(require("path"),1);var oe=t(require("process"),1),te=t(require("path"),1),O=t(require("fs"),1),ne=require("url");var se={directory:"isDirectory",file:"isFile"};function Je(e){if(!Object.hasOwnProperty.call(se,e))throw new Error(`Invalid type specified: ${e}`)}var We=(e,r)=>r[se[e]](),ze=e=>e instanceof URL?(0,ne.fileURLToPath)(e):e;function F(e,{cwd:r=oe.default.cwd(),type:o="file",allowSymlinks:s=!0}={}){Je(o),r=ze(r);let n=s?O.default.statSync:O.default.lstatSync;for(let a of e)try{let f=n(te.default.resolve(r,a),{throwIfNoEntry:!1});if(!f)continue;if(We(o,f))return a}catch{}}var ie=require("url");function G(e){return e instanceof URL?(0,ie.fileURLToPath)(e):e}var ae=t(require("fs"),1);var He=Symbol("findUpStop");function Qe(e,r={}){let o=y.default.resolve(G(r.cwd)??""),{root:s}=y.default.parse(o),n=y.default.resolve(o,G(r.stopAt)??s),a=r.limit??Number.POSITIVE_INFINITY,f=[e].flat(),m=p=>{if(typeof e!="function")return F(f,p);let i=e(p.cwd);return typeof i=="string"?F([i],p):i},d=[];for(;;){let p=m({...r,cwd:o});if(p===He||(p&&d.push(y.default.resolve(o,p)),o===n||d.length>=a))break;o=y.default.dirname(o)}return d}function pe(e,r={}){return Qe(e,{...r,limit:1})[0]}var ce=require("@lntvow/utils"),le=t(require("parse-gitignore"),1);async function E(e){let{name:r=".gitignore",root:o=!1,files:s=o?r:pe(r)||[]}=e,n=(0,ce.castArray)(s),a=[];for(let f of n)try{let m=fe.default.readFileSync(f,"utf8"),d=(0,le.default)(m).globs();for(let p of d)p.type==="ignore"?a.push(...p.patterns):p.type==="unignore"&&a.push(...p.patterns.map(i=>`!${i}`))}catch{throw new Error(`Failed to read file: ${f}`)}return[{ignores:a}]}async function B(e=[]){return[{name:"lntvow/ignores",ignores:[...j,...e]}]}var ue=t(require("eslint-plugin-import-x"),1);async function N(e){let{typescript:r}=e;return[{name:"lntvow/imports/rules",plugins:{import:ue.default},rules:{"import/no-unresolved":"error","import/first":"error","import/newline-after-import":"error","import/no-duplicates":"error","import/order":"error"},settings:{"import-x/resolver":{alias:{map:[["@","./src"]],extensions:[".ts",".js",".jsx",".tsx",".d.ts"]},node:!0}}}]}var me=t(require("@eslint/js"),1),T=t(require("globals"),1);async function R(e={}){let{overrides:r={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...T.default.browser,...T.default.es2021,...T.default.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...me.default.configs.recommended.rules,...de,"no-unused-vars":"warn",...r}}]}var de={"array-callback-return":"error","no-await-in-loop":"off","no-constructor-return":"error","no-duplicate-imports":"error","no-inner-declarations":"error","no-promise-executor-return":"error","no-self-compare":"error","no-template-curly-in-string":"error","no-unmodified-loop-condition":"error","no-unreachable-loop":"error","no-use-before-define":["error",{functions:!1,variables:!1}],"no-useless-assignment":"off","require-atomic-updates":"off","accessor-pairs":"error","arrow-body-style":"error","block-scoped-var":"error",camelcase:"warn","capitalized-comments":"off","class-methods-use-this":"error",complexity:"off","consistent-return":"off","consistent-this":"off",curly:["error","multi-line"],"default-case":"error","default-case-last":"error","default-param-last":"error","dot-notation":"error",eqeqeq:"error","func-name-matching":"error","func-names":"off","func-style":"off","grouped-accessor-pairs":"error","guard-for-in":"off","id-denylist":"off","id-length":"error","id-match":"off","init-declarations":"off","logical-assignment-operators":"error","max-classes-per-file":"off","max-depth":"off","max-lines":"off","max-lines-per-function":"off","max-nested-callbacks":"off","max-params":"off","max-statements":"off","new-cap":["error",{capIsNew:!1}],"no-alert":"error","no-array-constructor":"error","no-bitwise":"off","no-caller":"error","no-console":"warn","no-continue":"off","no-div-regex":"error","no-else-return":"error","no-empty-function":"error","no-eq-null":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-implicit-coercion":"error","no-implicit-globals":"error","no-implied-eval":"error","no-inline-comments":"off","no-invalid-this":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"error","no-loop-func":"error","no-magic-numbers":"off","no-multi-assign":"error","no-multi-str":"error","no-negated-condition":"off","no-nested-ternary":"off","no-new":"off","no-new-func":"error","no-new-wrappers":"error","no-object-constructor":"error","no-octal-escape":"error","no-param-reassign":"error","no-plusplus":"off","no-proto":"error","no-restricted-exports":"off","no-restricted-globals":["error",{message:"Use `globalThis` instead.",name:"global"},{message:"Use `globalThis` instead.",name:"self"}],"no-restricted-imports":"off","no-restricted-properties":["error",{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.defineProperty` instead.",property:"__defineGetter__"},{message:"Use `Object.defineProperty` instead.",property:"__defineSetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-restricted-syntax":"off","no-return-assign":"error","no-script-url":"error","no-sequences":"error","no-shadow":"error","no-ternary":"off","no-throw-literal":"off","no-undef-init":"error","no-undefined":"off","no-underscore-dangle":"off","no-unneeded-ternary":"error","no-unused-expressions":["error",{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],"no-useless-call":"error","no-useless-computed-key":"error","no-useless-concat":"error","no-useless-constructor":"error","no-useless-rename":"error","no-useless-return":"error","no-var":"error","no-void":"off","no-warning-comments":"off","object-shorthand":"error","one-var":"off","operator-assignment":"error","prefer-arrow-callback":"error","prefer-const":"error","prefer-destructuring":"off","prefer-exponentiation-operator":"error","prefer-named-capture-group":"off","prefer-numeric-literals":"off","prefer-object-has-own":"error","prefer-object-spread":"error","prefer-promise-reject-errors":"off","prefer-regex-literals":"off","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error",radix:"off","require-await":"off","require-unicode-regexp":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off",strict:"off","symbol-description":"error","vars-on-top":"error",yoda:"error","unicode-bom":"error"};var ve=t(require("eslint-plugin-prettier"),1),ye=t(require("eslint-config-prettier"),1);async function q(){return[{name:"lntvow/prettier/rules",plugins:{prettier:ve.default},rules:{...ye.default.rules,"prettier/prettier":"warn"}}]}var U=require("eslint-plugin-regexp");async function A(e={}){let{overrides:r}=e,o=U.configs["flat/recommended"].plugins.regexp,{rules:s}=U.configs["flat/recommended"];return[{name:"lntvow/regexp/rules",plugins:{regexp:o},rules:{...s,...r}}]}var ge=t(require("@stylistic/eslint-plugin"),1);async function V(e={}){let{overrides:r={}}=e;return[{name:"lntvow/stylistic/rules",plugins:{style:ge.default},rules:{"style/spaced-comment":"error","style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"cjs-export"},{blankLine:"always",prev:"*",next:"export"},{blankLine:"always",prev:"*",next:"function"},{blankLine:"always",prev:"*",next:["interface","type"]},{blankLine:"never",prev:"function-overload",next:"function"}],"style/lines-around-comment":[2,{beforeBlockComment:!0,allowBlockStart:!0,allowObjectStart:!0,allowInterfaceStart:!0,allowTypeStart:!0,allowArrayStart:!0,allowClassStart:!0,allowModuleStart:!0}],...r}}]}var xe=t(require("eslint-plugin-vitest"),1);async function M(e={}){let{overrides:r}=e;return[{name:"lntvow/test/setup",plugins:{test:xe.default}},{name:"lntvow/test/rules",files:[...P],rules:{"lntvow/newline-before-describe-test":"error",...r}}]}var _=t(require("@typescript-eslint/eslint-plugin"),1),be=t(require("@typescript-eslint/parser"),1);async function $(e={}){let{componentExts:r=[],overrides:o={},parserOptions:s={}}=e,n=[u,...r.map(a=>`**/*.${a}`)];return[{name:"lntvow/typescript/setup",plugins:{ts:_.default}},{name:"lntvow/typescript/rules",languageOptions:{parser:be.default,parserOptions:{sourceType:"module"}},files:n,rules:{...w(_.default.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"ts"}),...w(_.default.configs.strict.rules,{"@typescript-eslint":"ts"}),"ts/no-non-null-assertion":"off","ts/no-explicit-any":"off","ts/ban-ts-comment":"off","ts/no-unused-vars":"warn","no-use-before-define":"off","ts/no-use-before-define":["error",{functions:!1,variables:!1}],"no-unused-expressions":"off","ts/no-unused-expressions":["error",{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],...o}}]}var we=require("local-pkg"),D=t(require("@typescript-eslint/parser"),1),he=t(require("vue-eslint-parser"),1),c=t(require("eslint-plugin-vue"),1);var Ze={...c.default.configs["vue3-essential"].rules,...c.default.configs["vue3-strongly-recommended"].rules,...c.default.configs["vue3-recommended"].rules,"vue/block-lang":["error",{script:{lang:["ts","tsx"]}}],"vue/block-order":["error",{order:["script[setup]","template","style[scoped]"]}],"vue/component-api-style":"error","vue/no-deprecated-model-definition":"error"},er={...c.default.configs.essential.rules,...c.default.configs["strongly-recommended"].rules,...c.default.configs.recommended.rules,"vue/block-lang":["error",{script:{allowNoLang:!0}}],"vue/block-order":["error",{order:[["script","template"],"style[scoped]"]}]};async function K(e={}){let{overrides:r={},vueVersion:o=Oe()}=e;return[{name:"lntvow/vue/setup",plugins:{vue:c.default}},{name:"lntvow/vue/rules",languageOptions:{parser:he.default,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:D.default,tsx:D.default},sourceType:"module"}},processor:c.default.processors[".vue"],files:[h],rules:{...c.default.configs.base.rules,...o===3?Ze:er,"vue/multi-word-component-names":"off","vue/attribute-hyphenation":"off","vue/html-indent":"off","vue/html-self-closing":["error",{html:{void:"always",normal:"always",component:"always"},svg:"always",math:"always"}],"vue/max-attributes-per-line":"off","vue/singleline-html-element-content-newline":"off","vue/v-on-event-hyphenation":"off","vue/block-tag-newline":"error","vue/component-name-in-template-casing":["error","PascalCase",{ignores:["/-/"]}],"vue/component-options-name-casing":"error","vue/custom-event-name-casing":"error","vue/define-emits-declaration":"error","vue/define-macros-order":"error","vue/define-props-declaration":"error","vue/enforce-style-attribute":"error","vue/html-button-has-type":"off","vue/html-comment-content-newline":"error","vue/html-comment-content-spacing":"error","vue/html-comment-indent":"off","vue/match-component-file-name":["error",{extensions:["jsx","tsx"],shouldMatchCase:!0}],"vue/match-component-import-name":"error","vue/max-lines-per-block":"off","vue/max-props":"off","vue/max-template-depth":"off","vue/new-line-between-multi-line-property":"off","vue/next-tick-style":"off","vue/no-bare-strings-in-template":"off","vue/no-boolean-default":"off","vue/no-deprecated-model-definition":"error","vue/no-duplicate-attr-inheritance":"error","vue/no-empty-component-block":"off","vue/no-multiple-objects-in-class":"error","vue/no-potential-component-option-typo":"error","vue/no-ref-object-reactivity-loss":"error","vue/no-required-prop-with-default":"error","vue/no-restricted-block":"off","vue/no-restricted-call-after-await":"off","vue/no-restricted-class":"off","vue/no-restricted-component-names":"off","vue/no-restricted-component-options":"off","vue/no-restricted-custom-event":"off","vue/no-restricted-html-elements":"off","vue/no-restricted-props":"off","vue/no-restricted-static-attribute":"off","vue/no-restricted-v-bind":"off","vue/no-root-v-if":"off","vue/no-setup-props-reactivity-loss":"error","vue/no-static-inline-styles":"error","vue/no-template-target-blank":"error","vue/no-this-in-before-route-enter":"error","vue/no-undef-components":"off","vue/no-undef-properties":"error","vue/no-unsupported-features":"off","vue/no-unused-emit-declarations":"error","vue/no-unused-properties":["warn",{groups:["props","data","computed","methods","setup"]}],"vue/no-unused-refs":"error","vue/no-use-v-else-with-v-for":"error","vue/no-useless-mustaches":"error","vue/no-useless-v-bind":"error","vue/no-v-text":"error","vue/padding-line-between-blocks":"error","vue/padding-line-between-tags":["error",[{blankLine:"never",prev:"*",next:"*"}]],"vue/padding-lines-in-component-definition":["error",{betweenOptions:"never"}],"vue/prefer-define-options":"error","vue/prefer-prop-type-boolean-first":"error","vue/prefer-separate-static-class":"error","vue/prefer-true-attribute-shorthand":"error","vue/require-default-export":"off","vue/require-direct-export":"error","vue/require-emit-validator":"off","vue/require-explicit-slots":"off","vue/require-expose":"error","vue/require-macro-variable-name":"error","vue/require-name-property":"off","vue/require-prop-comment":"off","vue/require-typed-object-prop":"error","vue/require-typed-ref":"error","vue/script-indent":"off","vue/sort-keys":"off","vue/static-class-names-order":"error","vue/v-for-delimiter-style":"error","vue/v-on-handler-style":"off","vue/valid-define-options":"error","vue/array-bracket-newline":"off","vue/array-bracket-spacing":"off","vue/array-element-newline":"off","vue/arrow-spacing":"off","vue/block-spacing":"off","vue/brace-style":"off","vue/camelcase":"error","vue/comma-dangle":"off","vue/comma-spacing":"off","vue/comma-style":"off","vue/dot-location":"off","vue/dot-notation":"error","vue/eqeqeq":"error","vue/func-call-spacing":"off","vue/key-spacing":"off","vue/keyword-spacing":"off","vue/max-len":"off","vue/multiline-ternary":"off","vue/no-console":"off","vue/no-constant-condition":"error","vue/no-extra-parens":"off","vue/no-empty-pattern":"error","vue/no-irregular-whitespace":"error","vue/no-loss-of-precision":"off","vue/no-restricted-syntax":"off","vue/no-sparse-arrays":"error","vue/no-useless-concat":"error","vue/object-curly-newline":"off","vue/object-curly-spacing":"off","vue/object-property-newline":"off","vue/object-shorthand":"error","vue/operator-linebreak":"off","vue/prefer-template":"error","vue/quote-props":"off","vue/space-in-parens":"off","vue/space-infix-ops":"off","vue/space-unary-ops":"off","vue/template-curly-spacing":"off",...r}}]}function Oe(){let e=(0,we.getPackageInfoSync)("vue",{paths:[process.cwd()]});return e&&e.version?Number(e.version[0]):3}var Te=require("eslint-flat-config-utils"),_e=require("@lntvow/utils"),C=require("local-pkg");var rr=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"],or={"@stylistic":"style","@typescript-eslint":"typescript","import-x":"import",vitest:"test"};function Ce(e={},...r){if("files"in e)throw new Error('[@lntvow/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.');let{autoRenamePlugins:o=!0,componentExts:s=[],gitignore:n=!0,regexp:a=!0,typescript:f=(0,C.isPackageExists)("typescript"),vue:m=["vue","nuxt","vitepress"].some(x=>(0,C.isPackageExists)(x)),test:d=(0,C.isPackageExists)("vitest"),stylistic:p=!0}=e,i=[];i.push(B(e.ignores),I(),R({...v(e,"javascript")}),N({typescript:!!f}),q()),n&&i.push(E({...v(e,"gitignore")})),m&&s.push("vue"),f&&i.push($({...v(e,"typescript"),componentExts:s})),m&&i.push(K({...v(e,"vue")})),a&&i.push(A({...v(e,"regexp")})),d&&i.push(M({...v(e,"test")})),p&&i.push(V({...v(e,"stylistic")})),i.push(k());let X=rr.reduce((x,S)=>(S in e&&(x[S]=e[S]),x),{});Object.keys(X).length&&i.push([X]);let g=new Te.FlatConfigComposer;return g=g.append(...i,...r),o&&(g=g.renamePlugins(or)),g}function v(e,r){return(0,_e.isBoolean)(e[r])?{}:e[r]||{}}0&&(module.exports={GLOB_ALL_SRC,GLOB_ASTRO,GLOB_CSS,GLOB_EXCLUDE,GLOB_GRAPHQL,GLOB_HTML,GLOB_JS,GLOB_JSON,GLOB_JSON5,GLOB_JSONC,GLOB_JSX,GLOB_LESS,GLOB_MARKDOWN,GLOB_MARKDOWN_CODE,GLOB_MARKDOWN_IN_MARKDOWN,GLOB_POSTCSS,GLOB_SCSS,GLOB_SRC,GLOB_SRC_EXT,GLOB_STYLE,GLOB_SVELTE,GLOB_TESTS,GLOB_TOML,GLOB_TS,GLOB_TSX,GLOB_VUE,GLOB_XML,GLOB_YAML,custom,disables,getVueVersion,gitignore,ignores,imports,javascript,lntvow,notInRecommendedRules,prettier,regexp,renameRules,stylistic,test,typescript,vue});
1
+ "use strict";var Se=Object.create;var b=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var ke=(e,r)=>{for(var o in r)b(e,o,{get:r[o],enumerable:!0})},Y=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Le(r))!je.call(e,n)&&n!==o&&b(e,n,{get:()=>r[n],enumerable:!(s=Ie(r,n))||s.enumerable});return e};var t=(e,r,o)=>(o=e!=null?Se(Pe(e)):{},Y(r||!e||!e.__esModule?b(o,"default",{value:e,enumerable:!0}):o,e)),Fe=e=>Y(b({},"__esModule",{value:!0}),e);var tr={};ke(tr,{GLOB_ALL_SRC:()=>Ye,GLOB_ASTRO:()=>De,GLOB_CSS:()=>Re,GLOB_EXCLUDE:()=>j,GLOB_GRAPHQL:()=>Ke,GLOB_HTML:()=>re,GLOB_JS:()=>Ge,GLOB_JSON:()=>z,GLOB_JSON5:()=>H,GLOB_JSONC:()=>Ve,GLOB_JSX:()=>Ee,GLOB_LESS:()=>Ue,GLOB_MARKDOWN:()=>L,GLOB_MARKDOWN_CODE:()=>Xe,GLOB_MARKDOWN_IN_MARKDOWN:()=>Me,GLOB_POSTCSS:()=>qe,GLOB_SCSS:()=>Ae,GLOB_SRC:()=>u,GLOB_SRC_EXT:()=>l,GLOB_STYLE:()=>W,GLOB_SVELTE:()=>Q,GLOB_TESTS:()=>P,GLOB_TOML:()=>$e,GLOB_TS:()=>Be,GLOB_TSX:()=>Ne,GLOB_VUE:()=>w,GLOB_XML:()=>ee,GLOB_YAML:()=>Z,custom:()=>I,disables:()=>k,getVueVersion:()=>Oe,gitignore:()=>E,ignores:()=>B,imports:()=>N,javascript:()=>R,lntvow:()=>Ce,notInRecommendedRules:()=>de,prettier:()=>q,regexp:()=>A,renameRules:()=>h,stylistic:()=>V,test:()=>M,typescript:()=>$,vue:()=>K});module.exports=Fe(tr);function h(e,r){return Object.fromEntries(Object.entries(e).map(([o,s])=>{for(let[n,a]of Object.entries(r))if(o.startsWith(`${n}/`))return[a+o.slice(n.length),s];return[o,s]}))}var J=t(require("@lntvow/eslint-plugin"),1);async function I(){return[{name:"lntvow/custom",plugins:{lntvow:J.default}}]}var l="?([cm])[jt]s?(x)",u="**/*.?([cm])[jt]s?(x)",Ge="**/*.?([cm])js",Ee="**/*.?([cm])jsx",Be="**/*.?([cm])ts",Ne="**/*.?([cm])tsx",W="**/*.{c,le,sc}ss",Re="**/*.css",qe="**/*.{p,post}css",Ue="**/*.less",Ae="**/*.scss",z="**/*.json",H="**/*.json5",Ve="**/*.jsonc",L="**/*.md",Me="**/*.md/*.md",Q="**/*.svelte",w="**/*.vue",Z="**/*.y?(a)ml",$e="**/*.toml",ee="**/*.xml",re="**/*.htm?(l)",De="**/*.astro",Ke="**/*.{g,graph}ql",Xe=`${L}/${u}`,P=[`**/__tests__/**/*.${l}`,`**/*.spec.${l}`,`**/*.test.${l}`,`**/*.bench.${l}`,`**/*.benchmark.${l}`],Ye=[u,W,z,H,L,Q,w,Z,ee,re],j=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/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"];async function k(){return[{files:[`scripts/${u}`],name:"lntvow/disables/scripts",rules:{"no-console":"off"}},{files:[`cli/${u}`,`cli.${l}`],name:"lntvow/disables/cli",rules:{"no-console":"off"}},{files:["**/*.d.?([cm])ts"],name:"lntvow/disables/dts",rules:{}},{files:["**/*.{test,spec}.([tj])s?(x)"],name:"lntvow/disables/test",rules:{"no-unused-expressions":"off"}},{files:["**/*.js","**/*.cjs"],name:"lntvow/disables/cjs",rules:{"ts/no-require-imports":"off"}}]}var fe=t(require("fs"),1);var y=t(require("path"),1);var oe=t(require("process"),1),te=t(require("path"),1),O=t(require("fs"),1),ne=require("url");var se={directory:"isDirectory",file:"isFile"};function Je(e){if(!Object.hasOwnProperty.call(se,e))throw new Error(`Invalid type specified: ${e}`)}var We=(e,r)=>r[se[e]](),ze=e=>e instanceof URL?(0,ne.fileURLToPath)(e):e;function F(e,{cwd:r=oe.default.cwd(),type:o="file",allowSymlinks:s=!0}={}){Je(o),r=ze(r);let n=s?O.default.statSync:O.default.lstatSync;for(let a of e)try{let f=n(te.default.resolve(r,a),{throwIfNoEntry:!1});if(!f)continue;if(We(o,f))return a}catch{}}var ie=require("url");function G(e){return e instanceof URL?(0,ie.fileURLToPath)(e):e}var ae=t(require("fs"),1);var He=Symbol("findUpStop");function Qe(e,r={}){let o=y.default.resolve(G(r.cwd)??""),{root:s}=y.default.parse(o),n=y.default.resolve(o,G(r.stopAt)??s),a=r.limit??Number.POSITIVE_INFINITY,f=[e].flat(),m=p=>{if(typeof e!="function")return F(f,p);let i=e(p.cwd);return typeof i=="string"?F([i],p):i},d=[];for(;;){let p=m({...r,cwd:o});if(p===He||(p&&d.push(y.default.resolve(o,p)),o===n||d.length>=a))break;o=y.default.dirname(o)}return d}function pe(e,r={}){return Qe(e,{...r,limit:1})[0]}var ce=require("@lntvow/utils"),le=t(require("parse-gitignore"),1);async function E(e){let{name:r=".gitignore",root:o=!1,files:s=o?r:pe(r)||[]}=e,n=(0,ce.castArray)(s),a=[];for(let f of n)try{let m=fe.default.readFileSync(f,"utf8"),d=(0,le.default)(m).globs();for(let p of d)p.type==="ignore"?a.push(...p.patterns):p.type==="unignore"&&a.push(...p.patterns.map(i=>`!${i}`))}catch{throw new Error(`Failed to read file: ${f}`)}return[{ignores:a}]}async function B(e=[]){return[{name:"lntvow/ignores",ignores:[...j,...e]}]}var ue=t(require("eslint-plugin-import-x"),1);async function N(e){let{typescript:r}=e;return[{name:"lntvow/imports/rules",plugins:{import:ue.default},rules:{"import/no-unresolved":"error","import/first":"error","import/newline-after-import":"error","import/no-duplicates":"error","import/order":"error"},settings:{"import-x/resolver":{alias:{map:[["@","./src"]],extensions:[".ts",".js",".jsx",".tsx",".d.ts"]},node:!0}}}]}var me=t(require("@eslint/js"),1),T=t(require("globals"),1);async function R(e={}){let{overrides:r={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...T.default.browser,...T.default.es2021,...T.default.node}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...me.default.configs.recommended.rules,...de,"no-unused-vars":"warn",...r}}]}var de={"array-callback-return":"error","no-await-in-loop":"off","no-constructor-return":"error","no-duplicate-imports":"error","no-inner-declarations":"error","no-promise-executor-return":"error","no-self-compare":"error","no-template-curly-in-string":"error","no-unmodified-loop-condition":"error","no-unreachable-loop":"error","no-use-before-define":["error",{functions:!1,variables:!1}],"no-useless-assignment":"off","require-atomic-updates":"off","accessor-pairs":"error","arrow-body-style":"error","block-scoped-var":"error",camelcase:"warn","capitalized-comments":"off","class-methods-use-this":"error",complexity:"off","consistent-return":"off","consistent-this":"off",curly:["error","multi-line"],"default-case":"error","default-case-last":"error","default-param-last":"error","dot-notation":"error",eqeqeq:"error","func-name-matching":"error","func-names":"off","func-style":"off","grouped-accessor-pairs":"error","guard-for-in":"off","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","logical-assignment-operators":"error","max-classes-per-file":"off","max-depth":"off","max-lines":"off","max-lines-per-function":"off","max-nested-callbacks":"off","max-params":"off","max-statements":"off","new-cap":["error",{capIsNew:!1}],"no-alert":"error","no-array-constructor":"error","no-bitwise":"off","no-caller":"error","no-console":"warn","no-continue":"off","no-div-regex":"error","no-else-return":"error","no-empty-function":"error","no-eq-null":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-implicit-coercion":"error","no-implicit-globals":"error","no-implied-eval":"error","no-inline-comments":"off","no-invalid-this":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"error","no-loop-func":"error","no-magic-numbers":"off","no-multi-assign":"error","no-multi-str":"error","no-negated-condition":"off","no-nested-ternary":"off","no-new":"off","no-new-func":"error","no-new-wrappers":"error","no-object-constructor":"error","no-octal-escape":"error","no-param-reassign":"error","no-plusplus":"off","no-proto":"error","no-restricted-exports":"off","no-restricted-globals":["error",{message:"Use `globalThis` instead.",name:"global"},{message:"Use `globalThis` instead.",name:"self"}],"no-restricted-imports":"off","no-restricted-properties":["error",{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.defineProperty` instead.",property:"__defineGetter__"},{message:"Use `Object.defineProperty` instead.",property:"__defineSetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-restricted-syntax":"off","no-return-assign":"error","no-script-url":"error","no-sequences":"error","no-shadow":"error","no-ternary":"off","no-throw-literal":"off","no-undef-init":"error","no-undefined":"off","no-underscore-dangle":"off","no-unneeded-ternary":"error","no-unused-expressions":["error",{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],"no-useless-call":"error","no-useless-computed-key":"error","no-useless-concat":"error","no-useless-constructor":"error","no-useless-rename":"error","no-useless-return":"error","no-var":"error","no-void":"off","no-warning-comments":"off","object-shorthand":"error","one-var":"off","operator-assignment":"error","prefer-arrow-callback":"error","prefer-const":"error","prefer-destructuring":"off","prefer-exponentiation-operator":"error","prefer-named-capture-group":"off","prefer-numeric-literals":"off","prefer-object-has-own":"error","prefer-object-spread":"error","prefer-promise-reject-errors":"off","prefer-regex-literals":"off","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error",radix:"off","require-await":"off","require-unicode-regexp":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off",strict:"off","symbol-description":"error","vars-on-top":"error",yoda:"error","unicode-bom":"error"};var ve=t(require("eslint-plugin-prettier"),1),ye=t(require("eslint-config-prettier"),1);async function q(){return[{name:"lntvow/prettier/rules",plugins:{prettier:ve.default},rules:{...ye.default.rules,"prettier/prettier":"warn"}}]}var U=require("eslint-plugin-regexp");async function A(e={}){let{overrides:r}=e,o=U.configs["flat/recommended"].plugins.regexp,{rules:s}=U.configs["flat/recommended"];return[{name:"lntvow/regexp/rules",plugins:{regexp:o},rules:{...s,...r}}]}var ge=t(require("@stylistic/eslint-plugin"),1);async function V(e={}){let{overrides:r={}}=e;return[{name:"lntvow/stylistic/rules",plugins:{style:ge.default},rules:{"style/spaced-comment":"error","style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"cjs-export"},{blankLine:"always",prev:"*",next:"export"},{blankLine:"always",prev:"*",next:"function"},{blankLine:"always",prev:"*",next:["interface","type"]},{blankLine:"never",prev:"function-overload",next:"function"}],"style/lines-around-comment":[2,{beforeBlockComment:!0,allowBlockStart:!0,allowObjectStart:!0,allowInterfaceStart:!0,allowTypeStart:!0,allowArrayStart:!0,allowClassStart:!0,allowModuleStart:!0}],...r}}]}var xe=t(require("eslint-plugin-vitest"),1);async function M(e={}){let{overrides:r}=e;return[{name:"lntvow/test/setup",plugins:{test:xe.default}},{name:"lntvow/test/rules",files:[...P],rules:{"lntvow/newline-before-describe-test":"error",...r}}]}var _=t(require("@typescript-eslint/eslint-plugin"),1),be=t(require("@typescript-eslint/parser"),1);async function $(e={}){let{componentExts:r=[],overrides:o={},parserOptions:s={}}=e,n=[u,...r.map(a=>`**/*.${a}`)];return[{name:"lntvow/typescript/setup",plugins:{ts:_.default}},{name:"lntvow/typescript/rules",languageOptions:{parser:be.default,parserOptions:{sourceType:"module"}},files:n,rules:{...h(_.default.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"ts"}),...h(_.default.configs.strict.rules,{"@typescript-eslint":"ts"}),"ts/no-non-null-assertion":"off","ts/no-explicit-any":"off","ts/ban-ts-comment":"off","ts/no-unused-vars":"warn","no-use-before-define":"off","ts/no-use-before-define":["error",{functions:!1,variables:!1}],"no-unused-expressions":"off","ts/no-unused-expressions":["error",{allowShortCircuit:!0,allowTaggedTemplates:!0,allowTernary:!0}],...o}}]}var he=require("local-pkg"),D=t(require("@typescript-eslint/parser"),1),we=t(require("vue-eslint-parser"),1),c=t(require("eslint-plugin-vue"),1);var Ze={...c.default.configs["vue3-essential"].rules,...c.default.configs["vue3-strongly-recommended"].rules,...c.default.configs["vue3-recommended"].rules,"vue/block-lang":["error",{script:{lang:["ts","tsx"]}}],"vue/block-order":["error",{order:["script[setup]","template","style[scoped]"]}],"vue/component-api-style":"error","vue/no-deprecated-model-definition":"error"},er={...c.default.configs.essential.rules,...c.default.configs["strongly-recommended"].rules,...c.default.configs.recommended.rules,"vue/block-lang":["error",{script:{allowNoLang:!0}}],"vue/block-order":["error",{order:[["script","template"],"style[scoped]"]}]};async function K(e={}){let{overrides:r={},vueVersion:o=Oe()}=e;return[{name:"lntvow/vue/setup",plugins:{vue:c.default}},{name:"lntvow/vue/rules",languageOptions:{parser:we.default,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:D.default,tsx:D.default},sourceType:"module"}},processor:c.default.processors[".vue"],files:[w],rules:{...c.default.configs.base.rules,...o===3?Ze:er,"vue/multi-word-component-names":"off","vue/attribute-hyphenation":"off","vue/html-indent":"off","vue/html-self-closing":["error",{html:{void:"always",normal:"always",component:"always"},svg:"always",math:"always"}],"vue/max-attributes-per-line":"off","vue/singleline-html-element-content-newline":"off","vue/v-on-event-hyphenation":"off","vue/block-tag-newline":"error","vue/component-name-in-template-casing":["error","PascalCase",{ignores:["/-/"]}],"vue/component-options-name-casing":"error","vue/custom-event-name-casing":"error","vue/define-emits-declaration":"error","vue/define-macros-order":"error","vue/define-props-declaration":"error","vue/enforce-style-attribute":"error","vue/html-button-has-type":"off","vue/html-comment-content-newline":"error","vue/html-comment-content-spacing":"error","vue/html-comment-indent":"off","vue/match-component-file-name":["error",{extensions:["jsx","tsx"],shouldMatchCase:!0}],"vue/match-component-import-name":"error","vue/max-lines-per-block":"off","vue/max-props":"off","vue/max-template-depth":"off","vue/new-line-between-multi-line-property":"off","vue/next-tick-style":"off","vue/no-bare-strings-in-template":"off","vue/no-boolean-default":"off","vue/no-deprecated-model-definition":"error","vue/no-duplicate-attr-inheritance":"error","vue/no-empty-component-block":"off","vue/no-multiple-objects-in-class":"error","vue/no-potential-component-option-typo":"error","vue/no-ref-object-reactivity-loss":"error","vue/no-required-prop-with-default":"error","vue/no-restricted-block":"off","vue/no-restricted-call-after-await":"off","vue/no-restricted-class":"off","vue/no-restricted-component-names":"off","vue/no-restricted-component-options":"off","vue/no-restricted-custom-event":"off","vue/no-restricted-html-elements":"off","vue/no-restricted-props":"off","vue/no-restricted-static-attribute":"off","vue/no-restricted-v-bind":"off","vue/no-root-v-if":"off","vue/no-setup-props-reactivity-loss":"error","vue/no-static-inline-styles":"error","vue/no-template-target-blank":"error","vue/no-this-in-before-route-enter":"error","vue/no-undef-components":"off","vue/no-undef-properties":"error","vue/no-unsupported-features":"off","vue/no-unused-emit-declarations":"error","vue/no-unused-properties":["warn",{groups:["props","data","computed","methods","setup"]}],"vue/no-unused-refs":"error","vue/no-use-v-else-with-v-for":"error","vue/no-useless-mustaches":"error","vue/no-useless-v-bind":"error","vue/no-v-text":"error","vue/padding-line-between-blocks":"error","vue/padding-line-between-tags":["error",[{blankLine:"never",prev:"*",next:"*"}]],"vue/padding-lines-in-component-definition":["error",{betweenOptions:"never"}],"vue/prefer-define-options":"error","vue/prefer-prop-type-boolean-first":"error","vue/prefer-separate-static-class":"error","vue/prefer-true-attribute-shorthand":"error","vue/require-default-export":"off","vue/require-direct-export":"error","vue/require-emit-validator":"off","vue/require-explicit-slots":"off","vue/require-expose":"error","vue/require-macro-variable-name":"error","vue/require-name-property":"off","vue/require-prop-comment":"off","vue/require-typed-object-prop":"error","vue/require-typed-ref":"error","vue/script-indent":"off","vue/sort-keys":"off","vue/static-class-names-order":"error","vue/v-for-delimiter-style":"error","vue/v-on-handler-style":"off","vue/valid-define-options":"error","vue/array-bracket-newline":"off","vue/array-bracket-spacing":"off","vue/array-element-newline":"off","vue/arrow-spacing":"off","vue/block-spacing":"off","vue/brace-style":"off","vue/camelcase":"error","vue/comma-dangle":"off","vue/comma-spacing":"off","vue/comma-style":"off","vue/dot-location":"off","vue/dot-notation":"error","vue/eqeqeq":"error","vue/func-call-spacing":"off","vue/key-spacing":"off","vue/keyword-spacing":"off","vue/max-len":"off","vue/multiline-ternary":"off","vue/no-console":"off","vue/no-constant-condition":"error","vue/no-extra-parens":"off","vue/no-empty-pattern":"error","vue/no-irregular-whitespace":"error","vue/no-loss-of-precision":"off","vue/no-restricted-syntax":"off","vue/no-sparse-arrays":"error","vue/no-useless-concat":"error","vue/object-curly-newline":"off","vue/object-curly-spacing":"off","vue/object-property-newline":"off","vue/object-shorthand":"error","vue/operator-linebreak":"off","vue/prefer-template":"error","vue/quote-props":"off","vue/space-in-parens":"off","vue/space-infix-ops":"off","vue/space-unary-ops":"off","vue/template-curly-spacing":"off",...r}}]}function Oe(){let e=(0,he.getPackageInfoSync)("vue",{paths:[process.cwd()]});return e&&e.version?Number(e.version[0]):3}var Te=require("eslint-flat-config-utils"),_e=require("@lntvow/utils"),C=require("local-pkg");var rr=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"],or={"@stylistic":"style","@typescript-eslint":"typescript","import-x":"import",vitest:"test"};function Ce(e={},...r){if("files"in e)throw new Error('[@lntvow/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.');let{autoRenamePlugins:o=!0,componentExts:s=[],gitignore:n=!0,regexp:a=!0,typescript:f=(0,C.isPackageExists)("typescript"),vue:m=["vue","nuxt","vitepress"].some(x=>(0,C.isPackageExists)(x)),test:d=(0,C.isPackageExists)("vitest"),stylistic:p=!0}=e,i=[];i.push(B(e.ignores),I(),R({...v(e,"javascript")}),N({typescript:!!f}),q()),n&&i.push(E({...v(e,"gitignore")})),m&&s.push("vue"),f&&i.push($({...v(e,"typescript"),componentExts:s})),m&&i.push(K({...v(e,"vue")})),a&&i.push(A({...v(e,"regexp")})),d&&i.push(M({...v(e,"test")})),p&&i.push(V({...v(e,"stylistic")})),i.push(k());let X=rr.reduce((x,S)=>(S in e&&(x[S]=e[S]),x),{});Object.keys(X).length&&i.push([X]);let g=new Te.FlatConfigComposer;return g=g.append(...i,...r),o&&(g=g.renamePlugins(or)),g}function v(e,r){return(0,_e.isBoolean)(e[r])?{}:e[r]||{}}0&&(module.exports={GLOB_ALL_SRC,GLOB_ASTRO,GLOB_CSS,GLOB_EXCLUDE,GLOB_GRAPHQL,GLOB_HTML,GLOB_JS,GLOB_JSON,GLOB_JSON5,GLOB_JSONC,GLOB_JSX,GLOB_LESS,GLOB_MARKDOWN,GLOB_MARKDOWN_CODE,GLOB_MARKDOWN_IN_MARKDOWN,GLOB_POSTCSS,GLOB_SCSS,GLOB_SRC,GLOB_SRC_EXT,GLOB_STYLE,GLOB_SVELTE,GLOB_TESTS,GLOB_TOML,GLOB_TS,GLOB_TSX,GLOB_VUE,GLOB_XML,GLOB_YAML,custom,disables,getVueVersion,gitignore,ignores,imports,javascript,lntvow,notInRecommendedRules,prettier,regexp,renameRules,stylistic,test,typescript,vue});