@lntvow/eslint-config 9.2.13 → 9.3.0
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 +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ce=Object.create;var x=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var de=(e,r)=>{for(var o in r)x(e,o,{get:r[o],enumerable:!0})},D=(e,r,o,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of ue(r))!ve.call(e,t)&&t!==o&&x(e,t,{get:()=>r[t],enumerable:!(n=le(r,t))||n.enumerable});return e};var i=(e,r,o)=>(o=e!=null?ce(me(e)):{},D(r||!e||!e.__esModule?x(o,"default",{value:e,enumerable:!0}):o,e)),ge=e=>D(x({},"__esModule",{value:!0}),e);var Re={};de(Re,{GLOB_ALL_SRC:()=>Be,GLOB_ASTRO:()=>je,GLOB_CSS:()=>we,GLOB_EXCLUDE:()=>j,GLOB_GRAPHQL:()=>Ge,GLOB_HTML:()=>Q,GLOB_JS:()=>ye,GLOB_JSON:()=>J,GLOB_JSON5:()=>W,GLOB_JSONC:()=>Le,GLOB_JSX:()=>xe,GLOB_LESS:()=>_e,GLOB_MARKDOWN:()=>S,GLOB_MARKDOWN_CODE:()=>Fe,GLOB_MARKDOWN_IN_MARKDOWN:()=>Te,GLOB_POSTCSS:()=>he,GLOB_SCSS:()=>Ce,GLOB_SRC:()=>c,GLOB_SRC_EXT:()=>l,GLOB_STYLE:()=>X,GLOB_SVELTE:()=>H,GLOB_TESTS:()=>ke,GLOB_TOML:()=>Se,GLOB_TS:()=>Oe,GLOB_TSX:()=>be,GLOB_VUE:()=>O,GLOB_XML:()=>Y,GLOB_YAML:()=>z,StylisticConfigDefaults:()=>te,default:()=>Ee,getVueVersion:()=>pe,gitignore:()=>T,ignores:()=>G,imports:()=>F,javascript:()=>k,lntvow:()=>_,prettier:()=>B,regexp:()=>P,renameRules:()=>w,stylistic:()=>R,typescript:()=>q,vue:()=>A});module.exports=ge(Re);var fe=require("eslint-flat-config-utils"),ae=require("@lntvow/utils"),V=require("local-pkg");var U=i(require("fs"),1),$=require("find-up"),M=require("@lntvow/utils"),K=i(require("parse-gitignore"),1);async function T(e){let{name:r=".gitignore",root:o=!1,files:n=o?r:(0,$.findUpSync)(r)||[]}=e,t=(0,M.castArray)(n),f=[];for(let m of t)try{let v=U.default.readFileSync(m,"utf8"),C=(0,K.default)(v).globs();for(let s of C)s.type==="ignore"?f.push(...s.patterns):s.type==="unignore"&&f.push(...s.patterns.map(g=>`!${g}`))}catch{throw new Error(`Failed to read file: ${m}`)}return[{ignores:f}]}var l="?([cm])[jt]s?(x)",c="**/*.?([cm])[jt]s?(x)",ye="**/*.?([cm])js",xe="**/*.?([cm])jsx",Oe="**/*.?([cm])ts",be="**/*.?([cm])tsx",X="**/*.{c,le,sc}ss",we="**/*.css",he="**/*.{p,post}css",_e="**/*.less",Ce="**/*.scss",J="**/*.json",W="**/*.json5",Le="**/*.jsonc",S="**/*.md",Te="**/*.md/*.md",H="**/*.svelte",O="**/*.vue",z="**/*.y?(a)ml",Se="**/*.toml",Y="**/*.xml",Q="**/*.htm?(l)",je="**/*.astro",Ge="**/*.{g,graph}ql",Fe=`${S}/${c}`,ke=[`**/__tests__/**/*.${l}`,`**/*.spec.${l}`,`**/*.test.${l}`,`**/*.bench.${l}`,`**/*.benchmark.${l}`],Be=[c,X,J,W,S,H,O,z,Y,Q],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","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];async function G(){return[{ignores:[...j]}]}var Z=i(require("eslint-plugin-import-x"),1);async function F(){return[{name:"lntvow/imports/rules",plugins:{import:Z.default},rules:{"import/order":"error","import/newline-after-import":"error"}}]}var ee=i(require("@eslint/js"),1),b=i(require("globals"),1);async function k(e={}){let{overrides:r={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...b.default.browser,...b.default.es2021,...b.default.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...ee.default.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],"no-useless-assignment":"off","require-atomic-updates":"off",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-undefined":"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",...r}},{files:[`scripts/${c}`],name:"lntvow/javascript/disables",rules:{"no-console":"off"}}]}var re=i(require("eslint-plugin-prettier"),1),oe=i(require("eslint-config-prettier"),1);async function B(){return[{name:"lntvow/prettier/rules",plugins:{prettier:re.default},rules:{...oe.default.rules,"prettier/prettier":"warn"}}]}var I=require("eslint-plugin-regexp");async function P(e={}){let{overrides:r}=e,o=I.configs["flat/recommended"].plugins.regexp,{rules:n}=I.configs["flat/recommended"];return[{name:"lntvow/regexp/rules",plugins:{regexp:o},rules:{...n,...r}}]}var E=i(require("@stylistic/eslint-plugin"),1),te={indent:2,jsx:!0,quotes:"single",semi:!1};async function R(e={}){let{indent:r,jsx:o,overrides:n={},quotes:t,semi:f}={...te,...e},m=E.default.configs.customize({flat:!0,indent:r,jsx:o,pluginName:"style",quotes:t,semi:f});return[{name:"lntvow/stylistic/rules",plugins:{style:E.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"}],...n}}]}var h=i(require("@typescript-eslint/eslint-plugin"),1),ne=i(require("@typescript-eslint/parser"),1);function w(e,r){return Object.fromEntries(Object.entries(e).map(([o,n])=>{for(let[t,f]of Object.entries(r))if(o.startsWith(`${t}/`))return[f+o.slice(t.length),n];return[o,n]}))}async function q(e={}){let{componentExts:r=[],overrides:o={},parserOptions:n={}}=e,t=[c,...r.map(f=>`**/*.${f}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:h.default},languageOptions:{parser:ne.default,parserOptions:{sourceType:"module"}},files:t,rules:{...w(h.default.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...w(h.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}],...o}}]}var se=require("local-pkg"),N=i(require("@typescript-eslint/parser"),1),ie=i(require("vue-eslint-parser"),1),a=i(require("eslint-plugin-vue"),1);async function A(e={}){let{overrides:r={},vueVersion:o=pe()}=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:ie.default,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:N.default,tsx:N.default},sourceType:"module"}},processor:a.default.processors[".vue"],files:[O],rules:{...a.default.configs.base.rules,...o===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",...r}}]}function pe(){let e=(0,se.getPackageInfoSync)("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var Ie=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"],Pe={"@stylistic":"style","@typescript-eslint":"typescript","import-x":"import"};function _(e={},...r){let{autoRenamePlugins:o=!0,componentExts:n=[],gitignore:t=!0,regexp:f=!0,typescript:m=(0,V.isPackageExists)("typescript"),vue:v=["vue","nuxt","vitepress"].some(y=>(0,V.isPackageExists)(y)),stylistic:C=!0}=e,s=[];s.push(G(),k({...u(e,"javascript")}),F()),t&&s.push(T({...u(e,"gitignore")})),v&&n.push("vue"),m&&s.push(q({...u(e,"typescript"),componentExts:n})),f&&s.push(P({...u(e,"regexp")})),C&&s.push(R({...u(e,"stylistic")})),v&&s.push(A({...u(e,"vue")}));let g=Ie.reduce((y,L)=>(L in e&&(y[L]=e[L]),y),{});Object.keys(g).length&&s.push([g]),s.push(B());let d=new fe.FlatConfigComposer;return d=d.append(...s,...r),o&&(d=d.renamePlugins(Pe)),d}function u(e,r){return(0,ae.isBoolean)(e[r])?{}:e[r]||{}}var Ee=_;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,regexp,renameRules,stylistic,typescript,vue});
|
|
1
|
+
"use strict";var ce=Object.create;var x=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var de=(e,r)=>{for(var o in r)x(e,o,{get:r[o],enumerable:!0})},D=(e,r,o,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of ue(r))!ve.call(e,t)&&t!==o&&x(e,t,{get:()=>r[t],enumerable:!(n=le(r,t))||n.enumerable});return e};var i=(e,r,o)=>(o=e!=null?ce(me(e)):{},D(r||!e||!e.__esModule?x(o,"default",{value:e,enumerable:!0}):o,e)),ge=e=>D(x({},"__esModule",{value:!0}),e);var Re={};de(Re,{GLOB_ALL_SRC:()=>Be,GLOB_ASTRO:()=>je,GLOB_CSS:()=>we,GLOB_EXCLUDE:()=>j,GLOB_GRAPHQL:()=>Ge,GLOB_HTML:()=>Q,GLOB_JS:()=>ye,GLOB_JSON:()=>J,GLOB_JSON5:()=>W,GLOB_JSONC:()=>Le,GLOB_JSX:()=>xe,GLOB_LESS:()=>_e,GLOB_MARKDOWN:()=>S,GLOB_MARKDOWN_CODE:()=>Fe,GLOB_MARKDOWN_IN_MARKDOWN:()=>Te,GLOB_POSTCSS:()=>he,GLOB_SCSS:()=>Ce,GLOB_SRC:()=>c,GLOB_SRC_EXT:()=>l,GLOB_STYLE:()=>X,GLOB_SVELTE:()=>H,GLOB_TESTS:()=>ke,GLOB_TOML:()=>Se,GLOB_TS:()=>Oe,GLOB_TSX:()=>be,GLOB_VUE:()=>O,GLOB_XML:()=>Y,GLOB_YAML:()=>z,StylisticConfigDefaults:()=>te,default:()=>Ee,getVueVersion:()=>pe,gitignore:()=>T,ignores:()=>G,imports:()=>F,javascript:()=>k,lntvow:()=>_,prettier:()=>B,regexp:()=>P,renameRules:()=>w,stylistic:()=>R,typescript:()=>q,vue:()=>A});module.exports=ge(Re);var fe=require("eslint-flat-config-utils"),ae=require("@lntvow/utils"),V=require("local-pkg");var U=i(require("fs"),1),$=require("find-up"),M=require("@lntvow/utils"),K=i(require("parse-gitignore"),1);async function T(e){let{name:r=".gitignore",root:o=!1,files:n=o?r:(0,$.findUpSync)(r)||[]}=e,t=(0,M.castArray)(n),f=[];for(let m of t)try{let v=U.default.readFileSync(m,"utf8"),C=(0,K.default)(v).globs();for(let s of C)s.type==="ignore"?f.push(...s.patterns):s.type==="unignore"&&f.push(...s.patterns.map(g=>`!${g}`))}catch{throw new Error(`Failed to read file: ${m}`)}return[{ignores:f}]}var l="?([cm])[jt]s?(x)",c="**/*.?([cm])[jt]s?(x)",ye="**/*.?([cm])js",xe="**/*.?([cm])jsx",Oe="**/*.?([cm])ts",be="**/*.?([cm])tsx",X="**/*.{c,le,sc}ss",we="**/*.css",he="**/*.{p,post}css",_e="**/*.less",Ce="**/*.scss",J="**/*.json",W="**/*.json5",Le="**/*.jsonc",S="**/*.md",Te="**/*.md/*.md",H="**/*.svelte",O="**/*.vue",z="**/*.y?(a)ml",Se="**/*.toml",Y="**/*.xml",Q="**/*.htm?(l)",je="**/*.astro",Ge="**/*.{g,graph}ql",Fe=`${S}/${c}`,ke=[`**/__tests__/**/*.${l}`,`**/*.spec.${l}`,`**/*.test.${l}`,`**/*.bench.${l}`,`**/*.benchmark.${l}`],Be=[c,X,J,W,S,H,O,z,Y,Q],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","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];async function G(){return[{ignores:[...j]}]}var Z=i(require("eslint-plugin-import-x"),1);async function F(){return[{name:"lntvow/imports/rules",plugins:{import:Z.default},rules:{"import/order":"error","import/newline-after-import":"error"}}]}var ee=i(require("@eslint/js"),1),b=i(require("globals"),1);async function k(e={}){let{overrides:r={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...b.default.browser,...b.default.es2021,...b.default.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...ee.default.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],"no-useless-assignment":"off","require-atomic-updates":"off",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-undefined":"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",...r}},{files:[`scripts/${c}`],name:"lntvow/javascript/disables",rules:{"no-console":"off"}}]}var re=i(require("eslint-plugin-prettier"),1),oe=i(require("eslint-config-prettier"),1);async function B(){return[{name:"lntvow/prettier/rules",plugins:{prettier:re.default},rules:{...oe.default.rules,"prettier/prettier":"warn"}}]}var I=require("eslint-plugin-regexp");async function P(e={}){let{overrides:r}=e,o=I.configs["flat/recommended"].plugins.regexp,{rules:n}=I.configs["flat/recommended"];return[{name:"lntvow/regexp/rules",plugins:{regexp:o},rules:{...n,...r}}]}var E=i(require("@stylistic/eslint-plugin"),1),te={indent:2,jsx:!0,quotes:"single",semi:!1};async function R(e={}){let{indent:r,jsx:o,overrides:n={},quotes:t,semi:f}={...te,...e},m=E.default.configs.customize({flat:!0,indent:r,jsx:o,pluginName:"style",quotes:t,semi:f});return[{name:"lntvow/stylistic/rules",plugins:{style:E.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"}],...n}}]}var h=i(require("@typescript-eslint/eslint-plugin"),1),ne=i(require("@typescript-eslint/parser"),1);function w(e,r){return Object.fromEntries(Object.entries(e).map(([o,n])=>{for(let[t,f]of Object.entries(r))if(o.startsWith(`${t}/`))return[f+o.slice(t.length),n];return[o,n]}))}async function q(e={}){let{componentExts:r=[],overrides:o={},parserOptions:n={}}=e,t=[c,...r.map(f=>`**/*.${f}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:h.default},languageOptions:{parser:ne.default,parserOptions:{sourceType:"module"}},files:t,rules:{...w(h.default.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...w(h.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}],...o}}]}var se=require("local-pkg"),N=i(require("@typescript-eslint/parser"),1),ie=i(require("vue-eslint-parser"),1),a=i(require("eslint-plugin-vue"),1);async function A(e={}){let{overrides:r={},vueVersion:o=pe()}=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:ie.default,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:N.default,tsx:N.default},sourceType:"module"}},processor:a.default.processors[".vue"],files:[O],rules:{...a.default.configs.base.rules,...o===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":"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 pe(){let e=(0,se.getPackageInfoSync)("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var Ie=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"],Pe={"@stylistic":"style","@typescript-eslint":"typescript","import-x":"import"};function _(e={},...r){let{autoRenamePlugins:o=!0,componentExts:n=[],gitignore:t=!0,regexp:f=!0,typescript:m=(0,V.isPackageExists)("typescript"),vue:v=["vue","nuxt","vitepress"].some(y=>(0,V.isPackageExists)(y)),stylistic:C=!0}=e,s=[];s.push(G(),k({...u(e,"javascript")}),F()),t&&s.push(T({...u(e,"gitignore")})),v&&n.push("vue"),m&&s.push(q({...u(e,"typescript"),componentExts:n})),v&&s.push(A({...u(e,"vue")})),f&&s.push(P({...u(e,"regexp")})),C&&s.push(R({...u(e,"stylistic")}));let g=Ie.reduce((y,L)=>(L in e&&(y[L]=e[L]),y),{});Object.keys(g).length&&s.push([g]),s.push(B());let d=new fe.FlatConfigComposer;return d=d.append(...s,...r),o&&(d=d.renamePlugins(Pe)),d}function u(e,r){return(0,ae.isBoolean)(e[r])?{}:e[r]||{}}var Ee=_;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,regexp,renameRules,stylistic,typescript,vue});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{FlatConfigComposer as ie}from"eslint-flat-config-utils";import{isBoolean as pe}from"@lntvow/utils";import{isPackageExists as A}from"local-pkg";import V from"fs";import{findUpSync as D}from"find-up";import{castArray as U}from"@lntvow/utils";import $ from"parse-gitignore";async function L(e){let{name:r=".gitignore",root:o=!1,files:t=o?r:D(r)||[]}=e,p=U(t),f=[];for(let u of p)try{let m=V.readFileSync(u,"utf8"),x=$(m).globs();for(let n of x)n.type==="ignore"?f.push(...n.patterns):n.type==="unignore"&&f.push(...n.patterns.map(g=>`!${g}`))}catch{throw new Error(`Failed to read file: ${u}`)}return[{ignores:f}]}var d="?([cm])[jt]s?(x)",c="**/*.?([cm])[jt]s?(x)",ge="**/*.?([cm])js",ye="**/*.?([cm])jsx",xe="**/*.?([cm])ts",Oe="**/*.?([cm])tsx",M="**/*.{c,le,sc}ss",be="**/*.css",we="**/*.{p,post}css",he="**/*.less",_e="**/*.scss",K="**/*.json",X="**/*.json5",Ce="**/*.jsonc",T="**/*.md",Le="**/*.md/*.md",J="**/*.svelte",b="**/*.vue",W="**/*.y?(a)ml",Te="**/*.toml",H="**/*.xml",z="**/*.htm?(l)",Se="**/*.astro",je="**/*.{g,graph}ql",Ge=`${T}/${c}`,Fe=[`**/__tests__/**/*.${d}`,`**/*.spec.${d}`,`**/*.test.${d}`,`**/*.bench.${d}`,`**/*.benchmark.${d}`],ke=[c,M,K,X,T,J,b,W,H,z],S=["**/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 j(){return[{ignores:[...S]}]}import Y from"eslint-plugin-import-x";async function G(){return[{name:"lntvow/imports/rules",plugins:{import:Y},rules:{"import/order":"error","import/newline-after-import":"error"}}]}import Q from"@eslint/js";import w from"globals";async function F(e={}){let{overrides:r={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...w.browser,...w.es2021,...w.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...Q.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],"no-useless-assignment":"off","require-atomic-updates":"off",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-undefined":"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",...r}},{files:[`scripts/${c}`],name:"lntvow/javascript/disables",rules:{"no-console":"off"}}]}import Z from"eslint-plugin-prettier";import ee from"eslint-config-prettier";async function k(){return[{name:"lntvow/prettier/rules",plugins:{prettier:Z},rules:{...ee.rules,"prettier/prettier":"warn"}}]}import{configs as B}from"eslint-plugin-regexp";async function I(e={}){let{overrides:r}=e,o=B["flat/recommended"].plugins.regexp,{rules:t}=B["flat/recommended"];return[{name:"lntvow/regexp/rules",plugins:{regexp:o},rules:{...t,...r}}]}import P from"@stylistic/eslint-plugin";var re={indent:2,jsx:!0,quotes:"single",semi:!1};async function E(e={}){let{indent:r,jsx:o,overrides:t={},quotes:p,semi:f}={...re,...e},u=P.configs.customize({flat:!0,indent:r,jsx:o,pluginName:"style",quotes:p,semi:f});return[{name:"lntvow/stylistic/rules",plugins:{style:P},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"}],...t}}]}import _ from"@typescript-eslint/eslint-plugin";import oe from"@typescript-eslint/parser";function h(e,r){return Object.fromEntries(Object.entries(e).map(([o,t])=>{for(let[p,f]of Object.entries(r))if(o.startsWith(`${p}/`))return[f+o.slice(p.length),t];return[o,t]}))}async function R(e={}){let{componentExts:r=[],overrides:o={},parserOptions:t={}}=e,p=[c,...r.map(f=>`**/*.${f}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:_},languageOptions:{parser:oe,parserOptions:{sourceType:"module"}},files:p,rules:{...h(_.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...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}],...o}}]}import{getPackageInfoSync as te}from"local-pkg";import q from"@typescript-eslint/parser";import ne from"vue-eslint-parser";import a from"eslint-plugin-vue";async function N(e={}){let{overrides:r={},vueVersion:o=se()}=e,t={...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"},p={...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:ne,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:q,tsx:q},sourceType:"module"}},processor:a.processors[".vue"],files:[b],rules:{...a.configs.base.rules,...o===3?t:p,"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",...r}}]}function se(){let e=te("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var fe=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"],ae={"@stylistic":"style","@typescript-eslint":"typescript","import-x":"import"};function C(e={},...r){let{autoRenamePlugins:o=!0,componentExts:t=[],gitignore:p=!0,regexp:f=!0,typescript:u=A("typescript"),vue:m=["vue","nuxt","vitepress"].some(y=>A(y)),stylistic:x=!0}=e,n=[];n.push(j(),F({...l(e,"javascript")}),G()),p&&n.push(L({...l(e,"gitignore")})),m&&t.push("vue"),u&&n.push(R({...l(e,"typescript"),componentExts:t})),f&&n.push(I({...l(e,"regexp")})),x&&n.push(E({...l(e,"stylistic")})),m&&n.push(N({...l(e,"vue")}));let g=fe.reduce((y,O)=>(O in e&&(y[O]=e[O]),y),{});Object.keys(g).length&&n.push([g]),n.push(k());let v=new ie;return v=v.append(...n,...r),o&&(v=v.renamePlugins(ae)),v}function l(e,r){return pe(e[r])?{}:e[r]||{}}var Pr=C;export{ke as GLOB_ALL_SRC,Se as GLOB_ASTRO,be as GLOB_CSS,S as GLOB_EXCLUDE,je as GLOB_GRAPHQL,z as GLOB_HTML,ge as GLOB_JS,K as GLOB_JSON,X as GLOB_JSON5,Ce as GLOB_JSONC,ye as GLOB_JSX,he as GLOB_LESS,T as GLOB_MARKDOWN,Ge as GLOB_MARKDOWN_CODE,Le as GLOB_MARKDOWN_IN_MARKDOWN,we as GLOB_POSTCSS,_e as GLOB_SCSS,c as GLOB_SRC,d as GLOB_SRC_EXT,M as GLOB_STYLE,J as GLOB_SVELTE,Fe as GLOB_TESTS,Te as GLOB_TOML,xe as GLOB_TS,Oe as GLOB_TSX,b as GLOB_VUE,H as GLOB_XML,W as GLOB_YAML,re as StylisticConfigDefaults,Pr as default,se as getVueVersion,L as gitignore,j as ignores,G as imports,F as javascript,C as lntvow,k as prettier,I as regexp,h as renameRules,E as stylistic,R as typescript,N as vue};
|
|
1
|
+
import{FlatConfigComposer as ie}from"eslint-flat-config-utils";import{isBoolean as pe}from"@lntvow/utils";import{isPackageExists as A}from"local-pkg";import V from"fs";import{findUpSync as D}from"find-up";import{castArray as U}from"@lntvow/utils";import $ from"parse-gitignore";async function L(e){let{name:r=".gitignore",root:o=!1,files:t=o?r:D(r)||[]}=e,p=U(t),f=[];for(let u of p)try{let m=V.readFileSync(u,"utf8"),x=$(m).globs();for(let n of x)n.type==="ignore"?f.push(...n.patterns):n.type==="unignore"&&f.push(...n.patterns.map(g=>`!${g}`))}catch{throw new Error(`Failed to read file: ${u}`)}return[{ignores:f}]}var d="?([cm])[jt]s?(x)",c="**/*.?([cm])[jt]s?(x)",ge="**/*.?([cm])js",ye="**/*.?([cm])jsx",xe="**/*.?([cm])ts",Oe="**/*.?([cm])tsx",M="**/*.{c,le,sc}ss",be="**/*.css",we="**/*.{p,post}css",he="**/*.less",_e="**/*.scss",K="**/*.json",X="**/*.json5",Ce="**/*.jsonc",T="**/*.md",Le="**/*.md/*.md",J="**/*.svelte",b="**/*.vue",W="**/*.y?(a)ml",Te="**/*.toml",H="**/*.xml",z="**/*.htm?(l)",Se="**/*.astro",je="**/*.{g,graph}ql",Ge=`${T}/${c}`,Fe=[`**/__tests__/**/*.${d}`,`**/*.spec.${d}`,`**/*.test.${d}`,`**/*.bench.${d}`,`**/*.benchmark.${d}`],ke=[c,M,K,X,T,J,b,W,H,z],S=["**/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 j(){return[{ignores:[...S]}]}import Y from"eslint-plugin-import-x";async function G(){return[{name:"lntvow/imports/rules",plugins:{import:Y},rules:{"import/order":"error","import/newline-after-import":"error"}}]}import Q from"@eslint/js";import w from"globals";async function F(e={}){let{overrides:r={}}=e;return[{name:"lntvow/javascript/rules",languageOptions:{ecmaVersion:2022,sourceType:"module",parserOptions:{ecmaVersion:2022,sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...w.browser,...w.es2021,...w.node,document:"readonly",navigator:"readonly",window:"readonly"}},linterOptions:{reportUnusedDisableDirectives:!0},rules:{...Q.configs.all.rules,"no-unused-vars":"warn","no-use-before-define":["error",{functions:!1}],"no-useless-assignment":"off","require-atomic-updates":"off",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-undefined":"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",...r}},{files:[`scripts/${c}`],name:"lntvow/javascript/disables",rules:{"no-console":"off"}}]}import Z from"eslint-plugin-prettier";import ee from"eslint-config-prettier";async function k(){return[{name:"lntvow/prettier/rules",plugins:{prettier:Z},rules:{...ee.rules,"prettier/prettier":"warn"}}]}import{configs as B}from"eslint-plugin-regexp";async function I(e={}){let{overrides:r}=e,o=B["flat/recommended"].plugins.regexp,{rules:t}=B["flat/recommended"];return[{name:"lntvow/regexp/rules",plugins:{regexp:o},rules:{...t,...r}}]}import P from"@stylistic/eslint-plugin";var re={indent:2,jsx:!0,quotes:"single",semi:!1};async function E(e={}){let{indent:r,jsx:o,overrides:t={},quotes:p,semi:f}={...re,...e},u=P.configs.customize({flat:!0,indent:r,jsx:o,pluginName:"style",quotes:p,semi:f});return[{name:"lntvow/stylistic/rules",plugins:{style:P},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"}],...t}}]}import _ from"@typescript-eslint/eslint-plugin";import oe from"@typescript-eslint/parser";function h(e,r){return Object.fromEntries(Object.entries(e).map(([o,t])=>{for(let[p,f]of Object.entries(r))if(o.startsWith(`${p}/`))return[f+o.slice(p.length),t];return[o,t]}))}async function R(e={}){let{componentExts:r=[],overrides:o={},parserOptions:t={}}=e,p=[c,...r.map(f=>`**/*.${f}`)];return[{name:"lntvow/typescript/rules",plugins:{typescript:_},languageOptions:{parser:oe,parserOptions:{sourceType:"module"}},files:p,rules:{...h(_.configs["eslint-recommended"].overrides[0].rules,{"@typescript-eslint":"typescript"}),...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}],...o}}]}import{getPackageInfoSync as te}from"local-pkg";import q from"@typescript-eslint/parser";import ne from"vue-eslint-parser";import a from"eslint-plugin-vue";async function N(e={}){let{overrides:r={},vueVersion:o=se()}=e,t={...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"},p={...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:ne,parserOptions:{ecmaFeatures:{jsx:!0},parser:{ts:q,tsx:q},sourceType:"module"}},processor:a.processors[".vue"],files:[b],rules:{...a.configs.base.rules,...o===3?t:p,"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":"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 se(){let e=te("vue",{paths:[process.cwd()]});return e&&e.version?+e.version[0]:3}var fe=["name","files","ignores","languageOptions","linterOptions","processor","plugins","rules","settings"],ae={"@stylistic":"style","@typescript-eslint":"typescript","import-x":"import"};function C(e={},...r){let{autoRenamePlugins:o=!0,componentExts:t=[],gitignore:p=!0,regexp:f=!0,typescript:u=A("typescript"),vue:m=["vue","nuxt","vitepress"].some(y=>A(y)),stylistic:x=!0}=e,n=[];n.push(j(),F({...l(e,"javascript")}),G()),p&&n.push(L({...l(e,"gitignore")})),m&&t.push("vue"),u&&n.push(R({...l(e,"typescript"),componentExts:t})),m&&n.push(N({...l(e,"vue")})),f&&n.push(I({...l(e,"regexp")})),x&&n.push(E({...l(e,"stylistic")}));let g=fe.reduce((y,O)=>(O in e&&(y[O]=e[O]),y),{});Object.keys(g).length&&n.push([g]),n.push(k());let v=new ie;return v=v.append(...n,...r),o&&(v=v.renamePlugins(ae)),v}function l(e,r){return pe(e[r])?{}:e[r]||{}}var Pr=C;export{ke as GLOB_ALL_SRC,Se as GLOB_ASTRO,be as GLOB_CSS,S as GLOB_EXCLUDE,je as GLOB_GRAPHQL,z as GLOB_HTML,ge as GLOB_JS,K as GLOB_JSON,X as GLOB_JSON5,Ce as GLOB_JSONC,ye as GLOB_JSX,he as GLOB_LESS,T as GLOB_MARKDOWN,Ge as GLOB_MARKDOWN_CODE,Le as GLOB_MARKDOWN_IN_MARKDOWN,we as GLOB_POSTCSS,_e as GLOB_SCSS,c as GLOB_SRC,d as GLOB_SRC_EXT,M as GLOB_STYLE,J as GLOB_SVELTE,Fe as GLOB_TESTS,Te as GLOB_TOML,xe as GLOB_TS,Oe as GLOB_TSX,b as GLOB_VUE,H as GLOB_XML,W as GLOB_YAML,re as StylisticConfigDefaults,Pr as default,se as getVueVersion,L as gitignore,j as ignores,G as imports,F as javascript,C as lntvow,k as prettier,I as regexp,h as renameRules,E as stylistic,R as typescript,N as vue};
|