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