@lntvow/eslint-config 9.2.1 → 9.2.3

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 ie=Object.create;var y=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var ue=(e,o)=>{for(var r in o)y(e,r,{get:o[r],enumerable:!0})},N=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of fe(o))!ce.call(e,t)&&t!==r&&y(e,t,{get:()=>o[t],enumerable:!(n=pe(o,t))||n.enumerable});return e};var s=(e,o,r)=>(r=e!=null?ie(ae(e)):{},N(o||!e||!e.__esModule?y(r,"default",{value:e,enumerable:!0}):r,e)),le=e=>N(y({},"__esModule",{value:!0}),e);var Be={};ue(Be,{GLOB_ALL_SRC:()=>je,GLOB_ASTRO:()=>Ce,GLOB_CSS:()=>ge,GLOB_EXCLUDE:()=>T,GLOB_GRAPHQL:()=>Le,GLOB_HTML:()=>W,GLOB_JS:()=>me,GLOB_JSON:()=>$,GLOB_JSON5:()=>M,GLOB_JSONC:()=>he,GLOB_JSX:()=>ve,GLOB_LESS:()=>Oe,GLOB_MARKDOWN:()=>L,GLOB_MARKDOWN_CODE:()=>Te,GLOB_MARKDOWN_IN_MARKDOWN:()=>we,GLOB_POSTCSS:()=>xe,GLOB_SCSS:()=>be,GLOB_SRC:()=>v,GLOB_SRC_EXT:()=>m,GLOB_STYLE:()=>U,GLOB_SVELTE:()=>K,GLOB_TESTS:()=>Se,GLOB_TOML:()=>_e,GLOB_TS:()=>de,GLOB_TSX:()=>ye,GLOB_VUE:()=>g,GLOB_XML:()=>J,GLOB_YAML:()=>X,StylisticConfigDefaults:()=>Z,default:()=>Fe,getVueVersion:()=>te,gitignore:()=>C,ignores:()=>S,imports:()=>j,javascript:()=>G,lntvow:()=>w,prettier:()=>F,renameRules:()=>O,stylistic:()=>k,typescript:()=>I,vue:()=>P});module.exports=le(Be);var ne=require("eslint-flat-config-utils"),se=require("@lntvow/utils"),q=require("local-pkg");var R=s(require("fs"),1),A=require("find-up"),V=require("@lntvow/utils"),D=s(require("parse-gitignore"),1);async function C(e){let{name:o=".gitignore",root:r=!1,files:n=r?o:(0,A.findUpSync)(o)||[]}=e,t=(0,V.castArray)(n),i=[];for(let u of t)try{let f=R.default.readFileSync(u,"utf8"),d=(0,D.default)(f).globs();for(let c of d)c.type==="ignore"?i.push(...c.patterns):c.type==="unignore"&&i.push(...c.patterns.map(l=>`!${l}`))}catch{throw new Error(`Failed to read file: ${u}`)}return[{ignores:i}]}var m="?([cm])[jt]s?(x)",v="**/*.?([cm])[jt]s?(x)",me="**/*.?([cm])js",ve="**/*.?([cm])jsx",de="**/*.?([cm])ts",ye="**/*.?([cm])tsx",U="**/*.{c,le,sc}ss",ge="**/*.css",xe="**/*.{p,post}css",Oe="**/*.less",be="**/*.scss",$="**/*.json",M="**/*.json5",he="**/*.jsonc",L="**/*.md",we="**/*.md/*.md",K="**/*.svelte",g="**/*.vue",X="**/*.y?(a)ml",_e="**/*.toml",J="**/*.xml",W="**/*.htm?(l)",Ce="**/*.astro",Le="**/*.{g,graph}ql",Te=`${L}/${v}`,Se=[`**/__tests__/**/*.${m}`,`**/*.spec.${m}`,`**/*.test.${m}`,`**/*.bench.${m}`,`**/*.benchmark.${m}`],je=[v,U,$,M,L,K,g,X,J,W],T=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];async function S(){return[{ignores:[...T]}]}var H=s(require("eslint-plugin-import-x"),1);async function j(){return[{name:"lntvow/imports/rules",plugins:{import:H.default},rules:{"import/order":"error","import/newline-after-import":"error"}}]}var z=s(require("@eslint/js"),1),x=s(require("globals"),1);async function G(e={}){let{overrides:o={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...x.default.browser,...x.default.es2021,...x.default.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...z.default.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],camelcase:"warn","capitalized-comments":"off","class-methods-use-this":"off",complexity:"off",curly:["error","multi-line"],"func-names":"off","func-style":"off","guard-for-in":"off","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","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-bitwise":"off","no-case-declarations":"off","no-console":"warn","no-continue":"off","no-empty":["error",{allowEmptyCatch:!0}],"no-implicit-coercion":"off","no-implicit-globals":"off","no-magic-numbers":["warn",{ignoreArrayIndexes:!0,ignoreDefaultValues:!0}],"no-nested-ternary":"off","no-new":"off","no-param-reassign":"off","no-plusplus":"off","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-shadow":"off","no-ternary":"off","no-throw-literal":"off","no-underscore-dangle":"off","no-void":"off","no-warning-comments":"off","one-var":"off","prefer-exponentiation-operator":"off","prefer-promise-reject-errors":"off",radix:"off","require-await":"off","require-unicode-regexp":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off",strict:"off",...o}}]}var Y=s(require("eslint-plugin-prettier"),1),Q=s(require("eslint-config-prettier"),1);async function F(){return[{name:"lntvow/prettier/rules",plugins:{prettier:Y.default},rules:{...Q.default.rules,"prettier/prettier":"warn"}}]}var B=s(require("@stylistic/eslint-plugin"),1),Z={indent:2,jsx:!0,quotes:"single",semi:!1};async function k(e={}){let{indent:o,jsx:r,overrides:n={},quotes:t,semi:i}={...Z,...e},u=B.default.configs.customize({flat:!0,indent:o,jsx:r,pluginName:"style",quotes:t,semi:i});return[{name:"lntvow/stylistic/rules",plugins:{style:B.default},rules:{"style/spaced-comment":"error","style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"function"}],...n}}]}var b=s(require("@typescript-eslint/eslint-plugin"),1),ee=s(require("@typescript-eslint/parser"),1);function O(e,o){return Object.fromEntries(Object.entries(e).map(([r,n])=>{for(let[t,i]of Object.entries(o))if(r.startsWith(`${t}/`))return[i+r.slice(t.length),n];return[r,n]}))}async function I(e={}){let{componentExts:o=[],overrides:r={},parserOptions:n={}}=e,t=[v,...o.map(i=>`**/*.${i}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:b.default},languageOptions:{parser:ee.default,parserOptions:{sourceType:"module"}},files:t,rules:{...O(b.default.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...O(b.default.configs.strict.rules,{"@typescript-eslint":"typescript"}),"typescript/no-non-null-assertion":"off","typescript/no-explicit-any":"off","typescript/ban-ts-comment":"off","typescript/no-unused-vars":"warn","no-use-before-define":"off","typescript/no-use-before-define":["error",{functions:!1}],...r}}]}var oe=require("local-pkg"),E=s(require("@typescript-eslint/parser"),1),re=s(require("vue-eslint-parser"),1),a=s(require("eslint-plugin-vue"),1);async function P(e={}){let{overrides:o={},vueVersion:r=te()}=e,n={...a.default.configs["vue3-essential"].rules,...a.default.configs["vue3-strongly-recommended"].rules,...a.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"},t={...a.default.configs.essential.rules,...a.default.configs["strongly-recommended"].rules,...a.default.configs.recommended.rules,"vue/block-lang":["error",{script:{allowNoLang:!0}}],"vue/block-order":["error",{order:[["script","template"],"style[scoped]"]}]};return[{name:"lntvow/vue/rules",plugins:{vue:a.default},languageOptions:{parser:re.default,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:E.default,tsx:E.default},sourceType:"module"}},processor:a.default.processors[".vue"],files:[g],rules:{...a.default.configs.base.rules,...r===3?n:t,"vue/multi-word-component-names":"off","vue/attribute-hyphenation":["error","never"],"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":["error","never"],"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/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-direct-export":"error","vue/require-emit-validator":"off","vue/require-explicit-slots":"error","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":"error","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",...o}}]}function te(){let e=(0,oe.getPackageInfoSync)("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var Ge=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"];function w(e={},...o){let{componentExts:r=[],gitignore:n=!0,typescript:t=(0,q.isPackageExists)("typescript"),vue:i=["vue","nuxt","vitepress"].some(l=>(0,q.isPackageExists)(l))}=e,u=e.stylistic===!1?!1:typeof e.stylistic=="object"?e.stylistic:{},f=[];f.push(S(),G({...h(e,"javascript")}),j()),n&&f.push(C(h(e,"gitignore"))),i&&r.push("vue"),t&&f.push(I({...h(e,"typescript"),componentExts:r})),u&&f.push(k({...u})),i&&f.push(P({...h(e,"vue")})),f.push(F());let d=Ge.reduce((l,_)=>(_ in e&&(l[_]=e[_]),l),{});Object.keys(d).length&&f.push([d]);let c=new ne.FlatConfigComposer;return c=c.append(...f,...o),c}function h(e,o){return(0,se.isBoolean)(e[o])?{}:e[o]||{}}var Fe=w;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,StylisticConfigDefaults,getVueVersion,gitignore,ignores,imports,javascript,lntvow,prettier,renameRules,stylistic,typescript,vue});
1
+ "use strict";var ie=Object.create;var y=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var le=(e,o)=>{for(var r in o)y(e,r,{get:o[r],enumerable:!0})},N=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of fe(o))!ce.call(e,t)&&t!==r&&y(e,t,{get:()=>o[t],enumerable:!(n=pe(o,t))||n.enumerable});return e};var s=(e,o,r)=>(r=e!=null?ie(ae(e)):{},N(o||!e||!e.__esModule?y(r,"default",{value:e,enumerable:!0}):r,e)),ue=e=>N(y({},"__esModule",{value:!0}),e);var Be={};le(Be,{GLOB_ALL_SRC:()=>je,GLOB_ASTRO:()=>Ce,GLOB_CSS:()=>ge,GLOB_EXCLUDE:()=>T,GLOB_GRAPHQL:()=>Le,GLOB_HTML:()=>W,GLOB_JS:()=>me,GLOB_JSON:()=>$,GLOB_JSON5:()=>M,GLOB_JSONC:()=>we,GLOB_JSX:()=>ve,GLOB_LESS:()=>Oe,GLOB_MARKDOWN:()=>L,GLOB_MARKDOWN_CODE:()=>Te,GLOB_MARKDOWN_IN_MARKDOWN:()=>_e,GLOB_POSTCSS:()=>xe,GLOB_SCSS:()=>be,GLOB_SRC:()=>l,GLOB_SRC_EXT:()=>v,GLOB_STYLE:()=>U,GLOB_SVELTE:()=>K,GLOB_TESTS:()=>Se,GLOB_TOML:()=>he,GLOB_TS:()=>de,GLOB_TSX:()=>ye,GLOB_VUE:()=>g,GLOB_XML:()=>J,GLOB_YAML:()=>X,StylisticConfigDefaults:()=>Z,default:()=>Fe,getVueVersion:()=>te,gitignore:()=>C,ignores:()=>S,imports:()=>j,javascript:()=>G,lntvow:()=>_,prettier:()=>F,renameRules:()=>O,stylistic:()=>k,typescript:()=>I,vue:()=>P});module.exports=ue(Be);var ne=require("eslint-flat-config-utils"),se=require("@lntvow/utils"),q=require("local-pkg");var R=s(require("fs"),1),A=require("find-up"),V=require("@lntvow/utils"),D=s(require("parse-gitignore"),1);async function C(e){let{name:o=".gitignore",root:r=!1,files:n=r?o:(0,A.findUpSync)(o)||[]}=e,t=(0,V.castArray)(n),i=[];for(let u of t)try{let f=R.default.readFileSync(u,"utf8"),d=(0,D.default)(f).globs();for(let c of d)c.type==="ignore"?i.push(...c.patterns):c.type==="unignore"&&i.push(...c.patterns.map(m=>`!${m}`))}catch{throw new Error(`Failed to read file: ${u}`)}return[{ignores:i}]}var v="?([cm])[jt]s?(x)",l="**/*.?([cm])[jt]s?(x)",me="**/*.?([cm])js",ve="**/*.?([cm])jsx",de="**/*.?([cm])ts",ye="**/*.?([cm])tsx",U="**/*.{c,le,sc}ss",ge="**/*.css",xe="**/*.{p,post}css",Oe="**/*.less",be="**/*.scss",$="**/*.json",M="**/*.json5",we="**/*.jsonc",L="**/*.md",_e="**/*.md/*.md",K="**/*.svelte",g="**/*.vue",X="**/*.y?(a)ml",he="**/*.toml",J="**/*.xml",W="**/*.htm?(l)",Ce="**/*.astro",Le="**/*.{g,graph}ql",Te=`${L}/${l}`,Se=[`**/__tests__/**/*.${v}`,`**/*.spec.${v}`,`**/*.test.${v}`,`**/*.bench.${v}`,`**/*.benchmark.${v}`],je=[l,U,$,M,L,K,g,X,J,W],T=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];async function S(){return[{ignores:[...T]}]}var H=s(require("eslint-plugin-import-x"),1);async function j(){return[{name:"lntvow/imports/rules",plugins:{import:H.default},rules:{"import/order":"error","import/newline-after-import":"error"}}]}var z=s(require("@eslint/js"),1),x=s(require("globals"),1);async function G(e={}){let{overrides:o={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...x.default.browser,...x.default.es2021,...x.default.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...z.default.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],camelcase:"warn","capitalized-comments":"off","class-methods-use-this":"off",complexity:"off",curly:["error","multi-line"],"func-names":"off","func-style":"off","guard-for-in":"off","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","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-bitwise":"off","no-case-declarations":"off","no-console":"warn","no-continue":"off","no-empty":["error",{allowEmptyCatch:!0}],"no-implicit-coercion":"off","no-implicit-globals":"off","no-magic-numbers":["warn",{ignoreArrayIndexes:!0,ignoreDefaultValues:!0}],"no-nested-ternary":"off","no-new":"off","no-param-reassign":"off","no-plusplus":"off","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-shadow":"off","no-ternary":"off","no-throw-literal":"off","no-underscore-dangle":"off","no-void":"off","no-warning-comments":"off","one-var":"off","prefer-exponentiation-operator":"off","prefer-promise-reject-errors":"off",radix:"off","require-await":"off","require-unicode-regexp":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off",strict:"off",...o}},{files:[`scripts/${l}`],name:"lntvow/javascript/disables",rules:{"no-console":"off"}}]}var Y=s(require("eslint-plugin-prettier"),1),Q=s(require("eslint-config-prettier"),1);async function F(){return[{name:"lntvow/prettier/rules",plugins:{prettier:Y.default},rules:{...Q.default.rules,"prettier/prettier":"warn"}}]}var B=s(require("@stylistic/eslint-plugin"),1),Z={indent:2,jsx:!0,quotes:"single",semi:!1};async function k(e={}){let{indent:o,jsx:r,overrides:n={},quotes:t,semi:i}={...Z,...e},u=B.default.configs.customize({flat:!0,indent:o,jsx:r,pluginName:"style",quotes:t,semi:i});return[{name:"lntvow/stylistic/rules",plugins:{style:B.default},rules:{"style/spaced-comment":"error","style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"function"}],...n}}]}var b=s(require("@typescript-eslint/eslint-plugin"),1),ee=s(require("@typescript-eslint/parser"),1);function O(e,o){return Object.fromEntries(Object.entries(e).map(([r,n])=>{for(let[t,i]of Object.entries(o))if(r.startsWith(`${t}/`))return[i+r.slice(t.length),n];return[r,n]}))}async function I(e={}){let{componentExts:o=[],overrides:r={},parserOptions:n={}}=e,t=[l,...o.map(i=>`**/*.${i}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:b.default},languageOptions:{parser:ee.default,parserOptions:{sourceType:"module"}},files:t,rules:{...O(b.default.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...O(b.default.configs.strict.rules,{"@typescript-eslint":"typescript"}),"typescript/no-non-null-assertion":"off","typescript/no-explicit-any":"off","typescript/ban-ts-comment":"off","typescript/no-unused-vars":"warn","no-use-before-define":"off","typescript/no-use-before-define":["error",{functions:!1}],...r}}]}var oe=require("local-pkg"),E=s(require("@typescript-eslint/parser"),1),re=s(require("vue-eslint-parser"),1),a=s(require("eslint-plugin-vue"),1);async function P(e={}){let{overrides:o={},vueVersion:r=te()}=e,n={...a.default.configs["vue3-essential"].rules,...a.default.configs["vue3-strongly-recommended"].rules,...a.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"},t={...a.default.configs.essential.rules,...a.default.configs["strongly-recommended"].rules,...a.default.configs.recommended.rules,"vue/block-lang":["error",{script:{allowNoLang:!0}}],"vue/block-order":["error",{order:[["script","template"],"style[scoped]"]}]};return[{name:"lntvow/vue/rules",plugins:{vue:a.default},languageOptions:{parser:re.default,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:E.default,tsx:E.default},sourceType:"module"}},processor:a.default.processors[".vue"],files:[g],rules:{...a.default.configs.base.rules,...r===3?n:t,"vue/multi-word-component-names":"off","vue/attribute-hyphenation":["error","never"],"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":["error","never"],"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/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-direct-export":"error","vue/require-emit-validator":"off","vue/require-explicit-slots":"error","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":"error","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",...o}}]}function te(){let e=(0,oe.getPackageInfoSync)("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var Ge=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"];function _(e={},...o){let{componentExts:r=[],gitignore:n=!0,typescript:t=(0,q.isPackageExists)("typescript"),vue:i=["vue","nuxt","vitepress"].some(m=>(0,q.isPackageExists)(m))}=e,u=e.stylistic===!1?!1:typeof e.stylistic=="object"?e.stylistic:{},f=[];f.push(S(),G({...w(e,"javascript")}),j()),n&&f.push(C(w(e,"gitignore"))),i&&r.push("vue"),t&&f.push(I({...w(e,"typescript"),componentExts:r})),u&&f.push(k({...u})),i&&f.push(P({...w(e,"vue")})),f.push(F());let d=Ge.reduce((m,h)=>(h in e&&(m[h]=e[h]),m),{});Object.keys(d).length&&f.push([d]);let c=new ne.FlatConfigComposer;return c=c.append(...f,...o),c}function w(e,o){return(0,se.isBoolean)(e[o])?{}:e[o]||{}}var Fe=_;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,StylisticConfigDefaults,getVueVersion,gitignore,ignores,imports,javascript,lntvow,prettier,renameRules,stylistic,typescript,vue});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{FlatConfigComposer as re}from"eslint-flat-config-utils";import{isBoolean as te}from"@lntvow/utils";import{isPackageExists as P}from"local-pkg";import q from"fs";import{findUpSync as N}from"find-up";import{castArray as R}from"@lntvow/utils";import A from"parse-gitignore";async function _(e){let{name:o=".gitignore",root:r=!1,files:p=r?o:N(o)||[]}=e,t=R(p),n=[];for(let u of t)try{let f=q.readFileSync(u,"utf8"),v=A(f).globs();for(let c of v)c.type==="ignore"?n.push(...c.patterns):c.type==="unignore"&&n.push(...c.patterns.map(l=>`!${l}`))}catch{throw new Error(`Failed to read file: ${u}`)}return[{ignores:n}]}var m="?([cm])[jt]s?(x)",d="**/*.?([cm])[jt]s?(x)",ue="**/*.?([cm])js",le="**/*.?([cm])jsx",me="**/*.?([cm])ts",ve="**/*.?([cm])tsx",V="**/*.{c,le,sc}ss",de="**/*.css",ye="**/*.{p,post}css",ge="**/*.less",xe="**/*.scss",D="**/*.json",U="**/*.json5",Oe="**/*.jsonc",C="**/*.md",be="**/*.md/*.md",$="**/*.svelte",x="**/*.vue",M="**/*.y?(a)ml",he="**/*.toml",K="**/*.xml",X="**/*.htm?(l)",we="**/*.astro",_e="**/*.{g,graph}ql",Ce=`${C}/${d}`,Le=[`**/__tests__/**/*.${m}`,`**/*.spec.${m}`,`**/*.test.${m}`,`**/*.bench.${m}`,`**/*.benchmark.${m}`],Te=[d,V,D,U,C,$,x,M,K,X],L=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];async function T(){return[{ignores:[...L]}]}import J from"eslint-plugin-import-x";async function S(){return[{name:"lntvow/imports/rules",plugins:{import:J},rules:{"import/order":"error","import/newline-after-import":"error"}}]}import W from"@eslint/js";import O from"globals";async function j(e={}){let{overrides:o={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...O.browser,...O.es2021,...O.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...W.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],camelcase:"warn","capitalized-comments":"off","class-methods-use-this":"off",complexity:"off",curly:["error","multi-line"],"func-names":"off","func-style":"off","guard-for-in":"off","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","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-bitwise":"off","no-case-declarations":"off","no-console":"warn","no-continue":"off","no-empty":["error",{allowEmptyCatch:!0}],"no-implicit-coercion":"off","no-implicit-globals":"off","no-magic-numbers":["warn",{ignoreArrayIndexes:!0,ignoreDefaultValues:!0}],"no-nested-ternary":"off","no-new":"off","no-param-reassign":"off","no-plusplus":"off","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-shadow":"off","no-ternary":"off","no-throw-literal":"off","no-underscore-dangle":"off","no-void":"off","no-warning-comments":"off","one-var":"off","prefer-exponentiation-operator":"off","prefer-promise-reject-errors":"off",radix:"off","require-await":"off","require-unicode-regexp":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off",strict:"off",...o}}]}import H from"eslint-plugin-prettier";import z from"eslint-config-prettier";async function G(){return[{name:"lntvow/prettier/rules",plugins:{prettier:H},rules:{...z.rules,"prettier/prettier":"warn"}}]}import F from"@stylistic/eslint-plugin";var Y={indent:2,jsx:!0,quotes:"single",semi:!1};async function B(e={}){let{indent:o,jsx:r,overrides:p={},quotes:t,semi:n}={...Y,...e},u=F.configs.customize({flat:!0,indent:o,jsx:r,pluginName:"style",quotes:t,semi:n});return[{name:"lntvow/stylistic/rules",plugins:{style:F},rules:{"style/spaced-comment":"error","style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"function"}],...p}}]}import h from"@typescript-eslint/eslint-plugin";import Q from"@typescript-eslint/parser";function b(e,o){return Object.fromEntries(Object.entries(e).map(([r,p])=>{for(let[t,n]of Object.entries(o))if(r.startsWith(`${t}/`))return[n+r.slice(t.length),p];return[r,p]}))}async function k(e={}){let{componentExts:o=[],overrides:r={},parserOptions:p={}}=e,t=[d,...o.map(n=>`**/*.${n}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:h},languageOptions:{parser:Q,parserOptions:{sourceType:"module"}},files:t,rules:{...b(h.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...b(h.configs.strict.rules,{"@typescript-eslint":"typescript"}),"typescript/no-non-null-assertion":"off","typescript/no-explicit-any":"off","typescript/ban-ts-comment":"off","typescript/no-unused-vars":"warn","no-use-before-define":"off","typescript/no-use-before-define":["error",{functions:!1}],...r}}]}import{getPackageInfoSync as Z}from"local-pkg";import I from"@typescript-eslint/parser";import ee from"vue-eslint-parser";import a from"eslint-plugin-vue";async function E(e={}){let{overrides:o={},vueVersion:r=oe()}=e,p={...a.configs["vue3-essential"].rules,...a.configs["vue3-strongly-recommended"].rules,...a.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"},t={...a.configs.essential.rules,...a.configs["strongly-recommended"].rules,...a.configs.recommended.rules,"vue/block-lang":["error",{script:{allowNoLang:!0}}],"vue/block-order":["error",{order:[["script","template"],"style[scoped]"]}]};return[{name:"lntvow/vue/rules",plugins:{vue:a},languageOptions:{parser:ee,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:I,tsx:I},sourceType:"module"}},processor:a.processors[".vue"],files:[x],rules:{...a.configs.base.rules,...r===3?p:t,"vue/multi-word-component-names":"off","vue/attribute-hyphenation":["error","never"],"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":["error","never"],"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/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-direct-export":"error","vue/require-emit-validator":"off","vue/require-explicit-slots":"error","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":"error","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",...o}}]}function oe(){let e=Z("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var ne=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"];function w(e={},...o){let{componentExts:r=[],gitignore:p=!0,typescript:t=P("typescript"),vue:n=["vue","nuxt","vitepress"].some(l=>P(l))}=e,u=e.stylistic===!1?!1:typeof e.stylistic=="object"?e.stylistic:{},f=[];f.push(T(),j({...y(e,"javascript")}),S()),p&&f.push(_(y(e,"gitignore"))),n&&r.push("vue"),t&&f.push(k({...y(e,"typescript"),componentExts:r})),u&&f.push(B({...u})),n&&f.push(E({...y(e,"vue")})),f.push(G());let v=ne.reduce((l,g)=>(g in e&&(l[g]=e[g]),l),{});Object.keys(v).length&&f.push([v]);let c=new re;return c=c.append(...f,...o),c}function y(e,o){return te(e[o])?{}:e[o]||{}}var jo=w;export{Te as GLOB_ALL_SRC,we as GLOB_ASTRO,de as GLOB_CSS,L as GLOB_EXCLUDE,_e as GLOB_GRAPHQL,X as GLOB_HTML,ue as GLOB_JS,D as GLOB_JSON,U as GLOB_JSON5,Oe as GLOB_JSONC,le as GLOB_JSX,ge as GLOB_LESS,C as GLOB_MARKDOWN,Ce as GLOB_MARKDOWN_CODE,be as GLOB_MARKDOWN_IN_MARKDOWN,ye as GLOB_POSTCSS,xe as GLOB_SCSS,d as GLOB_SRC,m as GLOB_SRC_EXT,V as GLOB_STYLE,$ as GLOB_SVELTE,Le as GLOB_TESTS,he as GLOB_TOML,me as GLOB_TS,ve as GLOB_TSX,x as GLOB_VUE,K as GLOB_XML,M as GLOB_YAML,Y as StylisticConfigDefaults,jo as default,oe as getVueVersion,_ as gitignore,T as ignores,S as imports,j as javascript,w as lntvow,G as prettier,b as renameRules,B as stylistic,k as typescript,E as vue};
1
+ import{FlatConfigComposer as re}from"eslint-flat-config-utils";import{isBoolean as te}from"@lntvow/utils";import{isPackageExists as P}from"local-pkg";import q from"fs";import{findUpSync as N}from"find-up";import{castArray as R}from"@lntvow/utils";import A from"parse-gitignore";async function h(e){let{name:o=".gitignore",root:r=!1,files:p=r?o:N(o)||[]}=e,t=R(p),n=[];for(let l of t)try{let f=q.readFileSync(l,"utf8"),d=A(f).globs();for(let c of d)c.type==="ignore"?n.push(...c.patterns):c.type==="unignore"&&n.push(...c.patterns.map(u=>`!${u}`))}catch{throw new Error(`Failed to read file: ${l}`)}return[{ignores:n}]}var v="?([cm])[jt]s?(x)",m="**/*.?([cm])[jt]s?(x)",le="**/*.?([cm])js",ue="**/*.?([cm])jsx",me="**/*.?([cm])ts",ve="**/*.?([cm])tsx",V="**/*.{c,le,sc}ss",de="**/*.css",ye="**/*.{p,post}css",ge="**/*.less",xe="**/*.scss",D="**/*.json",U="**/*.json5",Oe="**/*.jsonc",C="**/*.md",be="**/*.md/*.md",$="**/*.svelte",x="**/*.vue",M="**/*.y?(a)ml",we="**/*.toml",K="**/*.xml",X="**/*.htm?(l)",_e="**/*.astro",he="**/*.{g,graph}ql",Ce=`${C}/${m}`,Le=[`**/__tests__/**/*.${v}`,`**/*.spec.${v}`,`**/*.test.${v}`,`**/*.bench.${v}`,`**/*.benchmark.${v}`],Te=[m,V,D,U,C,$,x,M,K,X],L=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];async function T(){return[{ignores:[...L]}]}import J from"eslint-plugin-import-x";async function S(){return[{name:"lntvow/imports/rules",plugins:{import:J},rules:{"import/order":"error","import/newline-after-import":"error"}}]}import W from"@eslint/js";import O from"globals";async function j(e={}){let{overrides:o={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...O.browser,...O.es2021,...O.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...W.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],camelcase:"warn","capitalized-comments":"off","class-methods-use-this":"off",complexity:"off",curly:["error","multi-line"],"func-names":"off","func-style":"off","guard-for-in":"off","id-denylist":"off","id-length":"off","id-match":"off","init-declarations":"off","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-bitwise":"off","no-case-declarations":"off","no-console":"warn","no-continue":"off","no-empty":["error",{allowEmptyCatch:!0}],"no-implicit-coercion":"off","no-implicit-globals":"off","no-magic-numbers":["warn",{ignoreArrayIndexes:!0,ignoreDefaultValues:!0}],"no-nested-ternary":"off","no-new":"off","no-param-reassign":"off","no-plusplus":"off","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-shadow":"off","no-ternary":"off","no-throw-literal":"off","no-underscore-dangle":"off","no-void":"off","no-warning-comments":"off","one-var":"off","prefer-exponentiation-operator":"off","prefer-promise-reject-errors":"off",radix:"off","require-await":"off","require-unicode-regexp":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off",strict:"off",...o}},{files:[`scripts/${m}`],name:"lntvow/javascript/disables",rules:{"no-console":"off"}}]}import H from"eslint-plugin-prettier";import z from"eslint-config-prettier";async function G(){return[{name:"lntvow/prettier/rules",plugins:{prettier:H},rules:{...z.rules,"prettier/prettier":"warn"}}]}import F from"@stylistic/eslint-plugin";var Y={indent:2,jsx:!0,quotes:"single",semi:!1};async function B(e={}){let{indent:o,jsx:r,overrides:p={},quotes:t,semi:n}={...Y,...e},l=F.configs.customize({flat:!0,indent:o,jsx:r,pluginName:"style",quotes:t,semi:n});return[{name:"lntvow/stylistic/rules",plugins:{style:F},rules:{"style/spaced-comment":"error","style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"function"}],...p}}]}import w from"@typescript-eslint/eslint-plugin";import Q from"@typescript-eslint/parser";function b(e,o){return Object.fromEntries(Object.entries(e).map(([r,p])=>{for(let[t,n]of Object.entries(o))if(r.startsWith(`${t}/`))return[n+r.slice(t.length),p];return[r,p]}))}async function k(e={}){let{componentExts:o=[],overrides:r={},parserOptions:p={}}=e,t=[m,...o.map(n=>`**/*.${n}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:w},languageOptions:{parser:Q,parserOptions:{sourceType:"module"}},files:t,rules:{...b(w.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...b(w.configs.strict.rules,{"@typescript-eslint":"typescript"}),"typescript/no-non-null-assertion":"off","typescript/no-explicit-any":"off","typescript/ban-ts-comment":"off","typescript/no-unused-vars":"warn","no-use-before-define":"off","typescript/no-use-before-define":["error",{functions:!1}],...r}}]}import{getPackageInfoSync as Z}from"local-pkg";import I from"@typescript-eslint/parser";import ee from"vue-eslint-parser";import a from"eslint-plugin-vue";async function E(e={}){let{overrides:o={},vueVersion:r=oe()}=e,p={...a.configs["vue3-essential"].rules,...a.configs["vue3-strongly-recommended"].rules,...a.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"},t={...a.configs.essential.rules,...a.configs["strongly-recommended"].rules,...a.configs.recommended.rules,"vue/block-lang":["error",{script:{allowNoLang:!0}}],"vue/block-order":["error",{order:[["script","template"],"style[scoped]"]}]};return[{name:"lntvow/vue/rules",plugins:{vue:a},languageOptions:{parser:ee,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:I,tsx:I},sourceType:"module"}},processor:a.processors[".vue"],files:[x],rules:{...a.configs.base.rules,...r===3?p:t,"vue/multi-word-component-names":"off","vue/attribute-hyphenation":["error","never"],"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":["error","never"],"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/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-direct-export":"error","vue/require-emit-validator":"off","vue/require-explicit-slots":"error","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":"error","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",...o}}]}function oe(){let e=Z("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var ne=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"];function _(e={},...o){let{componentExts:r=[],gitignore:p=!0,typescript:t=P("typescript"),vue:n=["vue","nuxt","vitepress"].some(u=>P(u))}=e,l=e.stylistic===!1?!1:typeof e.stylistic=="object"?e.stylistic:{},f=[];f.push(T(),j({...y(e,"javascript")}),S()),p&&f.push(h(y(e,"gitignore"))),n&&r.push("vue"),t&&f.push(k({...y(e,"typescript"),componentExts:r})),l&&f.push(B({...l})),n&&f.push(E({...y(e,"vue")})),f.push(G());let d=ne.reduce((u,g)=>(g in e&&(u[g]=e[g]),u),{});Object.keys(d).length&&f.push([d]);let c=new re;return c=c.append(...f,...o),c}function y(e,o){return te(e[o])?{}:e[o]||{}}var To=_;export{Te as GLOB_ALL_SRC,_e as GLOB_ASTRO,de as GLOB_CSS,L as GLOB_EXCLUDE,he as GLOB_GRAPHQL,X as GLOB_HTML,le as GLOB_JS,D as GLOB_JSON,U as GLOB_JSON5,Oe as GLOB_JSONC,ue as GLOB_JSX,ge as GLOB_LESS,C as GLOB_MARKDOWN,Ce as GLOB_MARKDOWN_CODE,be as GLOB_MARKDOWN_IN_MARKDOWN,ye as GLOB_POSTCSS,xe as GLOB_SCSS,m as GLOB_SRC,v as GLOB_SRC_EXT,V as GLOB_STYLE,$ as GLOB_SVELTE,Le as GLOB_TESTS,we as GLOB_TOML,me as GLOB_TS,ve as GLOB_TSX,x as GLOB_VUE,K as GLOB_XML,M as GLOB_YAML,Y as StylisticConfigDefaults,To as default,oe as getVueVersion,h as gitignore,T as ignores,S as imports,j as javascript,_ as lntvow,G as prettier,b as renameRules,B as stylistic,k as typescript,E as vue};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lntvow/eslint-config",
3
- "version": "9.2.1",
3
+ "version": "9.2.3",
4
4
  "author": "lntvow",
5
5
  "description": "eslint-config",
6
6
  "type": "module",
@@ -16,13 +16,11 @@
16
16
  "module": "./dist/index.js",
17
17
  "types": "./dist/index.d.ts",
18
18
  "devDependencies": {
19
+ "@lntvow/dev": "^1.1.0",
19
20
  "@types/eslint": "^8.56.10",
20
- "@types/eslint-config-prettier": "^6.11.3",
21
21
  "@types/node": "^20.12.12",
22
22
  "axios": "^1.7.2",
23
- "bumpp": "^9.4.1",
24
23
  "cheerio": "1.0.0-rc.12",
25
- "rimraf": "^5.0.7",
26
24
  "tsup": "^8.0.2",
27
25
  "typescript": "^5.4.5",
28
26
  "vue": "^3.4.27"