eslint-config-sukka 6.14.0 → 6.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";const e=e=>Promise.resolve(require(e));var r,t,n=require("@eslint-sukka/shared"),s=require("node:fs"),o=require("node:path"),i=require("node:process"),a=require("./vendor-BeFyeNIQ.cjs"),l=require("@eslint-community/eslint-plugin-eslint-comments"),c=require("eslint-plugin-sukka"),p=require("eslint-plugin-promise"),u=require("eslint-plugin-regexp"),m=require("@eslint/js"),f=require("@stylistic/eslint-plugin-js"),d=require("@stylistic/eslint-plugin-plus"),y=require("eslint-plugin-unused-imports"),g=require("eslint-plugin-import-x"),k=require("eslint-plugin-de-morgan"),b=require("eslint-plugin-autofix"),w=require("eslint-plugin-jsonc"),h=require("jsonc-eslint-parser"),x=require("typescript-eslint"),j=require("@stylistic/eslint-plugin-ts"),v=require("node:url"),T=require("eslint-import-resolver-typescript"),S=require("picocolors"),E=require("defu"),I=require("ci-info"),C="undefined"!=typeof document?document.currentScript:null;function P(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}var O=P(s),A=P(o),D=P(u),L={},q=a.g(O),R=a.g(A),_=function(){if(t)return L;t=1;let e=new Map([["getSource","getText"],["getSourceLines","getLines"],["getAllComments","getAllComments"],["getDeclaredVariables","getDeclaredVariables"],["getNodeByRangeIndex","getNodeByRangeIndex"],["getCommentsBefore","getCommentsBefore"],["getCommentsAfter","getCommentsAfter"],["getCommentsInside","getCommentsInside"],["getJSDocComment","getJSDocComment"],["getFirstToken","getFirstToken"],["getFirstTokens","getFirstTokens"],["getLastToken","getLastToken"],["getLastTokens","getLastTokens"],["getTokenAfter","getTokenAfter"],["getTokenBefore","getTokenBefore"],["getTokenByRangeStart","getTokenByRangeStart"],["getTokens","getTokens"],["getTokensAfter","getTokensAfter"],["getTokensBefore","getTokensBefore"],["getTokensBetween","getTokensBetween"]]),r=new WeakMap,n=new WeakSet,s=new WeakMap,o=new WeakSet;function i(t){if(r.has(t))return r.get(t);let s="function"==typeof t;if(!s&&n.has(t))return t;let o=s?t:t.create.bind(t),i={...s?void 0:t,create:function(r){if("getScope"in r)return o(r);let t=r.sourceCode,n=t.ast,s=Object.assign(Object.create(r),{parserServices:t.parserServices,getScope:()=>t.getScope(n),getAncestors:()=>t.getAncestors(n),markVariableAsUsed(e){t.markVariableAsUsed(e,n)}});for(let[r,n]of e)s[r]=t[n].bind(t);Object.freeze(s);let i=o(s);for(let[e,r]of Object.entries(i)){if(e.startsWith("on")){i[e]=(...t)=>(n=t["onCodePathSegmentLoop"===e?2:1],r.call(i,...t));continue}i[e]=(...e)=>(n=e[0],r.call(i,...e))}return i}},{schema:a}=t;return a&&(i.meta?i.meta={...i.meta,schema:a}:i.meta={schema:a}),r.set(t,i),n.add(i),i}function a(e){if(s.has(e))return s.get(e);if(o.has(e)||!e.rules)return e;let r={...e,rules:Object.fromEntries(Object.entries(e.rules).map(([e,r])=>[e,i(r)]))};return s.set(e,r),o.add(r),r}function l(e){let r=e.startsWith("!"),t=r?"!":"",n=(r?e.slice(1):e).trimEnd();if(["","**","/**","**/"].includes(n))return`${t}${n}`;let s=n.indexOf("/"),o=s<0||s===n.length-1?"**/":"",i=(0===s?n.slice(1):n).replaceAll(/(?=((?:\\.|[^{(])*))\1([{(])/guy,"$1\\$2"),a=n.endsWith("/**")?"/*":"";return`${t}${o}${i}${a}`}return L.convertIgnorePatternToMinimatch=l,L.fixupConfigRules=function(e){return(Array.isArray(e)?e:[e]).map(e=>{if(!e.plugins)return e;let r=Object.fromEntries(Object.entries(e.plugins).map(([e,r])=>[e,a(r)]));return{...e,plugins:r}})},L.fixupPluginRules=a,L.fixupRule=i,L.includeIgnoreFile=function(e){if(!R.isAbsolute(e))throw Error("The ignore file location must be an absolute path.");return{name:"Imported .gitignore patterns",ignores:q.readFileSync(e,"utf8").split(/\r?\n/u).map(e=>e.trim()).filter(e=>e&&!e.startsWith("#")).map(l)}},L}();const F=".gitignore";function N(e={}){let r=[],{root:t=!1,files:n=t?F:function(e,{cwd:r=i.cwd()}={}){let t=o.resolve(r),{root:n}=o.parse(t);for(;t&&t!==n;){let r=o.isAbsolute(e)?e:o.join(t,e);try{if(s.statSync(r).isFile())return r}catch{}t=o.dirname(t)}}(F)||[],strict:a=!0,cwd:l=i.cwd()}=e,c=Array.isArray(n)?n:[n];for(let e of c){let t="";try{t=s.readFileSync(e,"utf8")}catch(e){if(a)throw e;continue}let n=o.relative(l,o.dirname(e)).replaceAll("\\","/"),i=t.split(/\r?\n/u).filter(e=>e&&!e.startsWith("#")).map(e=>_.convertIgnorePatternToMinimatch(e)).map(e=>(function(e,r,t){if(["",".","/"].includes(r))return e;let n=e.startsWith("!")?"!":"",s=n?e.slice(1):e;if(r.endsWith("/")||(r=`${r}/`),!r.startsWith(".."))return`${n}${r}${s}`;if(!r.match(/^(\.\.\/)+$/))throw Error("The ignore file location should be either a parent or child directory");if(s.startsWith("**"))return e;let i=o.relative(o.resolve(t,r),t).split(/[/\\]/);for(;i.length&&s.startsWith(`${i[0]}/`);)s=s.slice(i[0].length+1),i.shift();return s.startsWith("**")||0===i.length?`${n}${s}`:null})(e,n,l)).filter(e=>null!==e);r.push(...i)}if(a&&0===c.length)throw Error("No .gitignore file found");return{name:e.name||"gitignore",ignores:r}}function B(e={}){let{customGlobs:r=null,gitignore:t=[".gitignore"]}=e,s=[],o=[];return!1===r||null===r?o=n.constants.GLOB_EXCLUDE:"function"==typeof r?o=r(n.constants.GLOB_EXCLUDE):"string"==typeof r?o.push(...n.constants.GLOB_EXCLUDE,r):Array.isArray(r)&&o.push(...n.constants.GLOB_EXCLUDE,...r),s.push({ignores:o}),!1===t||null===t||(!0===t?s.push(N({files:[".gitignore"],strict:!1})):("string"==typeof t||Array.isArray(t))&&s.push(N({files:t,strict:!1}))),s}const $=["consistent-chaining","consistent-list-newline","curly","if-newline","import-dedupe","indent-unindent","top-level-function"],M="https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/",W=(r=e=>$.includes(e)?`${M}${e}.md`:`${M}${e}.test.ts`,function({name:e,meta:t,...n}){return function({create:e,defaultOptions:r,meta:t}){return{create:t=>{let n=t.options.map((e,t)=>({...r[t]||{},...e||{}}));return e(t,n)},defaultOptions:r,meta:t}}({meta:{...t,docs:{...t.docs,url:r(e)}},...n})}),U=W({name:"consistent-chaining",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{allowLeadingPropertyAccess:{type:"boolean",description:"Allow leading property access to be on the same line",default:!0}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{allowLeadingPropertyAccess:!0}],create:e=>{let r=new WeakSet,{allowLeadingPropertyAccess:t=!0}=e.options[0]||{};return{MemberExpression(n){let s=n;for(;s.parent&&("MemberExpression"===s.parent.type||"CallExpression"===s.parent.type);)s=s.parent;if(r.has(s))return;r.add(s);let o=[],i=s;for(;i;)switch(i.type){case"MemberExpression":i.computed||o.unshift(i),i=i.object;break;case"CallExpression":i=i.callee;break;default:i=void 0}let a=t,l=null;o.forEach(r=>{let t=e.sourceCode.getTokenBefore(r.property),n=e.sourceCode.getTokenBefore(t),o=t.loc.start.line===n.loc.end.line?"single":"multi";if(!a||"ThisExpression"!==r.object.type&&"Identifier"!==r.object.type&&"MemberExpression"!==r.object.type&&"Literal"!==r.object.type||"single"!==o){if(a=!1,null==l){l=o;return}l!==o&&e.report({messageId:"single"===l?"shouldNotWrap":"shouldWrap",loc:t.loc,data:{name:s.type},fix:e=>"multi"===l?e.insertTextAfter(n,"\n"):e.removeRange([n.range[1],t.range[0]])})}})}}}}),V=W({name:"consistent-list-newline",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{ArrayExpression:{type:"boolean"},ArrayPattern:{type:"boolean"},ArrowFunctionExpression:{type:"boolean"},CallExpression:{type:"boolean"},ExportNamedDeclaration:{type:"boolean"},FunctionDeclaration:{type:"boolean"},FunctionExpression:{type:"boolean"},ImportDeclaration:{type:"boolean"},JSONArrayExpression:{type:"boolean"},JSONObjectExpression:{type:"boolean"},JSXOpeningElement:{type:"boolean"},NewExpression:{type:"boolean"},ObjectExpression:{type:"boolean"},ObjectPattern:{type:"boolean"},TSFunctionType:{type:"boolean"},TSInterfaceDeclaration:{type:"boolean"},TSTupleType:{type:"boolean"},TSTypeLiteral:{type:"boolean"},TSTypeParameterDeclaration:{type:"boolean"},TSTypeParameterInstantiation:{type:"boolean"}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{}],create:(e,[r={}]=[{}])=>{function t(r,t,n,s){let o=[t,n],i=e.sourceCode.text.slice(...o);return r.replaceTextRange(o,i.replace(/(\r\n|\n)/g,s??""))}function n(r,t){if("TSInterfaceDeclaration"===r.type||"TSTypeLiteral"===r.type)return e.sourceCode.text.slice(t.range[0],t.range[1]).match(/(?:,|;)$/)?void 0:","}function s(e){let r=e;for(;"Program"!==r.type;)r=r.parent;let t=e.range;return!!r.comments?.some(e=>{let r=e.range;return r[0]>t[0]&&r[1]<t[1]})}function o(r,s,o){let i=s.filter(Boolean);if(0===i.length)return;let a=["CallExpression","NewExpression"].includes(r.type)?void 0:e.sourceCode.getFirstToken(r);"CallExpression"===r.type&&(a=e.sourceCode.getTokenAfter(r.typeArguments?r.typeArguments:"MemberExpression"===r.callee.type?r.callee.property:r.callee)),a?.type!=="Punctuator"&&(a=e.sourceCode.getTokenBefore(i[0]));let l=e.sourceCode.getTokenAfter(i[i.length-1]),c=a.loc.start.line;if(a.loc.start.line===l.loc.end.line)return;let p=null,u=c;i.forEach((s,o)=>{if(null==p){p=s.loc.start.line===u?"inline":"newline",u=s.loc.end.line;return}let a=s.loc.start.line;if("newline"===p&&a===u)e.report({node:s,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextBefore(s,"\n")}});else if("inline"===p&&a!==u){let a=i[o-1];if(e.sourceCode.getCommentsBefore(s).length>0)return;e.sourceCode.text.slice(a.range[1],s.range[0]).includes("\n")&&e.report({node:s,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,a.range[1],s.range[0],n(r,a))}})}u=s.loc.end.line});let m=o?Math.min(e.sourceCode.getTokenBefore(o).range[0],r.range[1]):r.range[1],f=e.sourceCode.getLocFromIndex(m),d=i[i.length-1];if("newline"===p&&f.line===u)e.report({node:d,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextAfter(d,"\n")}});else if("inline"===p&&f.line!==u){if(1===i.length&&i[0].loc.start.line!==i[1]?.loc.start.line||e.sourceCode.getCommentsAfter(d).length>0)return;e.sourceCode.text.slice(d.range[1],m).includes("\n")&&e.report({node:d,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,d.range[1],m,n(r,d))}})}}let i={ObjectExpression:e=>{o(e,e.properties)},ArrayExpression:e=>{o(e,e.elements)},ImportDeclaration:e=>{o(e,e.specifiers[0]?.type==="ImportDefaultSpecifier"?e.specifiers.slice(1):e.specifiers)},ExportNamedDeclaration:e=>{o(e,e.specifiers)},FunctionDeclaration:e=>{o(e,e.params,e.returnType||e.body)},FunctionExpression:e=>{o(e,e.params,e.returnType||e.body)},ArrowFunctionExpression:e=>{e.params.length<=1||o(e,e.params,e.returnType||e.body)},CallExpression:e=>{o(e,e.arguments)},TSInterfaceDeclaration:e=>{o(e,e.body.body)},TSTypeLiteral:e=>{o(e,e.members)},TSTupleType:e=>{o(e,e.elementTypes)},TSFunctionType:e=>{o(e,e.params)},NewExpression:e=>{o(e,e.arguments)},TSTypeParameterDeclaration(e){o(e,e.params)},TSTypeParameterInstantiation(e){o(e,e.params)},ObjectPattern(e){o(e,e.properties,e.typeAnnotation)},ArrayPattern(e){o(e,e.elements)},JSXOpeningElement(e){e.attributes.some(e=>e.loc.start.line!==e.loc.end.line)||o(e,e.attributes)},JSONArrayExpression(e){s(e)||o(e,e.elements)},JSONObjectExpression(e){s(e)||o(e,e.properties)}};return Object.keys(r).forEach(e=>{!1===r[e]&&delete i[e]}),i}}),J=W({name:"curly",meta:{type:"layout",docs:{description:"Enforce Anthony's style of curly bracket"},fixable:"whitespace",schema:[],messages:{missingCurlyBrackets:"Expect curly brackets"}},defaultOptions:[],create:e=>{function r(t,n=[]){[...t,...n].map(e=>(function(e){if(!e)return!1;if("BlockStatement"===e.type||["IfStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement"].includes(e.type))return!0;let r="ExpressionStatement"===e.type?e.expression:e;return r.loc.start.line!==r.loc.end.line})(e)).some(e=>e)&&t.map(r=>{"BlockStatement"!==r.type&&e.report({node:r,messageId:"missingCurlyBrackets",*fix(t){yield t.insertTextAfter(r,"\n}");let n=e.sourceCode.getTokenBefore(r);yield t.insertTextAfterRange(n.range," {")}})})}return{IfStatement(e){let t=e.parent;if("IfStatement"===t.type&&t.alternate===e)return;let n=[],s=[];!function e(r){n.push(r.consequent),r.test&&s.push(r.test),r.alternate&&("IfStatement"===r.alternate.type?e(r.alternate):n.push(r.alternate))}(e),r(n,s)},WhileStatement(e){r([e.body],[e.test])},DoWhileStatement(e){r([e.body],[e.test])},ForStatement(e){r([e.body])},ForInStatement(e){r([e.body])},ForOfStatement(e){r([e.body])}}}}),G=W({name:"if-newline",meta:{type:"layout",docs:{description:"Newline after if"},fixable:"whitespace",schema:[],messages:{missingIfNewline:"Expect newline after if"}},defaultOptions:[],create:e=>({IfStatement(r){r.consequent&&"BlockStatement"!==r.consequent.type&&r.test.loc.end.line===r.consequent.loc.start.line&&e.report({node:r,loc:{start:r.test.loc.end,end:r.consequent.loc.start},messageId:"missingIfNewline",fix:e=>e.replaceTextRange([r.consequent.range[0],r.consequent.range[0]],"\n")})}})}),X=W({name:"import-dedupe",meta:{type:"problem",docs:{description:"Fix duplication in imports"},fixable:"code",schema:[],messages:{importDedupe:"Expect no duplication in imports"}},defaultOptions:[],create:e=>({ImportDeclaration(r){if(r.specifiers.length<=1)return;let t=new Set;r.specifiers.forEach(n=>{let s=n.local.name;t.has(s)&&e.report({node:r,loc:{start:n.loc.end,end:n.loc.start},messageId:"importDedupe",fix(r){let t=n.range[0],s=n.range[1];return","===e.getSourceCode().text[s]&&(s+=1),r.removeRange([t,s])}}),t.add(s)})}})}),H=/^\s*$/,z=W({name:"indent-unindent",meta:{type:"layout",docs:{description:"Enforce consistent indentation in `unindent` template tag"},fixable:"code",schema:[{type:"object",properties:{indent:{type:"number",minimum:0,default:2},tags:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{"indent-unindent":"Consistent indentation in unindent tag"}},defaultOptions:[{}],create(e){let{tags:r=["$","unindent","unIndent"],indent:t=2}=e.options?.[0]??{};return{TaggedTemplateExpression(n){let s=n.tag;if(!s||"Identifier"!==s.type||!r.includes(s.name)||1!==n.quasi.quasis.length)return;let o=n.quasi.quasis[0],i=o.value.raw,a=e.sourceCode.getIndexFromLoc({line:n.loc.start.line,column:0}),l=e.sourceCode.text.slice(a).match(/^\s*/)?.[0]??"",c=l+" ".repeat(t),p=(function(e){let r=("string"==typeof e?e:e[0]).split("\n"),t=r.map(e=>H.test(e)),n=r.reduce((e,r,n)=>{var s;if(t[n])return e;let o=null==(s=r.match(/^\s*/))?void 0:s[0].length;return void 0===o?e:Math.min(e,o)},Number.POSITIVE_INFINITY),s=0;for(;s<r.length&&t[s];)s++;let o=0;for(;o<r.length&&t[r.length-o-1];)o++;return r.slice(s,r.length-o).map(e=>e.slice(n)).join("\n")})([i]).split("\n").map(e=>c+e).join("\n");(p=`
|
|
1
|
+
"use strict";const e=e=>Promise.resolve(require(e));var r,t,n=require("@eslint-sukka/shared"),s=require("node:fs"),o=require("node:path"),i=require("node:process"),a=require("./vendor-f8UCgSx_.cjs"),l=require("foxts/guard"),c=require("@eslint-community/eslint-plugin-eslint-comments"),p=require("eslint-plugin-sukka"),u=require("eslint-plugin-promise"),m=require("eslint-plugin-regexp"),f=require("@eslint/js"),d=require("@stylistic/eslint-plugin-js"),y=require("@stylistic/eslint-plugin-plus"),g=require("eslint-plugin-unused-imports"),k=require("eslint-plugin-import-x"),b=require("eslint-plugin-de-morgan"),w=require("eslint-plugin-autofix"),h=require("eslint-plugin-jsonc"),x=require("jsonc-eslint-parser"),j=require("typescript-eslint"),v=require("@stylistic/eslint-plugin-ts"),T=require("node:url"),S=require("eslint-import-resolver-typescript"),E=require("picocolors"),I=require("defu"),C=require("ci-info"),P="undefined"!=typeof document?document.currentScript:null;function O(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}var A=O(s),D=O(o),L=O(m),q={},R=a.g(A),_=a.g(D),F=function(){if(t)return q;t=1;let e=new Map([["getSource","getText"],["getSourceLines","getLines"],["getAllComments","getAllComments"],["getDeclaredVariables","getDeclaredVariables"],["getNodeByRangeIndex","getNodeByRangeIndex"],["getCommentsBefore","getCommentsBefore"],["getCommentsAfter","getCommentsAfter"],["getCommentsInside","getCommentsInside"],["getJSDocComment","getJSDocComment"],["getFirstToken","getFirstToken"],["getFirstTokens","getFirstTokens"],["getLastToken","getLastToken"],["getLastTokens","getLastTokens"],["getTokenAfter","getTokenAfter"],["getTokenBefore","getTokenBefore"],["getTokenByRangeStart","getTokenByRangeStart"],["getTokens","getTokens"],["getTokensAfter","getTokensAfter"],["getTokensBefore","getTokensBefore"],["getTokensBetween","getTokensBetween"]]),r=new WeakMap,n=new WeakSet,s=new WeakMap,o=new WeakSet;function i(t){if(r.has(t))return r.get(t);let s="function"==typeof t;if(!s&&n.has(t))return t;let o=s?t:t.create.bind(t),i={...s?void 0:t,create:function(r){if("getScope"in r)return o(r);let t=r.sourceCode,n=t.ast,s=Object.assign(Object.create(r),{parserServices:t.parserServices,getScope:()=>t.getScope(n),getAncestors:()=>t.getAncestors(n),markVariableAsUsed(e){t.markVariableAsUsed(e,n)}});for(let[r,n]of e)s[r]=t[n].bind(t);Object.freeze(s);let i=o(s);for(let[e,r]of Object.entries(i)){if(e.startsWith("on")){i[e]=(...t)=>(n=t["onCodePathSegmentLoop"===e?2:1],r.call(i,...t));continue}i[e]=(...e)=>(n=e[0],r.call(i,...e))}return i}},{schema:a}=t;return a&&(i.meta?i.meta={...i.meta,schema:a}:i.meta={schema:a}),r.set(t,i),n.add(i),i}function a(e){if(s.has(e))return s.get(e);if(o.has(e)||!e.rules)return e;let r={...e,rules:Object.fromEntries(Object.entries(e.rules).map(([e,r])=>[e,i(r)]))};return s.set(e,r),o.add(r),r}function l(e){let r=e.startsWith("!"),t=r?"!":"",n=(r?e.slice(1):e).trimEnd();if(["","**","/**","**/"].includes(n))return`${t}${n}`;let s=n.indexOf("/"),o=s<0||s===n.length-1?"**/":"",i=(0===s?n.slice(1):n).replaceAll(/(?=((?:\\.|[^{(])*))\1([{(])/guy,"$1\\$2"),a=n.endsWith("/**")?"/*":"";return`${t}${o}${i}${a}`}return q.convertIgnorePatternToMinimatch=l,q.fixupConfigRules=function(e){return(Array.isArray(e)?e:[e]).map(e=>{if(!e.plugins)return e;let r=Object.fromEntries(Object.entries(e.plugins).map(([e,r])=>[e,a(r)]));return{...e,plugins:r}})},q.fixupPluginRules=a,q.fixupRule=i,q.includeIgnoreFile=function(e){if(!_.isAbsolute(e))throw Error("The ignore file location must be an absolute path.");return{name:"Imported .gitignore patterns",ignores:R.readFileSync(e,"utf8").split(/\r?\n/u).map(e=>e.trim()).filter(e=>e&&!e.startsWith("#")).map(l)}},q}();const N=".gitignore";function B(e={}){let r=[],{root:t=!1,files:n=t?N:function(e,{cwd:r=i.cwd()}={}){let t=o.resolve(r),{root:n}=o.parse(t);for(;t&&t!==n;){let r=o.isAbsolute(e)?e:o.join(t,e);try{if(s.statSync(r).isFile())return r}catch{}t=o.dirname(t)}}(N)||[],strict:a=!0,cwd:l=i.cwd()}=e,c=Array.isArray(n)?n:[n];for(let e of c){let t="";try{t=s.readFileSync(e,"utf8")}catch(e){if(a)throw e;continue}let n=o.relative(l,o.dirname(e)).replaceAll("\\","/"),i=t.split(/\r?\n/u).filter(e=>e&&!e.startsWith("#")).map(e=>F.convertIgnorePatternToMinimatch(e)).map(e=>(function(e,r,t){if(["",".","/"].includes(r))return e;let n=e.startsWith("!")?"!":"",s=n?e.slice(1):e;if(r.endsWith("/")||(r=`${r}/`),!r.startsWith(".."))return`${n}${r}${s}`;if(!r.match(/^(\.\.\/)+$/))throw Error("The ignore file location should be either a parent or child directory");if(s.startsWith("**"))return e;let i=o.relative(o.resolve(t,r),t).split(/[/\\]/);for(;i.length&&s.startsWith(`${i[0]}/`);)s=s.slice(i[0].length+1),i.shift();return s.startsWith("**")||0===i.length?`${n}${s}`:null})(e,n,l)).filter(e=>null!==e);r.push(...i)}if(a&&0===c.length)throw Error("No .gitignore file found");return{name:e.name||"gitignore",ignores:r}}function $(e={}){let{customGlobs:r=null,gitignore:t=[".gitignore"]}=e,s=[],o=[];return!1===r||null===r?o=n.constants.GLOB_EXCLUDE:"function"==typeof r?o=r(n.constants.GLOB_EXCLUDE):"string"==typeof r?o.push(...n.constants.GLOB_EXCLUDE,r):Array.isArray(r)?o.push(...n.constants.GLOB_EXCLUDE,...r):l.never(r),s.push({ignores:o}),!1===t||null===t||(!0===t?s.push(B({files:[".gitignore"],strict:!1})):"string"==typeof t||Array.isArray(t)?s.push(B({files:t,strict:!1})):l.never(t)),s}const M=["consistent-chaining","consistent-list-newline","curly","if-newline","import-dedupe","indent-unindent","top-level-function"],W="https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/",U=(r=e=>M.includes(e)?`${W}${e}.md`:`${W}${e}.test.ts`,function({name:e,meta:t,...n}){return function({create:e,defaultOptions:r,meta:t}){return{create:t=>{let n=t.options.map((e,t)=>({...r[t]||{},...e||{}}));return e(t,n)},defaultOptions:r,meta:t}}({meta:{...t,docs:{...t.docs,url:r(e)}},...n})}),V=U({name:"consistent-chaining",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{allowLeadingPropertyAccess:{type:"boolean",description:"Allow leading property access to be on the same line",default:!0}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{allowLeadingPropertyAccess:!0}],create:e=>{let r=new WeakSet,{allowLeadingPropertyAccess:t=!0}=e.options[0]||{};return{MemberExpression(n){let s=n;for(;s.parent&&("MemberExpression"===s.parent.type||"CallExpression"===s.parent.type);)s=s.parent;if(r.has(s))return;r.add(s);let o=[],i=s;for(;i;)switch(i.type){case"MemberExpression":i.computed||o.unshift(i),i=i.object;break;case"CallExpression":i=i.callee;break;default:i=void 0}let a=t,l=null;o.forEach(r=>{let t=e.sourceCode.getTokenBefore(r.property),n=e.sourceCode.getTokenBefore(t),o=t.loc.start.line===n.loc.end.line?"single":"multi";if(!a||"ThisExpression"!==r.object.type&&"Identifier"!==r.object.type&&"MemberExpression"!==r.object.type&&"Literal"!==r.object.type||"single"!==o){if(a=!1,null==l){l=o;return}l!==o&&e.report({messageId:"single"===l?"shouldNotWrap":"shouldWrap",loc:t.loc,data:{name:s.type},fix:e=>"multi"===l?e.insertTextAfter(n,"\n"):e.removeRange([n.range[1],t.range[0]])})}})}}}}),J=U({name:"consistent-list-newline",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{ArrayExpression:{type:"boolean"},ArrayPattern:{type:"boolean"},ArrowFunctionExpression:{type:"boolean"},CallExpression:{type:"boolean"},ExportNamedDeclaration:{type:"boolean"},FunctionDeclaration:{type:"boolean"},FunctionExpression:{type:"boolean"},ImportDeclaration:{type:"boolean"},JSONArrayExpression:{type:"boolean"},JSONObjectExpression:{type:"boolean"},JSXOpeningElement:{type:"boolean"},NewExpression:{type:"boolean"},ObjectExpression:{type:"boolean"},ObjectPattern:{type:"boolean"},TSFunctionType:{type:"boolean"},TSInterfaceDeclaration:{type:"boolean"},TSTupleType:{type:"boolean"},TSTypeLiteral:{type:"boolean"},TSTypeParameterDeclaration:{type:"boolean"},TSTypeParameterInstantiation:{type:"boolean"}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{}],create:(e,[r={}]=[{}])=>{function t(r,t,n,s){let o=[t,n],i=e.sourceCode.text.slice(...o);return r.replaceTextRange(o,i.replace(/(\r\n|\n)/g,s??""))}function n(r,t){if("TSInterfaceDeclaration"===r.type||"TSTypeLiteral"===r.type)return e.sourceCode.text.slice(t.range[0],t.range[1]).match(/(?:,|;)$/)?void 0:","}function s(e){let r=e;for(;"Program"!==r.type;)r=r.parent;let t=e.range;return!!r.comments?.some(e=>{let r=e.range;return r[0]>t[0]&&r[1]<t[1]})}function o(r,s,o){let i=s.filter(Boolean);if(0===i.length)return;let a=["CallExpression","NewExpression"].includes(r.type)?void 0:e.sourceCode.getFirstToken(r);"CallExpression"===r.type&&(a=e.sourceCode.getTokenAfter(r.typeArguments?r.typeArguments:"MemberExpression"===r.callee.type?r.callee.property:r.callee)),a?.type!=="Punctuator"&&(a=e.sourceCode.getTokenBefore(i[0]));let l=e.sourceCode.getTokenAfter(i[i.length-1]),c=a.loc.start.line;if(a.loc.start.line===l.loc.end.line)return;let p=null,u=c;i.forEach((s,o)=>{if(null==p){p=s.loc.start.line===u?"inline":"newline",u=s.loc.end.line;return}let a=s.loc.start.line;if("newline"===p&&a===u)e.report({node:s,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextBefore(s,"\n")}});else if("inline"===p&&a!==u){let a=i[o-1];if(e.sourceCode.getCommentsBefore(s).length>0)return;e.sourceCode.text.slice(a.range[1],s.range[0]).includes("\n")&&e.report({node:s,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,a.range[1],s.range[0],n(r,a))}})}u=s.loc.end.line});let m=o?Math.min(e.sourceCode.getTokenBefore(o).range[0],r.range[1]):r.range[1],f=e.sourceCode.getLocFromIndex(m),d=i[i.length-1];if("newline"===p&&f.line===u)e.report({node:d,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextAfter(d,"\n")}});else if("inline"===p&&f.line!==u){if(1===i.length&&i[0].loc.start.line!==i[1]?.loc.start.line||e.sourceCode.getCommentsAfter(d).length>0)return;e.sourceCode.text.slice(d.range[1],m).includes("\n")&&e.report({node:d,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,d.range[1],m,n(r,d))}})}}let i={ObjectExpression:e=>{o(e,e.properties)},ArrayExpression:e=>{o(e,e.elements)},ImportDeclaration:e=>{o(e,e.specifiers[0]?.type==="ImportDefaultSpecifier"?e.specifiers.slice(1):e.specifiers)},ExportNamedDeclaration:e=>{o(e,e.specifiers)},FunctionDeclaration:e=>{o(e,e.params,e.returnType||e.body)},FunctionExpression:e=>{o(e,e.params,e.returnType||e.body)},ArrowFunctionExpression:e=>{e.params.length<=1||o(e,e.params,e.returnType||e.body)},CallExpression:e=>{o(e,e.arguments)},TSInterfaceDeclaration:e=>{o(e,e.body.body)},TSTypeLiteral:e=>{o(e,e.members)},TSTupleType:e=>{o(e,e.elementTypes)},TSFunctionType:e=>{o(e,e.params)},NewExpression:e=>{o(e,e.arguments)},TSTypeParameterDeclaration(e){o(e,e.params)},TSTypeParameterInstantiation(e){o(e,e.params)},ObjectPattern(e){o(e,e.properties,e.typeAnnotation)},ArrayPattern(e){o(e,e.elements)},JSXOpeningElement(e){e.attributes.some(e=>e.loc.start.line!==e.loc.end.line)||o(e,e.attributes)},JSONArrayExpression(e){s(e)||o(e,e.elements)},JSONObjectExpression(e){s(e)||o(e,e.properties)}};return Object.keys(r).forEach(e=>{!1===r[e]&&delete i[e]}),i}}),G=U({name:"curly",meta:{type:"layout",docs:{description:"Enforce Anthony's style of curly bracket"},fixable:"whitespace",schema:[],messages:{missingCurlyBrackets:"Expect curly brackets"}},defaultOptions:[],create:e=>{function r(t,n=[]){[...t,...n].map(e=>(function(e){if(!e)return!1;if("BlockStatement"===e.type||["IfStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement"].includes(e.type))return!0;let r="ExpressionStatement"===e.type?e.expression:e;return r.loc.start.line!==r.loc.end.line})(e)).some(e=>e)&&t.map(r=>{"BlockStatement"!==r.type&&e.report({node:r,messageId:"missingCurlyBrackets",*fix(t){yield t.insertTextAfter(r,"\n}");let n=e.sourceCode.getTokenBefore(r);yield t.insertTextAfterRange(n.range," {")}})})}return{IfStatement(e){let t=e.parent;if("IfStatement"===t.type&&t.alternate===e)return;let n=[],s=[];!function e(r){n.push(r.consequent),r.test&&s.push(r.test),r.alternate&&("IfStatement"===r.alternate.type?e(r.alternate):n.push(r.alternate))}(e),r(n,s)},WhileStatement(e){r([e.body],[e.test])},DoWhileStatement(e){r([e.body],[e.test])},ForStatement(e){r([e.body])},ForInStatement(e){r([e.body])},ForOfStatement(e){r([e.body])}}}}),X=U({name:"if-newline",meta:{type:"layout",docs:{description:"Newline after if"},fixable:"whitespace",schema:[],messages:{missingIfNewline:"Expect newline after if"}},defaultOptions:[],create:e=>({IfStatement(r){r.consequent&&"BlockStatement"!==r.consequent.type&&r.test.loc.end.line===r.consequent.loc.start.line&&e.report({node:r,loc:{start:r.test.loc.end,end:r.consequent.loc.start},messageId:"missingIfNewline",fix:e=>e.replaceTextRange([r.consequent.range[0],r.consequent.range[0]],"\n")})}})}),H=U({name:"import-dedupe",meta:{type:"problem",docs:{description:"Fix duplication in imports"},fixable:"code",schema:[],messages:{importDedupe:"Expect no duplication in imports"}},defaultOptions:[],create:e=>({ImportDeclaration(r){if(r.specifiers.length<=1)return;let t=new Set;r.specifiers.forEach(n=>{let s=n.local.name;t.has(s)&&e.report({node:r,loc:{start:n.loc.end,end:n.loc.start},messageId:"importDedupe",fix(r){let t=n.range[0],s=n.range[1];return","===e.getSourceCode().text[s]&&(s+=1),r.removeRange([t,s])}}),t.add(s)})}})}),z=/^\s*$/,K=U({name:"indent-unindent",meta:{type:"layout",docs:{description:"Enforce consistent indentation in `unindent` template tag"},fixable:"code",schema:[{type:"object",properties:{indent:{type:"number",minimum:0,default:2},tags:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{"indent-unindent":"Consistent indentation in unindent tag"}},defaultOptions:[{}],create(e){let{tags:r=["$","unindent","unIndent"],indent:t=2}=e.options?.[0]??{};return{TaggedTemplateExpression(n){let s=n.tag;if(!s||"Identifier"!==s.type||!r.includes(s.name)||1!==n.quasi.quasis.length)return;let o=n.quasi.quasis[0],i=o.value.raw,a=e.sourceCode.getIndexFromLoc({line:n.loc.start.line,column:0}),l=e.sourceCode.text.slice(a).match(/^\s*/)?.[0]??"",c=l+" ".repeat(t),p=(function(e){let r=("string"==typeof e?e:e[0]).split("\n"),t=r.map(e=>z.test(e)),n=r.reduce((e,r,n)=>{if(t[n])return e;let s=r.match(/^\s*/)?.[0].length;return void 0===s?e:Math.min(e,s)},Number.POSITIVE_INFINITY),s=0;for(;s<r.length&&t[s];)s++;let o=0;for(;o<r.length&&t[r.length-o-1];)o++;return r.slice(s,r.length-o).map(e=>e.slice(n)).join("\n")})([i]).split("\n").map(e=>c+e).join("\n");(p=`
|
|
2
2
|
${p}
|
|
3
|
-
${l}`)!==i&&e.report({node:o,messageId:"indent-unindent",fix:e=>e.replaceText(o,`\`${p}\``)})}}}}),
|
|
3
|
+
${l}`)!==i&&e.report({node:o,messageId:"indent-unindent",fix:e=>e.replaceText(o,`\`${p}\``)})}}}}),Y=U({name:"no-import-dist",meta:{type:"problem",docs:{description:"Prevent importing modules in `dist` folder"},schema:[],messages:{noImportDist:"Do not import modules in `dist` folder, got {{path}}"}},defaultOptions:[],create:e=>({ImportDeclaration:r=>{var t;((t=r.source.value).startsWith(".")&&t.match(/\/dist(\/|$)/)||"dist"===t)&&e.report({node:r,messageId:"noImportDist",data:{path:r.source.value}})}})}),Q=U({name:"no-import-node-modules-by-path",meta:{type:"problem",docs:{description:"Prevent importing modules in `node_modules` folder by relative or absolute path"},schema:[],messages:{noImportNodeModulesByPath:"Do not import modules in `node_modules` folder by path"}},defaultOptions:[],create:e=>({ImportDeclaration:r=>{r.source.value.includes("/node_modules/")&&e.report({node:r,messageId:"noImportNodeModulesByPath"})},'CallExpression[callee.name="require"]':r=>{let t=r.arguments[0]?.value;"string"==typeof t&&t.includes("/node_modules/")&&e.report({node:r,messageId:"noImportNodeModulesByPath"})}})}),Z=U({name:"no-top-level-await",meta:{type:"problem",docs:{description:"Prevent using top-level await"},schema:[],messages:{NoTopLevelAwait:"Do not use top-level await"}},defaultOptions:[],create:e=>({AwaitExpression:r=>{let t=r.parent;for(;t;){if("FunctionDeclaration"===t.type||"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type)return;t=t.parent}e.report({node:r,messageId:"NoTopLevelAwait"})}})}),ee={meta:{name:"antfu",version:"3.1.0"},rules:{"consistent-chaining":V,"consistent-list-newline":J,curly:G,"if-newline":X,"import-dedupe":H,"indent-unindent":K,"no-import-dist":Y,"no-import-node-modules-by-path":Q,"no-top-level-await":Z,"no-ts-export-equal":U({name:"no-ts-export-equal",meta:{type:"problem",docs:{description:"Do not use `exports =`"},schema:[],messages:{noTsExportEqual:"Use ESM `export default` instead"}},defaultOptions:[],create:e=>{let r=e.getFilename().split(".").pop();return r&&["ts","tsx","mts","cts"].includes(r)?{TSExportAssignment(r){e.report({node:r,messageId:"noTsExportEqual"})}}:{}}}),"top-level-function":U({name:"top-level-function",meta:{type:"problem",docs:{description:"Enforce top-level functions to be declared with function keyword"},fixable:"code",schema:[],messages:{topLevelFunctionDeclaration:"Top-level functions should be declared with function keyword"}},defaultOptions:[],create:e=>({VariableDeclaration(r){if("Program"!==r.parent.type&&"ExportNamedDeclaration"!==r.parent.type||1!==r.declarations.length||"const"!==r.kind||r.declare)return;let t=r.declarations[0];if(t.init?.type!=="ArrowFunctionExpression"&&t.init?.type!=="FunctionExpression"||t.id?.type!=="Identifier"||t.id.typeAnnotation||"BlockStatement"!==t.init.body.type&&t.id?.loc.start.line===t.init?.body.loc.end.line)return;let n=t.init,s=t.init.body,o=t.id;e.report({node:r,loc:{start:o.loc.start,end:s.loc.start},messageId:"topLevelFunctionDeclaration",fix(t){let i=e.getSourceCode().text,a=i.slice(o.range[0],o.range[1]),l=n.params.length?i.slice(n.params[0].range[0],n.params[n.params.length-1].range[1]):"",c="BlockStatement"===s.type?i.slice(s.range[0],s.range[1]):`{
|
|
4
4
|
return ${i.slice(s.range[0],s.range[1])}
|
|
5
|
-
}`,p=n.typeParameters?i.slice(n.typeParameters.range[0],n.typeParameters.range[1]):"",u=n.returnType?i.slice(n.returnType.range[0],n.returnType.range[1]):"",m=n.async?"async ":"",f=`${m}function ${a} ${p}(${l})${u} ${c}`;return t.replaceTextRange([r.range[0],r.range[1]],f)}})}})})}},ee=[".js",".jsx",".mjs",".cjs"],er={plugins:{jsonc:n.memo(w,"eslint-plugin-jsonc")},languageOptions:{parser:h}},et={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},en={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"off","no-redeclare":"off","@typescript-eslint/no-redeclare":"off","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","sukka/no-return-await":"off","@typescript-eslint/return-await":"error","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/function-call-spacing":"off","@stylistic/ts/function-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},es=[".ts",".cts",".mts",".tsx",".d.ts"],eo=[...es,".js",".jsx",".mjs",".cjs"];async function ei(r){if(!I.isCI&&i.stdout.isTTY&&!n.isPackageExists(r)){let{confirm:e}=await Promise.resolve().then(function(){return require("./vendor-BeFyeNIQ.cjs")}).then(function(e){return e.i});await e({message:`Package is required for this config: ${r}. Do you want to install it?`})&&await Promise.resolve().then(function(){return require("./vendor-BeFyeNIQ.cjs")}).then(function(e){return e.a}).then(e=>e.installPackage(r,{dev:!0}))}return e(r)}function ea(e,r=!1){return"boolean"==typeof e?e:void 0===e?r:!!e.enable||r}function el(e,...r){let t;if("boolean"==typeof e||void 0===e)t={};else{let{enable:r,...n}=e;t=n}return r.length?E.defu(t,...r):t}function ec(e){n.isPackageExists(e)&&console.error(S.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}async function ep(e,...r){let t=[];ec("@eslint-sukka/js"),ec("@eslint-sukka/json"),ec("@eslint-sukka/ts"),ec("@eslint-sukka/legacy");let s=ea(e?.ts,n.isPackageExists("typescript"));if(t.push(B(e?.ignores),[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":l,sukka:n.memo(c,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":["error",{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}]),ea(e?.js,!0)&&t.push(function(e={}){let{files:r,disableNoConsoleInCLI:t=!0,env:s={}}=e,{browser:o=!0,webextensions:i=!1,greasemonkey:a=!1,customGlobals:l={}}=s,p=e.module??n.getPackageJson()?.type==="module",u=[{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint/js recommended",...m.configs.recommended},{name:"@eslint-sukka/js base",...r?{files:r}:{},languageOptions:{ecmaVersion:"latest",sourceType:p?"module":"commonjs",parserOptions:{ecmaVersion:"latest",sourceType:p?"module":"commonjs",ecmaFeatures:{jsx:!0}},globals:{...n.globals.es2025,...o&&n.globals.browser,...i&&n.globals.webextensions,...a&&n.globals.greasemonkey,...l}},settings:{"import-x/extensions":ee,"import-x/resolver-next":[g.createNodeResolver({alwaysTryTypes:!0,extensions:ee})]},plugins:{"unused-imports":n.memo(y,"eslint-plugin-unused-imports"),"@stylistic/js":n.memo(f,"@stylistic/eslint-plugin-js"),"@stylistic/plus":n.memo(d,"@stylistic/eslint-plugin-plus"),sukka:n.memo(c,"eslint-plugin-sukka"),"import-x":n.memo(g,"eslint-plugin-import-x"),autofix:b,antfu:n.memo(Z,"eslint_plugin_antfu")},rules:{...g.configs.recommended.rules,"import-x/newline-after-import":["error",{considerComments:!1}],"import-x/no-absolute-path":"error","import-x/no-empty-named-blocks":"error","import-x/no-mutable-exports":"error","import-x/no-useless-path-segments":"warn","import-x/no-webpack-loader-syntax":"error","import-x/no-relative-packages":"warn","accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","as-needed",{requireReturnForObjectLiteral:!1}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"off","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!0,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/function-call-spacing":["error","never"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":["error","always-multiline"],"new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","sukka/unicorn/no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":"error","@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","sukka/unicorn/no-negated-condition":"warn","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/no-expression-empty-lines":"error","sukka/prefer-single-boolean-return":"error","sukka/no-all-duplicated-branches":"error","sukka/no-duplicated-branches":"error","sukka/bool-param-default":"error","sukka/call-argument-line":"error","sukka/class-prototype":"warn","sukka/comma-or-logical-or-case":"error","sukka/track-todo-fixme-comment":"warn","sukka/no-element-overwrite":"warn","sukka/no-empty-collection":"warn","sukka/no-equals-in-for-termination":"error","sukka/no-top-level-this":"error","sukka/no-invariant-returns":"error","sukka/no-redundant-assignments":"warn","sukka/no-same-line-conditional":"error","sukka/no-small-switch":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/no-useless-plusplus":"error","sukka/no-chain-array-higher-order-functions":"error","sukka/unicorn/catch-error-name":["error",{ignore:[/^(?:e|err|error|\w+Err|\w+Error)[\d_]?$/]}],"sukka/unicorn/custom-error-definition":"error","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/prefer-negative-index":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"error","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/no-magic-array-flat-depth":"error","sukka/unicorn/no-object-as-default-parameter":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","sukka/unicorn/no-length-as-slice-end":"error","no-restricted-imports":["error",{paths:n.RESTRICTED_IMPORT_JS}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error","antfu/import-dedupe":"error","antfu/consistent-chaining":"error","antfu/no-top-level-await":"error","antfu/top-level-function":"warn"}},k.configs.recommended];if(!1!==t){let e="boolean"==typeof t?null:Array.isArray(t)?t:[t];u.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${n.constants.GLOB_SRC}`,`**/cli/${n.constants.GLOB_SRC}`,`**/cli.${n.constants.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return u}(el(e?.js)),function({typescript:e}){return[{name:"sukka/promise",plugins:{promise:p},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn","promise/prefer-catch":"error"}}]}({typescript:s}),[{name:"sukka/regexp",plugins:{sukka:n.memo(c,"eslint-plugin-sukka"),regexp:n.memo(D,"eslint-plugin-regexp")},rules:{"sukka/unicorn/better-regex":"warn",...u.configs["flat/recommended"].rules,"regexp/strict":"off"}}]),ea(e?.json,!0)&&t.push([...w.configs["flat/base"],{name:"@eslint-sukka/json json",files:[n.constants.GLOB_JSON],rules:{...w.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json json5",...er,files:[n.constants.GLOB_JSON5],rules:{...w.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json jsonc",...er,files:[n.constants.GLOB_JSONC],rules:{...w.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json package.json",...er,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...er,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}]),s){let r=e?.isInEditor??(!(process.env.CI||I.isCI||process.env.GIT_PARAMS||process.env.VSCODE_GIT_COMMAND||process.env.npm_lifecycle_script?.startsWith("lint-staged"))&&!!(process.env.VSCODE_PID||process.env.VSCODE_CWD||process.env.JETBRAINS_IDE||process.env.VIM||process.env.NVIM));t.push(function(e={}){let{allowJs:r=!1,tsconfigPath:t=!0,tsconfigRootDir:s=i.cwd(),componentExtentions:o=[],isInEditor:a=!1,allowDefaultProject:l=["next.config.ts","rollup.config.ts","webpack.config.ts"]}=e,c="string"==typeof __dirname?v.pathToFileURL(__dirname).href:"undefined"==typeof document?require("url").pathToFileURL(__filename).href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new URL("index.cjs",document.baseURI).href,p=v.fileURLToPath(n.importMetaResolve("@typescript-eslint/parser",c));return[{name:"@eslint-sukka/ts base",files:[n.constants.GLOB_TS,n.constants.GLOB_TSX,...o.map(e=>`**/*.${e}`),...r?[n.constants.GLOB_JS]:[]],plugins:{...x.configs.base.plugins,"@stylistic/ts":n.memo(j,"@stylistic/eslint-plugin-ts"),"@stylistic/plus":n.memo(d,"@stylistic/eslint-plugin-plus"),"import-x":n.memo(g,"eslint-plugin-import-x")},languageOptions:{parser:x.configs.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===t?{projectService:{allowDefaultProject:l,loadTypeScriptPlugins:a}}:{project:t},tsconfigRootDir:s,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":eo,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver-next":[T.createTypeScriptImportResolver({alwaysTryTypes:!0,extensions:eo,...!0===t?{}:{project:t}})],"import-x/parsers":{[p]:es}},rules:{...x.configs.base.rules,...x.configs.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...x.configs.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...g.configs.typescript.rules,...en,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!0}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:n.RESTRICTED_IMPORT_TS}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"warn","@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-unnecessary-template-expression":"warn","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[],ignoreClassesThatImplementAnInterface:"public-fields"}],"no-restricted-syntax":["error",{message:'Unnecessary "as const"',selector:"VariableDeclarator > TSAsExpression[expression.properties.length=0] > TSTypeReference > Identifier[name=const]"},{message:'Unnecessary "as const"',selector:"VariableDeclarator[id.typeAnnotation] > TSAsExpression > TSTypeReference > Identifier[name=const]"},{message:'Static class methods requires "this: void", or change to arrow function',selector:'MethodDefinition[static=true][kind!="get"][kind!="set"] > FunctionExpression:not([params.0.name=this][params.0.typeAnnotation.typeAnnotation.type=TSVoidKeyword])'},{message:'Public "static" fields should be read-only',selector:'PropertyDefinition[readonly!=true][static=true][accessibility!="private"][accessibility!="protected"]'}],"@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":["error",{allowDefaultCaseForExhaustiveSwitch:!0,considerDefaultExhaustiveForUnions:!0}],"@typescript-eslint/parameter-properties":["warn",{prefer:"parameter-property"}],"sukka/string/no-unneeded-to-string":"error","sukka/type/no-force-cast-via-top-type":"error","sukka/type/no-wrapper-type-reference":"error","sukka/no-default-error":"off","sukka/no-export-const-enum":"error","sukka/no-for-in-iterable":"error","sukka/only-await-thenable":"error","sukka/no-undefined-optional-parameters":"warn","sukka/no-try-promise":"error","sukka/no-useless-string-operation":"warn","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":a?"error":"off","import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/named":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-duplicates":"off","import-x/no-named-as-default-member":"off","import-x/no-deprecated":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":n.memo(g,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:x.configs.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off"}}]}({isInEditor:r,...el(e?.ts)}))}let o=n.isPackageExists("next"),a=ea(e?.react,o||n.isPackageExists("react")||n.isPackageExists("@types/react"));if(a){if(s){let r=await ei("@eslint-sukka/react"),s=n.isPackageExists("@remix-run/node")||n.isPackageExists("@remix-run/react")||n.isPackageExists("@remix-run/serve")||n.isPackageExists("@remix-run/dev");t.push(r.react(el(e?.react,{nextjs:o,remix:s,reactRefresh:{allowConstantExport:n.isPackageExists("vite")},reactCompiler:n.isPackageExists("babel-plugin-react-compiler")||n.isPackageExists("react-compiler-webpack")?"error":"off"}))),ea(e?.next,o)&&t.push(r.next()),ea(e?.stylex,n.isPackageExists("@stylexjs/stylex")||n.isPackageExists("stylex-webpack"))&&t.push(r.stylex(el(e?.stylex)))}else console.warn("[eslint-config-sukka] React preset will not be enabled when TypeScript is missing.")}return ea(e?.node,n.isPackageExists("@types/node")||n.isPackageExists("@types/bun"))&&t.push((await ei("@eslint-sukka/node")).node({...el(e?.node),hasTypeScript:s,hasReact:a})),ea(e?.legacy)&&t.push(function(e={}){return[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:n.memo(c,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?n.globals.browser:{},...e.node?n.globals.node:{}}}}]}(el(e?.legacy))),t.push(r),t.flat()}Object.defineProperty(exports,"constants",{enumerable:!0,get:function(){return n.constants}}),exports.ignores=B,exports.sukka=ep;
|
|
5
|
+
}`,p=n.typeParameters?i.slice(n.typeParameters.range[0],n.typeParameters.range[1]):"",u=n.returnType?i.slice(n.returnType.range[0],n.returnType.range[1]):"",m=n.async?"async ":"",f=`${m}function ${a} ${p}(${l})${u} ${c}`;return t.replaceTextRange([r.range[0],r.range[1]],f)}})}})})}},er=[".js",".jsx",".mjs",".cjs"],et={plugins:{jsonc:n.memo(h,"eslint-plugin-jsonc")},languageOptions:{parser:x}},en={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},es={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"off","no-redeclare":"off","@typescript-eslint/no-redeclare":"off","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","sukka/no-return-await":"off","@typescript-eslint/return-await":"error","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/function-call-spacing":"off","@stylistic/ts/function-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},eo=[".ts",".cts",".mts",".tsx",".d.ts"],ei=[...eo,".js",".jsx",".mjs",".cjs"];async function ea(r){if(!C.isCI&&i.stdout.isTTY&&!n.isPackageExists(r)){let{confirm:e}=await Promise.resolve().then(function(){return require("./vendor-f8UCgSx_.cjs")}).then(function(e){return e.i});await e({message:`Package is required for this config: ${r}. Do you want to install it?`})&&await Promise.resolve().then(function(){return require("./vendor-f8UCgSx_.cjs")}).then(function(e){return e.a}).then(e=>e.installPackage(r,{dev:!0}))}return e(r)}function el(e,r=!1){return"boolean"==typeof e?e:void 0===e?r:!!e.enable||r}function ec(e,...r){let t;if("boolean"==typeof e||void 0===e)t={};else{let{enable:r,...n}=e;t=n}return r.length?I.defu(t,...r):t}function ep(e){n.isPackageExists(e)&&console.error(E.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}async function eu(e,...r){let t=[];ep("@eslint-sukka/js"),ep("@eslint-sukka/json"),ep("@eslint-sukka/ts"),ep("@eslint-sukka/legacy");let s=el(e?.ts,n.isPackageExists("typescript"));if(t.push($(e?.ignores),[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":c,sukka:n.memo(p,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":["error",{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}]),el(e?.js,!0)&&t.push(function(e={}){let{files:r,disableNoConsoleInCLI:t=!0,env:s={}}=e,{browser:o=!0,webextensions:i=!1,greasemonkey:a=!1,customGlobals:l={}}=s,c=e.module??n.getPackageJson()?.type==="module",u=[{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint/js recommended",...f.configs.recommended},{name:"@eslint-sukka/js base",...r?{files:r}:{},languageOptions:{ecmaVersion:"latest",sourceType:c?"module":"commonjs",parserOptions:{ecmaVersion:"latest",sourceType:c?"module":"commonjs",ecmaFeatures:{jsx:!0}},globals:{...n.globals.es2025,...o&&n.globals.browser,...i&&n.globals.webextensions,...a&&n.globals.greasemonkey,...l}},settings:{"import-x/extensions":er,"import-x/resolver-next":[k.createNodeResolver({alwaysTryTypes:!0,extensions:er})]},plugins:{"unused-imports":n.memo(g,"eslint-plugin-unused-imports"),"@stylistic/js":n.memo(d,"@stylistic/eslint-plugin-js"),"@stylistic/plus":n.memo(y,"@stylistic/eslint-plugin-plus"),sukka:n.memo(p,"eslint-plugin-sukka"),"import-x":n.memo(k,"eslint-plugin-import-x"),autofix:w,antfu:n.memo(ee,"eslint_plugin_antfu")},rules:{...k.configs.recommended.rules,"import-x/newline-after-import":["error",{considerComments:!1}],"import-x/no-absolute-path":"error","import-x/no-empty-named-blocks":"error","import-x/no-mutable-exports":"error","import-x/no-useless-path-segments":"warn","import-x/no-webpack-loader-syntax":"error","import-x/no-relative-packages":"warn","accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","as-needed",{requireReturnForObjectLiteral:!1}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"off","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!0,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/function-call-spacing":["error","never"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":["error","always-multiline"],"new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","sukka/unicorn/no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":"error","@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","sukka/unicorn/no-negated-condition":"warn","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/no-expression-empty-lines":"error","sukka/prefer-single-boolean-return":"error","sukka/no-all-duplicated-branches":"error","sukka/no-duplicated-branches":"error","sukka/bool-param-default":"error","sukka/call-argument-line":"error","sukka/class-prototype":"warn","sukka/comma-or-logical-or-case":"error","sukka/track-todo-fixme-comment":"warn","sukka/no-element-overwrite":"warn","sukka/no-empty-collection":"warn","sukka/no-equals-in-for-termination":"error","sukka/no-top-level-this":"error","sukka/no-invariant-returns":"error","sukka/no-redundant-assignments":"warn","sukka/no-same-line-conditional":"error","sukka/no-small-switch":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/no-useless-plusplus":"error","sukka/no-chain-array-higher-order-functions":"error","sukka/unicorn/catch-error-name":["error",{ignore:[/^(?:e|err|error|\w+Err|\w+Error)[\d_]?$/]}],"sukka/unicorn/custom-error-definition":"error","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/prefer-negative-index":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"error","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/no-magic-array-flat-depth":"error","sukka/unicorn/no-object-as-default-parameter":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","sukka/unicorn/no-length-as-slice-end":"error","no-restricted-imports":["error",{paths:n.RESTRICTED_IMPORT_JS}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error","antfu/import-dedupe":"error","antfu/consistent-chaining":"error","antfu/no-top-level-await":"error","antfu/top-level-function":"warn"}},b.configs.recommended];if(!1!==t){let e="boolean"==typeof t?null:Array.isArray(t)?t:[t];u.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${n.constants.GLOB_SRC}`,`**/cli/${n.constants.GLOB_SRC}`,`**/cli.${n.constants.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return u}(ec(e?.js)),function({typescript:e}){return[{name:"sukka/promise",plugins:{promise:u},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn","promise/prefer-catch":"error"}}]}({typescript:s}),[{name:"sukka/regexp",plugins:{sukka:n.memo(p,"eslint-plugin-sukka"),regexp:n.memo(L,"eslint-plugin-regexp")},rules:{"sukka/unicorn/better-regex":"warn",...m.configs["flat/recommended"].rules,"regexp/strict":"off"}}]),el(e?.json,!0)&&t.push([...h.configs["flat/base"],{name:"@eslint-sukka/json json",files:[n.constants.GLOB_JSON],rules:{...h.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...en}},{name:"@eslint-sukka/json json5",...et,files:[n.constants.GLOB_JSON5],rules:{...h.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...en}},{name:"@eslint-sukka/json jsonc",...et,files:[n.constants.GLOB_JSONC],rules:{...h.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...en}},{name:"@eslint-sukka/json package.json",...et,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...et,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}]),s){let r=e?.isInEditor??(!(process.env.CI||C.isCI||process.env.GIT_PARAMS||process.env.VSCODE_GIT_COMMAND||process.env.npm_lifecycle_script?.startsWith("lint-staged"))&&!!(process.env.VSCODE_PID||process.env.VSCODE_CWD||process.env.JETBRAINS_IDE||process.env.VIM||process.env.NVIM));t.push(function(e={}){let{allowJs:r=!1,tsconfigPath:t=!0,tsconfigRootDir:s=i.cwd(),componentExtentions:o=[],isInEditor:a=!1,allowDefaultProject:l=["next.config.ts","rollup.config.ts","webpack.config.ts"]}=e,c="string"==typeof __dirname?T.pathToFileURL(__dirname).href:"undefined"==typeof document?require("url").pathToFileURL(__filename).href:P&&"SCRIPT"===P.tagName.toUpperCase()&&P.src||new URL("index.cjs",document.baseURI).href,p=T.fileURLToPath(n.importMetaResolve("@typescript-eslint/parser",c));return[{name:"@eslint-sukka/ts base",files:[n.constants.GLOB_TS,n.constants.GLOB_TSX,...o.map(e=>`**/*.${e}`),...r?[n.constants.GLOB_JS]:[]],plugins:{...j.configs.base.plugins,"@stylistic/ts":n.memo(v,"@stylistic/eslint-plugin-ts"),"@stylistic/plus":n.memo(y,"@stylistic/eslint-plugin-plus"),"import-x":n.memo(k,"eslint-plugin-import-x")},languageOptions:{parser:j.configs.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===t?{projectService:{allowDefaultProject:l,loadTypeScriptPlugins:a}}:{project:t},tsconfigRootDir:s,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":ei,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver-next":[S.createTypeScriptImportResolver({alwaysTryTypes:!0,extensions:ei,...!0===t?{}:{project:t}})],"import-x/parsers":{[p]:eo}},rules:{...j.configs.base.rules,...j.configs.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...j.configs.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...k.configs.typescript.rules,...es,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!0}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:n.RESTRICTED_IMPORT_TS}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"warn","@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-unnecessary-template-expression":"warn","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[],ignoreClassesThatImplementAnInterface:"public-fields"}],"no-restricted-syntax":["error",{message:'Unnecessary "as const"',selector:"VariableDeclarator > TSAsExpression[expression.properties.length=0] > TSTypeReference > Identifier[name=const]"},{message:'Unnecessary "as const"',selector:"VariableDeclarator[id.typeAnnotation] > TSAsExpression > TSTypeReference > Identifier[name=const]"},{message:'Static class methods requires "this: void", or change to arrow function',selector:'MethodDefinition[static=true][kind!="get"][kind!="set"] > FunctionExpression:not([params.0.name=this][params.0.typeAnnotation.typeAnnotation.type=TSVoidKeyword])'},{message:'Public "static" fields should be read-only',selector:'PropertyDefinition[readonly!=true][static=true][accessibility!="private"][accessibility!="protected"]'}],"@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":["error",{allowDefaultCaseForExhaustiveSwitch:!0,considerDefaultExhaustiveForUnions:!0}],"@typescript-eslint/parameter-properties":["warn",{prefer:"parameter-property"}],"sukka/string/no-unneeded-to-string":"error","sukka/type/no-force-cast-via-top-type":"error","sukka/type/no-wrapper-type-reference":"error","sukka/no-default-error":"off","sukka/no-export-const-enum":"error","sukka/no-for-in-iterable":"error","sukka/only-await-thenable":"error","sukka/no-undefined-optional-parameters":"warn","sukka/no-try-promise":"error","sukka/no-useless-string-operation":"warn","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":a?"error":"off","import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/named":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-duplicates":"off","import-x/no-named-as-default-member":"off","import-x/no-deprecated":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":n.memo(k,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:j.configs.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off"}}]}({isInEditor:r,...ec(e?.ts)}))}let o=n.isPackageExists("next"),a=el(e?.react,o||n.isPackageExists("react")||n.isPackageExists("@types/react"));if(a){if(s){let r=await ea("@eslint-sukka/react"),s=n.isPackageExists("@remix-run/node")||n.isPackageExists("@remix-run/react")||n.isPackageExists("@remix-run/serve")||n.isPackageExists("@remix-run/dev");t.push(r.react(ec(e?.react,{nextjs:o,remix:s,reactRefresh:{allowConstantExport:n.isPackageExists("vite")},reactCompiler:n.isPackageExists("babel-plugin-react-compiler")||n.isPackageExists("react-compiler-webpack")?"error":"off"}))),el(e?.next,o)&&t.push(r.next()),el(e?.stylex,n.isPackageExists("@stylexjs/stylex")||n.isPackageExists("stylex-webpack"))&&t.push(r.stylex(ec(e?.stylex)))}else console.warn("[eslint-config-sukka] React preset will not be enabled when TypeScript is missing.")}return el(e?.node,n.isPackageExists("@types/node")||n.isPackageExists("@types/bun"))&&t.push((await ea("@eslint-sukka/node")).node({...ec(e?.node),hasTypeScript:s,hasReact:a})),el(e?.legacy)&&t.push(function(e={}){return[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:n.memo(p,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?n.globals.browser:{},...e.node?n.globals.node:{}}}}]}(ec(e?.legacy))),t.push(r),t.flat()}Object.defineProperty(exports,"constants",{enumerable:!0,get:function(){return n.constants}}),exports.ignores=$,exports.sukka=eu;
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
let e=e=>import(e);import{constants as r,memo as t,getPackageJson as n,RESTRICTED_IMPORT_JS as s,globals as o,importMetaResolve as i,RESTRICTED_IMPORT_TS as a,isPackageExists as l}from"@eslint-sukka/shared";export{constants}from"@eslint-sukka/shared";import*as c from"node:fs";import p from"node:fs";import*as u from"node:path";import m from"node:path";import f from"node:process";import{g as d}from"./vendor-NXKeI_1_.mjs";import y from"@eslint-community/eslint-plugin-eslint-comments";import g from"eslint-plugin-sukka";import k from"eslint-plugin-promise";import*as w from"eslint-plugin-regexp";import{configs as b}from"eslint-plugin-regexp";import h from"@eslint/js";import x from"@stylistic/eslint-plugin-js";import j from"@stylistic/eslint-plugin-plus";import v from"eslint-plugin-unused-imports";import T,{createNodeResolver as S}from"eslint-plugin-import-x";import E from"eslint-plugin-de-morgan";import C from"eslint-plugin-autofix";import I from"eslint-plugin-jsonc";import A from"jsonc-eslint-parser";import{configs as O}from"typescript-eslint";import D from"@stylistic/eslint-plugin-ts";import{pathToFileURL as P,fileURLToPath as L}from"node:url";import{createTypeScriptImportResolver as F}from"eslint-import-resolver-typescript";import _ from"picocolors";import{defu as N}from"defu";import{isCI as R}from"ci-info";var B,$,q={},M=d(c),W=d(u),U=function(){if($)return q;$=1;let e=new Map([["getSource","getText"],["getSourceLines","getLines"],["getAllComments","getAllComments"],["getDeclaredVariables","getDeclaredVariables"],["getNodeByRangeIndex","getNodeByRangeIndex"],["getCommentsBefore","getCommentsBefore"],["getCommentsAfter","getCommentsAfter"],["getCommentsInside","getCommentsInside"],["getJSDocComment","getJSDocComment"],["getFirstToken","getFirstToken"],["getFirstTokens","getFirstTokens"],["getLastToken","getLastToken"],["getLastTokens","getLastTokens"],["getTokenAfter","getTokenAfter"],["getTokenBefore","getTokenBefore"],["getTokenByRangeStart","getTokenByRangeStart"],["getTokens","getTokens"],["getTokensAfter","getTokensAfter"],["getTokensBefore","getTokensBefore"],["getTokensBetween","getTokensBetween"]]),r=new WeakMap,t=new WeakSet,n=new WeakMap,s=new WeakSet;function o(n){if(r.has(n))return r.get(n);let s="function"==typeof n;if(!s&&t.has(n))return n;let o=s?n:n.create.bind(n),i={...s?void 0:n,create:function(r){if("getScope"in r)return o(r);let t=r.sourceCode,n=t.ast,s=Object.assign(Object.create(r),{parserServices:t.parserServices,getScope:()=>t.getScope(n),getAncestors:()=>t.getAncestors(n),markVariableAsUsed(e){t.markVariableAsUsed(e,n)}});for(let[r,n]of e)s[r]=t[n].bind(t);Object.freeze(s);let i=o(s);for(let[e,r]of Object.entries(i)){if(e.startsWith("on")){i[e]=(...t)=>(n=t["onCodePathSegmentLoop"===e?2:1],r.call(i,...t));continue}i[e]=(...e)=>(n=e[0],r.call(i,...e))}return i}},{schema:a}=n;return a&&(i.meta?i.meta={...i.meta,schema:a}:i.meta={schema:a}),r.set(n,i),t.add(i),i}function i(e){if(n.has(e))return n.get(e);if(s.has(e)||!e.rules)return e;let r={...e,rules:Object.fromEntries(Object.entries(e.rules).map(([e,r])=>[e,o(r)]))};return n.set(e,r),s.add(r),r}function a(e){let r=e.startsWith("!"),t=r?"!":"",n=(r?e.slice(1):e).trimEnd();if(["","**","/**","**/"].includes(n))return`${t}${n}`;let s=n.indexOf("/"),o=s<0||s===n.length-1?"**/":"",i=(0===s?n.slice(1):n).replaceAll(/(?=((?:\\.|[^{(])*))\1([{(])/guy,"$1\\$2"),a=n.endsWith("/**")?"/*":"";return`${t}${o}${i}${a}`}return q.convertIgnorePatternToMinimatch=a,q.fixupConfigRules=function(e){return(Array.isArray(e)?e:[e]).map(e=>{if(!e.plugins)return e;let r=Object.fromEntries(Object.entries(e.plugins).map(([e,r])=>[e,i(r)]));return{...e,plugins:r}})},q.fixupPluginRules=i,q.fixupRule=o,q.includeIgnoreFile=function(e){if(!W.isAbsolute(e))throw Error("The ignore file location must be an absolute path.");return{name:"Imported .gitignore patterns",ignores:M.readFileSync(e,"utf8").split(/\r?\n/u).map(e=>e.trim()).filter(e=>e&&!e.startsWith("#")).map(a)}},q}();let V=".gitignore";function J(e={}){let r=[],{root:t=!1,files:n=t?V:function(e,{cwd:r=f.cwd()}={}){let t=m.resolve(r),{root:n}=m.parse(t);for(;t&&t!==n;){let r=m.isAbsolute(e)?e:m.join(t,e);try{if(p.statSync(r).isFile())return r}catch{}t=m.dirname(t)}}(V)||[],strict:s=!0,cwd:o=f.cwd()}=e,i=Array.isArray(n)?n:[n];for(let e of i){let t="";try{t=p.readFileSync(e,"utf8")}catch(e){if(s)throw e;continue}let n=m.relative(o,m.dirname(e)).replaceAll("\\","/"),i=t.split(/\r?\n/u).filter(e=>e&&!e.startsWith("#")).map(e=>U.convertIgnorePatternToMinimatch(e)).map(e=>(function(e,r,t){if(["",".","/"].includes(r))return e;let n=e.startsWith("!")?"!":"",s=n?e.slice(1):e;if(r.endsWith("/")||(r=`${r}/`),!r.startsWith(".."))return`${n}${r}${s}`;if(!r.match(/^(\.\.\/)+$/))throw Error("The ignore file location should be either a parent or child directory");if(s.startsWith("**"))return e;let o=m.relative(m.resolve(t,r),t).split(/[/\\]/);for(;o.length&&s.startsWith(`${o[0]}/`);)s=s.slice(o[0].length+1),o.shift();return s.startsWith("**")||0===o.length?`${n}${s}`:null})(e,n,o)).filter(e=>null!==e);r.push(...i)}if(s&&0===i.length)throw Error("No .gitignore file found");return{name:e.name||"gitignore",ignores:r}}function G(e={}){let{customGlobs:t=null,gitignore:n=[".gitignore"]}=e,s=[],o=[];return!1===t||null===t?o=r.GLOB_EXCLUDE:"function"==typeof t?o=t(r.GLOB_EXCLUDE):"string"==typeof t?o.push(...r.GLOB_EXCLUDE,t):Array.isArray(t)&&o.push(...r.GLOB_EXCLUDE,...t),s.push({ignores:o}),!1===n||null===n||(!0===n?s.push(J({files:[".gitignore"],strict:!1})):("string"==typeof n||Array.isArray(n))&&s.push(J({files:n,strict:!1}))),s}let X=["consistent-chaining","consistent-list-newline","curly","if-newline","import-dedupe","indent-unindent","top-level-function"],H="https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/",z=(B=e=>X.includes(e)?`${H}${e}.md`:`${H}${e}.test.ts`,function({name:e,meta:r,...t}){return function({create:e,defaultOptions:r,meta:t}){return{create:t=>{let n=t.options.map((e,t)=>({...r[t]||{},...e||{}}));return e(t,n)},defaultOptions:r,meta:t}}({meta:{...r,docs:{...r.docs,url:B(e)}},...t})}),K=z({name:"consistent-chaining",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{allowLeadingPropertyAccess:{type:"boolean",description:"Allow leading property access to be on the same line",default:!0}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{allowLeadingPropertyAccess:!0}],create:e=>{let r=new WeakSet,{allowLeadingPropertyAccess:t=!0}=e.options[0]||{};return{MemberExpression(n){let s=n;for(;s.parent&&("MemberExpression"===s.parent.type||"CallExpression"===s.parent.type);)s=s.parent;if(r.has(s))return;r.add(s);let o=[],i=s;for(;i;)switch(i.type){case"MemberExpression":i.computed||o.unshift(i),i=i.object;break;case"CallExpression":i=i.callee;break;default:i=void 0}let a=t,l=null;o.forEach(r=>{let t=e.sourceCode.getTokenBefore(r.property),n=e.sourceCode.getTokenBefore(t),o=t.loc.start.line===n.loc.end.line?"single":"multi";if(!a||"ThisExpression"!==r.object.type&&"Identifier"!==r.object.type&&"MemberExpression"!==r.object.type&&"Literal"!==r.object.type||"single"!==o){if(a=!1,null==l){l=o;return}l!==o&&e.report({messageId:"single"===l?"shouldNotWrap":"shouldWrap",loc:t.loc,data:{name:s.type},fix:e=>"multi"===l?e.insertTextAfter(n,"\n"):e.removeRange([n.range[1],t.range[0]])})}})}}}}),Y=z({name:"consistent-list-newline",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{ArrayExpression:{type:"boolean"},ArrayPattern:{type:"boolean"},ArrowFunctionExpression:{type:"boolean"},CallExpression:{type:"boolean"},ExportNamedDeclaration:{type:"boolean"},FunctionDeclaration:{type:"boolean"},FunctionExpression:{type:"boolean"},ImportDeclaration:{type:"boolean"},JSONArrayExpression:{type:"boolean"},JSONObjectExpression:{type:"boolean"},JSXOpeningElement:{type:"boolean"},NewExpression:{type:"boolean"},ObjectExpression:{type:"boolean"},ObjectPattern:{type:"boolean"},TSFunctionType:{type:"boolean"},TSInterfaceDeclaration:{type:"boolean"},TSTupleType:{type:"boolean"},TSTypeLiteral:{type:"boolean"},TSTypeParameterDeclaration:{type:"boolean"},TSTypeParameterInstantiation:{type:"boolean"}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{}],create:(e,[r={}]=[{}])=>{function t(r,t,n,s){let o=[t,n],i=e.sourceCode.text.slice(...o);return r.replaceTextRange(o,i.replace(/(\r\n|\n)/g,s??""))}function n(r,t){if("TSInterfaceDeclaration"===r.type||"TSTypeLiteral"===r.type)return e.sourceCode.text.slice(t.range[0],t.range[1]).match(/(?:,|;)$/)?void 0:","}function s(e){let r=e;for(;"Program"!==r.type;)r=r.parent;let t=e.range;return!!r.comments?.some(e=>{let r=e.range;return r[0]>t[0]&&r[1]<t[1]})}function o(r,s,o){let i=s.filter(Boolean);if(0===i.length)return;let a=["CallExpression","NewExpression"].includes(r.type)?void 0:e.sourceCode.getFirstToken(r);"CallExpression"===r.type&&(a=e.sourceCode.getTokenAfter(r.typeArguments?r.typeArguments:"MemberExpression"===r.callee.type?r.callee.property:r.callee)),a?.type!=="Punctuator"&&(a=e.sourceCode.getTokenBefore(i[0]));let l=e.sourceCode.getTokenAfter(i[i.length-1]),c=a.loc.start.line;if(a.loc.start.line===l.loc.end.line)return;let p=null,u=c;i.forEach((s,o)=>{if(null==p){p=s.loc.start.line===u?"inline":"newline",u=s.loc.end.line;return}let a=s.loc.start.line;if("newline"===p&&a===u)e.report({node:s,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextBefore(s,"\n")}});else if("inline"===p&&a!==u){let a=i[o-1];if(e.sourceCode.getCommentsBefore(s).length>0)return;e.sourceCode.text.slice(a.range[1],s.range[0]).includes("\n")&&e.report({node:s,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,a.range[1],s.range[0],n(r,a))}})}u=s.loc.end.line});let m=o?Math.min(e.sourceCode.getTokenBefore(o).range[0],r.range[1]):r.range[1],f=e.sourceCode.getLocFromIndex(m),d=i[i.length-1];if("newline"===p&&f.line===u)e.report({node:d,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextAfter(d,"\n")}});else if("inline"===p&&f.line!==u){if(1===i.length&&i[0].loc.start.line!==i[1]?.loc.start.line||e.sourceCode.getCommentsAfter(d).length>0)return;e.sourceCode.text.slice(d.range[1],m).includes("\n")&&e.report({node:d,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,d.range[1],m,n(r,d))}})}}let i={ObjectExpression:e=>{o(e,e.properties)},ArrayExpression:e=>{o(e,e.elements)},ImportDeclaration:e=>{o(e,e.specifiers[0]?.type==="ImportDefaultSpecifier"?e.specifiers.slice(1):e.specifiers)},ExportNamedDeclaration:e=>{o(e,e.specifiers)},FunctionDeclaration:e=>{o(e,e.params,e.returnType||e.body)},FunctionExpression:e=>{o(e,e.params,e.returnType||e.body)},ArrowFunctionExpression:e=>{e.params.length<=1||o(e,e.params,e.returnType||e.body)},CallExpression:e=>{o(e,e.arguments)},TSInterfaceDeclaration:e=>{o(e,e.body.body)},TSTypeLiteral:e=>{o(e,e.members)},TSTupleType:e=>{o(e,e.elementTypes)},TSFunctionType:e=>{o(e,e.params)},NewExpression:e=>{o(e,e.arguments)},TSTypeParameterDeclaration(e){o(e,e.params)},TSTypeParameterInstantiation(e){o(e,e.params)},ObjectPattern(e){o(e,e.properties,e.typeAnnotation)},ArrayPattern(e){o(e,e.elements)},JSXOpeningElement(e){e.attributes.some(e=>e.loc.start.line!==e.loc.end.line)||o(e,e.attributes)},JSONArrayExpression(e){s(e)||o(e,e.elements)},JSONObjectExpression(e){s(e)||o(e,e.properties)}};return Object.keys(r).forEach(e=>{!1===r[e]&&delete i[e]}),i}}),Q=z({name:"curly",meta:{type:"layout",docs:{description:"Enforce Anthony's style of curly bracket"},fixable:"whitespace",schema:[],messages:{missingCurlyBrackets:"Expect curly brackets"}},defaultOptions:[],create:e=>{function r(t,n=[]){[...t,...n].map(e=>(function(e){if(!e)return!1;if("BlockStatement"===e.type||["IfStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement"].includes(e.type))return!0;let r="ExpressionStatement"===e.type?e.expression:e;return r.loc.start.line!==r.loc.end.line})(e)).some(e=>e)&&t.map(r=>{"BlockStatement"!==r.type&&e.report({node:r,messageId:"missingCurlyBrackets",*fix(t){yield t.insertTextAfter(r,"\n}");let n=e.sourceCode.getTokenBefore(r);yield t.insertTextAfterRange(n.range," {")}})})}return{IfStatement(e){let t=e.parent;if("IfStatement"===t.type&&t.alternate===e)return;let n=[],s=[];!function e(r){n.push(r.consequent),r.test&&s.push(r.test),r.alternate&&("IfStatement"===r.alternate.type?e(r.alternate):n.push(r.alternate))}(e),r(n,s)},WhileStatement(e){r([e.body],[e.test])},DoWhileStatement(e){r([e.body],[e.test])},ForStatement(e){r([e.body])},ForInStatement(e){r([e.body])},ForOfStatement(e){r([e.body])}}}}),Z=z({name:"if-newline",meta:{type:"layout",docs:{description:"Newline after if"},fixable:"whitespace",schema:[],messages:{missingIfNewline:"Expect newline after if"}},defaultOptions:[],create:e=>({IfStatement(r){r.consequent&&"BlockStatement"!==r.consequent.type&&r.test.loc.end.line===r.consequent.loc.start.line&&e.report({node:r,loc:{start:r.test.loc.end,end:r.consequent.loc.start},messageId:"missingIfNewline",fix:e=>e.replaceTextRange([r.consequent.range[0],r.consequent.range[0]],"\n")})}})}),ee=z({name:"import-dedupe",meta:{type:"problem",docs:{description:"Fix duplication in imports"},fixable:"code",schema:[],messages:{importDedupe:"Expect no duplication in imports"}},defaultOptions:[],create:e=>({ImportDeclaration(r){if(r.specifiers.length<=1)return;let t=new Set;r.specifiers.forEach(n=>{let s=n.local.name;t.has(s)&&e.report({node:r,loc:{start:n.loc.end,end:n.loc.start},messageId:"importDedupe",fix(r){let t=n.range[0],s=n.range[1];return","===e.getSourceCode().text[s]&&(s+=1),r.removeRange([t,s])}}),t.add(s)})}})}),er=/^\s*$/,et=z({name:"indent-unindent",meta:{type:"layout",docs:{description:"Enforce consistent indentation in `unindent` template tag"},fixable:"code",schema:[{type:"object",properties:{indent:{type:"number",minimum:0,default:2},tags:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{"indent-unindent":"Consistent indentation in unindent tag"}},defaultOptions:[{}],create(e){let{tags:r=["$","unindent","unIndent"],indent:t=2}=e.options?.[0]??{};return{TaggedTemplateExpression(n){let s=n.tag;if(!s||"Identifier"!==s.type||!r.includes(s.name)||1!==n.quasi.quasis.length)return;let o=n.quasi.quasis[0],i=o.value.raw,a=e.sourceCode.getIndexFromLoc({line:n.loc.start.line,column:0}),l=e.sourceCode.text.slice(a).match(/^\s*/)?.[0]??"",c=l+" ".repeat(t),p=(function(e){let r=("string"==typeof e?e:e[0]).split("\n"),t=r.map(e=>er.test(e)),n=r.reduce((e,r,n)=>{var s;if(t[n])return e;let o=null==(s=r.match(/^\s*/))?void 0:s[0].length;return void 0===o?e:Math.min(e,o)},Number.POSITIVE_INFINITY),s=0;for(;s<r.length&&t[s];)s++;let o=0;for(;o<r.length&&t[r.length-o-1];)o++;return r.slice(s,r.length-o).map(e=>e.slice(n)).join("\n")})([i]).split("\n").map(e=>c+e).join("\n");(p=`
|
|
1
|
+
let e=e=>import(e);import{constants as r,memo as t,getPackageJson as n,RESTRICTED_IMPORT_JS as s,globals as o,importMetaResolve as i,RESTRICTED_IMPORT_TS as a,isPackageExists as l}from"@eslint-sukka/shared";export{constants}from"@eslint-sukka/shared";import*as c from"node:fs";import p from"node:fs";import*as u from"node:path";import m from"node:path";import f from"node:process";import{g as d}from"./vendor-C59MnjjN.mjs";import{never as y}from"foxts/guard";import g from"@eslint-community/eslint-plugin-eslint-comments";import k from"eslint-plugin-sukka";import w from"eslint-plugin-promise";import*as b from"eslint-plugin-regexp";import{configs as h}from"eslint-plugin-regexp";import x from"@eslint/js";import j from"@stylistic/eslint-plugin-js";import v from"@stylistic/eslint-plugin-plus";import T from"eslint-plugin-unused-imports";import S,{createNodeResolver as E}from"eslint-plugin-import-x";import C from"eslint-plugin-de-morgan";import I from"eslint-plugin-autofix";import A from"eslint-plugin-jsonc";import O from"jsonc-eslint-parser";import{configs as D}from"typescript-eslint";import P from"@stylistic/eslint-plugin-ts";import{pathToFileURL as L,fileURLToPath as F}from"node:url";import{createTypeScriptImportResolver as _}from"eslint-import-resolver-typescript";import N from"picocolors";import{defu as R}from"defu";import{isCI as B}from"ci-info";var $,q,M={},W=d(c),U=d(u),V=function(){if(q)return M;q=1;let e=new Map([["getSource","getText"],["getSourceLines","getLines"],["getAllComments","getAllComments"],["getDeclaredVariables","getDeclaredVariables"],["getNodeByRangeIndex","getNodeByRangeIndex"],["getCommentsBefore","getCommentsBefore"],["getCommentsAfter","getCommentsAfter"],["getCommentsInside","getCommentsInside"],["getJSDocComment","getJSDocComment"],["getFirstToken","getFirstToken"],["getFirstTokens","getFirstTokens"],["getLastToken","getLastToken"],["getLastTokens","getLastTokens"],["getTokenAfter","getTokenAfter"],["getTokenBefore","getTokenBefore"],["getTokenByRangeStart","getTokenByRangeStart"],["getTokens","getTokens"],["getTokensAfter","getTokensAfter"],["getTokensBefore","getTokensBefore"],["getTokensBetween","getTokensBetween"]]),r=new WeakMap,t=new WeakSet,n=new WeakMap,s=new WeakSet;function o(n){if(r.has(n))return r.get(n);let s="function"==typeof n;if(!s&&t.has(n))return n;let o=s?n:n.create.bind(n),i={...s?void 0:n,create:function(r){if("getScope"in r)return o(r);let t=r.sourceCode,n=t.ast,s=Object.assign(Object.create(r),{parserServices:t.parserServices,getScope:()=>t.getScope(n),getAncestors:()=>t.getAncestors(n),markVariableAsUsed(e){t.markVariableAsUsed(e,n)}});for(let[r,n]of e)s[r]=t[n].bind(t);Object.freeze(s);let i=o(s);for(let[e,r]of Object.entries(i)){if(e.startsWith("on")){i[e]=(...t)=>(n=t["onCodePathSegmentLoop"===e?2:1],r.call(i,...t));continue}i[e]=(...e)=>(n=e[0],r.call(i,...e))}return i}},{schema:a}=n;return a&&(i.meta?i.meta={...i.meta,schema:a}:i.meta={schema:a}),r.set(n,i),t.add(i),i}function i(e){if(n.has(e))return n.get(e);if(s.has(e)||!e.rules)return e;let r={...e,rules:Object.fromEntries(Object.entries(e.rules).map(([e,r])=>[e,o(r)]))};return n.set(e,r),s.add(r),r}function a(e){let r=e.startsWith("!"),t=r?"!":"",n=(r?e.slice(1):e).trimEnd();if(["","**","/**","**/"].includes(n))return`${t}${n}`;let s=n.indexOf("/"),o=s<0||s===n.length-1?"**/":"",i=(0===s?n.slice(1):n).replaceAll(/(?=((?:\\.|[^{(])*))\1([{(])/guy,"$1\\$2"),a=n.endsWith("/**")?"/*":"";return`${t}${o}${i}${a}`}return M.convertIgnorePatternToMinimatch=a,M.fixupConfigRules=function(e){return(Array.isArray(e)?e:[e]).map(e=>{if(!e.plugins)return e;let r=Object.fromEntries(Object.entries(e.plugins).map(([e,r])=>[e,i(r)]));return{...e,plugins:r}})},M.fixupPluginRules=i,M.fixupRule=o,M.includeIgnoreFile=function(e){if(!U.isAbsolute(e))throw Error("The ignore file location must be an absolute path.");return{name:"Imported .gitignore patterns",ignores:W.readFileSync(e,"utf8").split(/\r?\n/u).map(e=>e.trim()).filter(e=>e&&!e.startsWith("#")).map(a)}},M}();let J=".gitignore";function G(e={}){let r=[],{root:t=!1,files:n=t?J:function(e,{cwd:r=f.cwd()}={}){let t=m.resolve(r),{root:n}=m.parse(t);for(;t&&t!==n;){let r=m.isAbsolute(e)?e:m.join(t,e);try{if(p.statSync(r).isFile())return r}catch{}t=m.dirname(t)}}(J)||[],strict:s=!0,cwd:o=f.cwd()}=e,i=Array.isArray(n)?n:[n];for(let e of i){let t="";try{t=p.readFileSync(e,"utf8")}catch(e){if(s)throw e;continue}let n=m.relative(o,m.dirname(e)).replaceAll("\\","/"),i=t.split(/\r?\n/u).filter(e=>e&&!e.startsWith("#")).map(e=>V.convertIgnorePatternToMinimatch(e)).map(e=>(function(e,r,t){if(["",".","/"].includes(r))return e;let n=e.startsWith("!")?"!":"",s=n?e.slice(1):e;if(r.endsWith("/")||(r=`${r}/`),!r.startsWith(".."))return`${n}${r}${s}`;if(!r.match(/^(\.\.\/)+$/))throw Error("The ignore file location should be either a parent or child directory");if(s.startsWith("**"))return e;let o=m.relative(m.resolve(t,r),t).split(/[/\\]/);for(;o.length&&s.startsWith(`${o[0]}/`);)s=s.slice(o[0].length+1),o.shift();return s.startsWith("**")||0===o.length?`${n}${s}`:null})(e,n,o)).filter(e=>null!==e);r.push(...i)}if(s&&0===i.length)throw Error("No .gitignore file found");return{name:e.name||"gitignore",ignores:r}}function X(e={}){let{customGlobs:t=null,gitignore:n=[".gitignore"]}=e,s=[],o=[];return!1===t||null===t?o=r.GLOB_EXCLUDE:"function"==typeof t?o=t(r.GLOB_EXCLUDE):"string"==typeof t?o.push(...r.GLOB_EXCLUDE,t):Array.isArray(t)?o.push(...r.GLOB_EXCLUDE,...t):y(t),s.push({ignores:o}),!1===n||null===n||(!0===n?s.push(G({files:[".gitignore"],strict:!1})):"string"==typeof n||Array.isArray(n)?s.push(G({files:n,strict:!1})):y(n)),s}let H=["consistent-chaining","consistent-list-newline","curly","if-newline","import-dedupe","indent-unindent","top-level-function"],z="https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/",K=($=e=>H.includes(e)?`${z}${e}.md`:`${z}${e}.test.ts`,function({name:e,meta:r,...t}){return function({create:e,defaultOptions:r,meta:t}){return{create:t=>{let n=t.options.map((e,t)=>({...r[t]||{},...e||{}}));return e(t,n)},defaultOptions:r,meta:t}}({meta:{...r,docs:{...r.docs,url:$(e)}},...t})}),Y=K({name:"consistent-chaining",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{allowLeadingPropertyAccess:{type:"boolean",description:"Allow leading property access to be on the same line",default:!0}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{allowLeadingPropertyAccess:!0}],create:e=>{let r=new WeakSet,{allowLeadingPropertyAccess:t=!0}=e.options[0]||{};return{MemberExpression(n){let s=n;for(;s.parent&&("MemberExpression"===s.parent.type||"CallExpression"===s.parent.type);)s=s.parent;if(r.has(s))return;r.add(s);let o=[],i=s;for(;i;)switch(i.type){case"MemberExpression":i.computed||o.unshift(i),i=i.object;break;case"CallExpression":i=i.callee;break;default:i=void 0}let a=t,l=null;o.forEach(r=>{let t=e.sourceCode.getTokenBefore(r.property),n=e.sourceCode.getTokenBefore(t),o=t.loc.start.line===n.loc.end.line?"single":"multi";if(!a||"ThisExpression"!==r.object.type&&"Identifier"!==r.object.type&&"MemberExpression"!==r.object.type&&"Literal"!==r.object.type||"single"!==o){if(a=!1,null==l){l=o;return}l!==o&&e.report({messageId:"single"===l?"shouldNotWrap":"shouldWrap",loc:t.loc,data:{name:s.type},fix:e=>"multi"===l?e.insertTextAfter(n,"\n"):e.removeRange([n.range[1],t.range[0]])})}})}}}}),Q=K({name:"consistent-list-newline",meta:{type:"layout",docs:{description:"Having line breaks styles to object, array and named imports"},fixable:"whitespace",schema:[{type:"object",properties:{ArrayExpression:{type:"boolean"},ArrayPattern:{type:"boolean"},ArrowFunctionExpression:{type:"boolean"},CallExpression:{type:"boolean"},ExportNamedDeclaration:{type:"boolean"},FunctionDeclaration:{type:"boolean"},FunctionExpression:{type:"boolean"},ImportDeclaration:{type:"boolean"},JSONArrayExpression:{type:"boolean"},JSONObjectExpression:{type:"boolean"},JSXOpeningElement:{type:"boolean"},NewExpression:{type:"boolean"},ObjectExpression:{type:"boolean"},ObjectPattern:{type:"boolean"},TSFunctionType:{type:"boolean"},TSInterfaceDeclaration:{type:"boolean"},TSTupleType:{type:"boolean"},TSTypeLiteral:{type:"boolean"},TSTypeParameterDeclaration:{type:"boolean"},TSTypeParameterInstantiation:{type:"boolean"}},additionalProperties:!1}],messages:{shouldWrap:"Should have line breaks between items, in node {{name}}",shouldNotWrap:"Should not have line breaks between items, in node {{name}}"}},defaultOptions:[{}],create:(e,[r={}]=[{}])=>{function t(r,t,n,s){let o=[t,n],i=e.sourceCode.text.slice(...o);return r.replaceTextRange(o,i.replace(/(\r\n|\n)/g,s??""))}function n(r,t){if("TSInterfaceDeclaration"===r.type||"TSTypeLiteral"===r.type)return e.sourceCode.text.slice(t.range[0],t.range[1]).match(/(?:,|;)$/)?void 0:","}function s(e){let r=e;for(;"Program"!==r.type;)r=r.parent;let t=e.range;return!!r.comments?.some(e=>{let r=e.range;return r[0]>t[0]&&r[1]<t[1]})}function o(r,s,o){let i=s.filter(Boolean);if(0===i.length)return;let a=["CallExpression","NewExpression"].includes(r.type)?void 0:e.sourceCode.getFirstToken(r);"CallExpression"===r.type&&(a=e.sourceCode.getTokenAfter(r.typeArguments?r.typeArguments:"MemberExpression"===r.callee.type?r.callee.property:r.callee)),a?.type!=="Punctuator"&&(a=e.sourceCode.getTokenBefore(i[0]));let l=e.sourceCode.getTokenAfter(i[i.length-1]),c=a.loc.start.line;if(a.loc.start.line===l.loc.end.line)return;let p=null,u=c;i.forEach((s,o)=>{if(null==p){p=s.loc.start.line===u?"inline":"newline",u=s.loc.end.line;return}let a=s.loc.start.line;if("newline"===p&&a===u)e.report({node:s,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextBefore(s,"\n")}});else if("inline"===p&&a!==u){let a=i[o-1];if(e.sourceCode.getCommentsBefore(s).length>0)return;e.sourceCode.text.slice(a.range[1],s.range[0]).includes("\n")&&e.report({node:s,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,a.range[1],s.range[0],n(r,a))}})}u=s.loc.end.line});let m=o?Math.min(e.sourceCode.getTokenBefore(o).range[0],r.range[1]):r.range[1],f=e.sourceCode.getLocFromIndex(m),d=i[i.length-1];if("newline"===p&&f.line===u)e.report({node:d,messageId:"shouldWrap",data:{name:r.type},*fix(e){yield e.insertTextAfter(d,"\n")}});else if("inline"===p&&f.line!==u){if(1===i.length&&i[0].loc.start.line!==i[1]?.loc.start.line||e.sourceCode.getCommentsAfter(d).length>0)return;e.sourceCode.text.slice(d.range[1],m).includes("\n")&&e.report({node:d,messageId:"shouldNotWrap",data:{name:r.type},*fix(e){yield t(e,d.range[1],m,n(r,d))}})}}let i={ObjectExpression:e=>{o(e,e.properties)},ArrayExpression:e=>{o(e,e.elements)},ImportDeclaration:e=>{o(e,e.specifiers[0]?.type==="ImportDefaultSpecifier"?e.specifiers.slice(1):e.specifiers)},ExportNamedDeclaration:e=>{o(e,e.specifiers)},FunctionDeclaration:e=>{o(e,e.params,e.returnType||e.body)},FunctionExpression:e=>{o(e,e.params,e.returnType||e.body)},ArrowFunctionExpression:e=>{e.params.length<=1||o(e,e.params,e.returnType||e.body)},CallExpression:e=>{o(e,e.arguments)},TSInterfaceDeclaration:e=>{o(e,e.body.body)},TSTypeLiteral:e=>{o(e,e.members)},TSTupleType:e=>{o(e,e.elementTypes)},TSFunctionType:e=>{o(e,e.params)},NewExpression:e=>{o(e,e.arguments)},TSTypeParameterDeclaration(e){o(e,e.params)},TSTypeParameterInstantiation(e){o(e,e.params)},ObjectPattern(e){o(e,e.properties,e.typeAnnotation)},ArrayPattern(e){o(e,e.elements)},JSXOpeningElement(e){e.attributes.some(e=>e.loc.start.line!==e.loc.end.line)||o(e,e.attributes)},JSONArrayExpression(e){s(e)||o(e,e.elements)},JSONObjectExpression(e){s(e)||o(e,e.properties)}};return Object.keys(r).forEach(e=>{!1===r[e]&&delete i[e]}),i}}),Z=K({name:"curly",meta:{type:"layout",docs:{description:"Enforce Anthony's style of curly bracket"},fixable:"whitespace",schema:[],messages:{missingCurlyBrackets:"Expect curly brackets"}},defaultOptions:[],create:e=>{function r(t,n=[]){[...t,...n].map(e=>(function(e){if(!e)return!1;if("BlockStatement"===e.type||["IfStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement"].includes(e.type))return!0;let r="ExpressionStatement"===e.type?e.expression:e;return r.loc.start.line!==r.loc.end.line})(e)).some(e=>e)&&t.map(r=>{"BlockStatement"!==r.type&&e.report({node:r,messageId:"missingCurlyBrackets",*fix(t){yield t.insertTextAfter(r,"\n}");let n=e.sourceCode.getTokenBefore(r);yield t.insertTextAfterRange(n.range," {")}})})}return{IfStatement(e){let t=e.parent;if("IfStatement"===t.type&&t.alternate===e)return;let n=[],s=[];!function e(r){n.push(r.consequent),r.test&&s.push(r.test),r.alternate&&("IfStatement"===r.alternate.type?e(r.alternate):n.push(r.alternate))}(e),r(n,s)},WhileStatement(e){r([e.body],[e.test])},DoWhileStatement(e){r([e.body],[e.test])},ForStatement(e){r([e.body])},ForInStatement(e){r([e.body])},ForOfStatement(e){r([e.body])}}}}),ee=K({name:"if-newline",meta:{type:"layout",docs:{description:"Newline after if"},fixable:"whitespace",schema:[],messages:{missingIfNewline:"Expect newline after if"}},defaultOptions:[],create:e=>({IfStatement(r){r.consequent&&"BlockStatement"!==r.consequent.type&&r.test.loc.end.line===r.consequent.loc.start.line&&e.report({node:r,loc:{start:r.test.loc.end,end:r.consequent.loc.start},messageId:"missingIfNewline",fix:e=>e.replaceTextRange([r.consequent.range[0],r.consequent.range[0]],"\n")})}})}),er=K({name:"import-dedupe",meta:{type:"problem",docs:{description:"Fix duplication in imports"},fixable:"code",schema:[],messages:{importDedupe:"Expect no duplication in imports"}},defaultOptions:[],create:e=>({ImportDeclaration(r){if(r.specifiers.length<=1)return;let t=new Set;r.specifiers.forEach(n=>{let s=n.local.name;t.has(s)&&e.report({node:r,loc:{start:n.loc.end,end:n.loc.start},messageId:"importDedupe",fix(r){let t=n.range[0],s=n.range[1];return","===e.getSourceCode().text[s]&&(s+=1),r.removeRange([t,s])}}),t.add(s)})}})}),et=/^\s*$/,en=K({name:"indent-unindent",meta:{type:"layout",docs:{description:"Enforce consistent indentation in `unindent` template tag"},fixable:"code",schema:[{type:"object",properties:{indent:{type:"number",minimum:0,default:2},tags:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{"indent-unindent":"Consistent indentation in unindent tag"}},defaultOptions:[{}],create(e){let{tags:r=["$","unindent","unIndent"],indent:t=2}=e.options?.[0]??{};return{TaggedTemplateExpression(n){let s=n.tag;if(!s||"Identifier"!==s.type||!r.includes(s.name)||1!==n.quasi.quasis.length)return;let o=n.quasi.quasis[0],i=o.value.raw,a=e.sourceCode.getIndexFromLoc({line:n.loc.start.line,column:0}),l=e.sourceCode.text.slice(a).match(/^\s*/)?.[0]??"",c=l+" ".repeat(t),p=(function(e){let r=("string"==typeof e?e:e[0]).split("\n"),t=r.map(e=>et.test(e)),n=r.reduce((e,r,n)=>{if(t[n])return e;let s=r.match(/^\s*/)?.[0].length;return void 0===s?e:Math.min(e,s)},Number.POSITIVE_INFINITY),s=0;for(;s<r.length&&t[s];)s++;let o=0;for(;o<r.length&&t[r.length-o-1];)o++;return r.slice(s,r.length-o).map(e=>e.slice(n)).join("\n")})([i]).split("\n").map(e=>c+e).join("\n");(p=`
|
|
2
2
|
${p}
|
|
3
|
-
${l}`)!==i&&e.report({node:o,messageId:"indent-unindent",fix:e=>e.replaceText(o,`\`${p}\``)})}}}}),
|
|
3
|
+
${l}`)!==i&&e.report({node:o,messageId:"indent-unindent",fix:e=>e.replaceText(o,`\`${p}\``)})}}}}),es=K({name:"no-import-dist",meta:{type:"problem",docs:{description:"Prevent importing modules in `dist` folder"},schema:[],messages:{noImportDist:"Do not import modules in `dist` folder, got {{path}}"}},defaultOptions:[],create:e=>({ImportDeclaration:r=>{var t;((t=r.source.value).startsWith(".")&&t.match(/\/dist(\/|$)/)||"dist"===t)&&e.report({node:r,messageId:"noImportDist",data:{path:r.source.value}})}})}),eo=K({name:"no-import-node-modules-by-path",meta:{type:"problem",docs:{description:"Prevent importing modules in `node_modules` folder by relative or absolute path"},schema:[],messages:{noImportNodeModulesByPath:"Do not import modules in `node_modules` folder by path"}},defaultOptions:[],create:e=>({ImportDeclaration:r=>{r.source.value.includes("/node_modules/")&&e.report({node:r,messageId:"noImportNodeModulesByPath"})},'CallExpression[callee.name="require"]':r=>{let t=r.arguments[0]?.value;"string"==typeof t&&t.includes("/node_modules/")&&e.report({node:r,messageId:"noImportNodeModulesByPath"})}})}),ei=K({name:"no-top-level-await",meta:{type:"problem",docs:{description:"Prevent using top-level await"},schema:[],messages:{NoTopLevelAwait:"Do not use top-level await"}},defaultOptions:[],create:e=>({AwaitExpression:r=>{let t=r.parent;for(;t;){if("FunctionDeclaration"===t.type||"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type)return;t=t.parent}e.report({node:r,messageId:"NoTopLevelAwait"})}})}),ea={meta:{name:"antfu",version:"3.1.0"},rules:{"consistent-chaining":Y,"consistent-list-newline":Q,curly:Z,"if-newline":ee,"import-dedupe":er,"indent-unindent":en,"no-import-dist":es,"no-import-node-modules-by-path":eo,"no-top-level-await":ei,"no-ts-export-equal":K({name:"no-ts-export-equal",meta:{type:"problem",docs:{description:"Do not use `exports =`"},schema:[],messages:{noTsExportEqual:"Use ESM `export default` instead"}},defaultOptions:[],create:e=>{let r=e.getFilename().split(".").pop();return r&&["ts","tsx","mts","cts"].includes(r)?{TSExportAssignment(r){e.report({node:r,messageId:"noTsExportEqual"})}}:{}}}),"top-level-function":K({name:"top-level-function",meta:{type:"problem",docs:{description:"Enforce top-level functions to be declared with function keyword"},fixable:"code",schema:[],messages:{topLevelFunctionDeclaration:"Top-level functions should be declared with function keyword"}},defaultOptions:[],create:e=>({VariableDeclaration(r){if("Program"!==r.parent.type&&"ExportNamedDeclaration"!==r.parent.type||1!==r.declarations.length||"const"!==r.kind||r.declare)return;let t=r.declarations[0];if(t.init?.type!=="ArrowFunctionExpression"&&t.init?.type!=="FunctionExpression"||t.id?.type!=="Identifier"||t.id.typeAnnotation||"BlockStatement"!==t.init.body.type&&t.id?.loc.start.line===t.init?.body.loc.end.line)return;let n=t.init,s=t.init.body,o=t.id;e.report({node:r,loc:{start:o.loc.start,end:s.loc.start},messageId:"topLevelFunctionDeclaration",fix(t){let i=e.getSourceCode().text,a=i.slice(o.range[0],o.range[1]),l=n.params.length?i.slice(n.params[0].range[0],n.params[n.params.length-1].range[1]):"",c="BlockStatement"===s.type?i.slice(s.range[0],s.range[1]):`{
|
|
4
4
|
return ${i.slice(s.range[0],s.range[1])}
|
|
5
|
-
}`,p=n.typeParameters?i.slice(n.typeParameters.range[0],n.typeParameters.range[1]):"",u=n.returnType?i.slice(n.returnType.range[0],n.returnType.range[1]):"",m=n.async?"async ":"",f=`${m}function ${a} ${p}(${l})${u} ${c}`;return t.replaceTextRange([r.range[0],r.range[1]],f)}})}})})}},ea=[".js",".jsx",".mjs",".cjs"],el={plugins:{jsonc:t(I,"eslint-plugin-jsonc")},languageOptions:{parser:A}},ec={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},ep={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"off","no-redeclare":"off","@typescript-eslint/no-redeclare":"off","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","sukka/no-return-await":"off","@typescript-eslint/return-await":"error","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/function-call-spacing":"off","@stylistic/ts/function-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},eu=[".ts",".cts",".mts",".tsx",".d.ts"],em=[...eu,".js",".jsx",".mjs",".cjs"];async function ef(r){if(!R&&f.stdout.isTTY&&!l(r)){let{confirm:e}=await import("./vendor-NXKeI_1_.mjs").then(function(e){return e.i});await e({message:`Package is required for this config: ${r}. Do you want to install it?`})&&await import("./vendor-NXKeI_1_.mjs").then(function(e){return e.a}).then(e=>e.installPackage(r,{dev:!0}))}return e(r)}function ed(e,r=!1){return"boolean"==typeof e?e:void 0===e?r:!!e.enable||r}function ey(e,...r){let t;if("boolean"==typeof e||void 0===e)t={};else{let{enable:r,...n}=e;t=n}return r.length?N(t,...r):t}function eg(e){l(e)&&console.error(_.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}async function ek(e,...c){let p=[];eg("@eslint-sukka/js"),eg("@eslint-sukka/json"),eg("@eslint-sukka/ts"),eg("@eslint-sukka/legacy");let u=ed(e?.ts,l("typescript"));if(p.push(G(e?.ignores),[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":y,sukka:t(g,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":["error",{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}]),ed(e?.js,!0)&&p.push(function(e={}){let{files:i,disableNoConsoleInCLI:a=!0,env:l={}}=e,{browser:c=!0,webextensions:p=!1,greasemonkey:u=!1,customGlobals:m={}}=l,f=e.module??n()?.type==="module",d=[{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint/js recommended",...h.configs.recommended},{name:"@eslint-sukka/js base",...i?{files:i}:{},languageOptions:{ecmaVersion:"latest",sourceType:f?"module":"commonjs",parserOptions:{ecmaVersion:"latest",sourceType:f?"module":"commonjs",ecmaFeatures:{jsx:!0}},globals:{...o.es2025,...c&&o.browser,...p&&o.webextensions,...u&&o.greasemonkey,...m}},settings:{"import-x/extensions":ea,"import-x/resolver-next":[S({alwaysTryTypes:!0,extensions:ea})]},plugins:{"unused-imports":t(v,"eslint-plugin-unused-imports"),"@stylistic/js":t(x,"@stylistic/eslint-plugin-js"),"@stylistic/plus":t(j,"@stylistic/eslint-plugin-plus"),sukka:t(g,"eslint-plugin-sukka"),"import-x":t(T,"eslint-plugin-import-x"),autofix:C,antfu:t(ei,"eslint_plugin_antfu")},rules:{...T.configs.recommended.rules,"import-x/newline-after-import":["error",{considerComments:!1}],"import-x/no-absolute-path":"error","import-x/no-empty-named-blocks":"error","import-x/no-mutable-exports":"error","import-x/no-useless-path-segments":"warn","import-x/no-webpack-loader-syntax":"error","import-x/no-relative-packages":"warn","accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","as-needed",{requireReturnForObjectLiteral:!1}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"off","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!0,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/function-call-spacing":["error","never"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":["error","always-multiline"],"new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","sukka/unicorn/no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":"error","@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","sukka/unicorn/no-negated-condition":"warn","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/no-expression-empty-lines":"error","sukka/prefer-single-boolean-return":"error","sukka/no-all-duplicated-branches":"error","sukka/no-duplicated-branches":"error","sukka/bool-param-default":"error","sukka/call-argument-line":"error","sukka/class-prototype":"warn","sukka/comma-or-logical-or-case":"error","sukka/track-todo-fixme-comment":"warn","sukka/no-element-overwrite":"warn","sukka/no-empty-collection":"warn","sukka/no-equals-in-for-termination":"error","sukka/no-top-level-this":"error","sukka/no-invariant-returns":"error","sukka/no-redundant-assignments":"warn","sukka/no-same-line-conditional":"error","sukka/no-small-switch":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/no-useless-plusplus":"error","sukka/no-chain-array-higher-order-functions":"error","sukka/unicorn/catch-error-name":["error",{ignore:[/^(?:e|err|error|\w+Err|\w+Error)[\d_]?$/]}],"sukka/unicorn/custom-error-definition":"error","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/prefer-negative-index":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"error","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/no-magic-array-flat-depth":"error","sukka/unicorn/no-object-as-default-parameter":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","sukka/unicorn/no-length-as-slice-end":"error","no-restricted-imports":["error",{paths:s}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error","antfu/import-dedupe":"error","antfu/consistent-chaining":"error","antfu/no-top-level-await":"error","antfu/top-level-function":"warn"}},E.configs.recommended];if(!1!==a){let e="boolean"==typeof a?null:Array.isArray(a)?a:[a];d.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${r.GLOB_SRC}`,`**/cli/${r.GLOB_SRC}`,`**/cli.${r.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return d}(ey(e?.js)),function({typescript:e}){return[{name:"sukka/promise",plugins:{promise:k},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn","promise/prefer-catch":"error"}}]}({typescript:u}),[{name:"sukka/regexp",plugins:{sukka:t(g,"eslint-plugin-sukka"),regexp:t(w,"eslint-plugin-regexp")},rules:{"sukka/unicorn/better-regex":"warn",...b["flat/recommended"].rules,"regexp/strict":"off"}}]),ed(e?.json,!0)&&p.push([...I.configs["flat/base"],{name:"@eslint-sukka/json json",files:[r.GLOB_JSON],rules:{...I.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...ec}},{name:"@eslint-sukka/json json5",...el,files:[r.GLOB_JSON5],rules:{...I.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...ec}},{name:"@eslint-sukka/json jsonc",...el,files:[r.GLOB_JSONC],rules:{...I.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...ec}},{name:"@eslint-sukka/json package.json",...el,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...el,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}]),u){let n=e?.isInEditor??(!(process.env.CI||R||process.env.GIT_PARAMS||process.env.VSCODE_GIT_COMMAND||process.env.npm_lifecycle_script?.startsWith("lint-staged"))&&!!(process.env.VSCODE_PID||process.env.VSCODE_CWD||process.env.JETBRAINS_IDE||process.env.VIM||process.env.NVIM));p.push(function(e={}){let{allowJs:n=!1,tsconfigPath:s=!0,tsconfigRootDir:o=f.cwd(),componentExtentions:l=[],isInEditor:c=!1,allowDefaultProject:p=["next.config.ts","rollup.config.ts","webpack.config.ts"]}=e,u=L(i("@typescript-eslint/parser","string"==typeof __dirname?P(__dirname).href:import.meta.url));return[{name:"@eslint-sukka/ts base",files:[r.GLOB_TS,r.GLOB_TSX,...l.map(e=>`**/*.${e}`),...n?[r.GLOB_JS]:[]],plugins:{...O.base.plugins,"@stylistic/ts":t(D,"@stylistic/eslint-plugin-ts"),"@stylistic/plus":t(j,"@stylistic/eslint-plugin-plus"),"import-x":t(T,"eslint-plugin-import-x")},languageOptions:{parser:O.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===s?{projectService:{allowDefaultProject:p,loadTypeScriptPlugins:c}}:{project:s},tsconfigRootDir:o,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":em,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver-next":[F({alwaysTryTypes:!0,extensions:em,...!0===s?{}:{project:s}})],"import-x/parsers":{[u]:eu}},rules:{...O.base.rules,...O.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...O.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...T.configs.typescript.rules,...ep,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!0}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:a}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"warn","@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-unnecessary-template-expression":"warn","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[],ignoreClassesThatImplementAnInterface:"public-fields"}],"no-restricted-syntax":["error",{message:'Unnecessary "as const"',selector:"VariableDeclarator > TSAsExpression[expression.properties.length=0] > TSTypeReference > Identifier[name=const]"},{message:'Unnecessary "as const"',selector:"VariableDeclarator[id.typeAnnotation] > TSAsExpression > TSTypeReference > Identifier[name=const]"},{message:'Static class methods requires "this: void", or change to arrow function',selector:'MethodDefinition[static=true][kind!="get"][kind!="set"] > FunctionExpression:not([params.0.name=this][params.0.typeAnnotation.typeAnnotation.type=TSVoidKeyword])'},{message:'Public "static" fields should be read-only',selector:'PropertyDefinition[readonly!=true][static=true][accessibility!="private"][accessibility!="protected"]'}],"@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":["error",{allowDefaultCaseForExhaustiveSwitch:!0,considerDefaultExhaustiveForUnions:!0}],"@typescript-eslint/parameter-properties":["warn",{prefer:"parameter-property"}],"sukka/string/no-unneeded-to-string":"error","sukka/type/no-force-cast-via-top-type":"error","sukka/type/no-wrapper-type-reference":"error","sukka/no-default-error":"off","sukka/no-export-const-enum":"error","sukka/no-for-in-iterable":"error","sukka/only-await-thenable":"error","sukka/no-undefined-optional-parameters":"warn","sukka/no-try-promise":"error","sukka/no-useless-string-operation":"warn","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":c?"error":"off","import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/named":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-duplicates":"off","import-x/no-named-as-default-member":"off","import-x/no-deprecated":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":t(T,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:O.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off"}}]}({isInEditor:n,...ey(e?.ts)}))}let m=l("next"),d=ed(e?.react,m||l("react")||l("@types/react"));if(d){if(u){let r=await ef("@eslint-sukka/react"),t=l("@remix-run/node")||l("@remix-run/react")||l("@remix-run/serve")||l("@remix-run/dev");p.push(r.react(ey(e?.react,{nextjs:m,remix:t,reactRefresh:{allowConstantExport:l("vite")},reactCompiler:l("babel-plugin-react-compiler")||l("react-compiler-webpack")?"error":"off"}))),ed(e?.next,m)&&p.push(r.next()),ed(e?.stylex,l("@stylexjs/stylex")||l("stylex-webpack"))&&p.push(r.stylex(ey(e?.stylex)))}else console.warn("[eslint-config-sukka] React preset will not be enabled when TypeScript is missing.")}return ed(e?.node,l("@types/node")||l("@types/bun"))&&p.push((await ef("@eslint-sukka/node")).node({...ey(e?.node),hasTypeScript:u,hasReact:d})),ed(e?.legacy)&&p.push(function(e={}){return[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:t(g,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?o.browser:{},...e.node?o.node:{}}}}]}(ey(e?.legacy))),p.push(c),p.flat()}export{G as ignores,ek as sukka};
|
|
5
|
+
}`,p=n.typeParameters?i.slice(n.typeParameters.range[0],n.typeParameters.range[1]):"",u=n.returnType?i.slice(n.returnType.range[0],n.returnType.range[1]):"",m=n.async?"async ":"",f=`${m}function ${a} ${p}(${l})${u} ${c}`;return t.replaceTextRange([r.range[0],r.range[1]],f)}})}})})}},el=[".js",".jsx",".mjs",".cjs"],ec={plugins:{jsonc:t(A,"eslint-plugin-jsonc")},languageOptions:{parser:O}},ep={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},eu={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"off","no-redeclare":"off","@typescript-eslint/no-redeclare":"off","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","sukka/no-return-await":"off","@typescript-eslint/return-await":"error","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/function-call-spacing":"off","@stylistic/ts/function-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},em=[".ts",".cts",".mts",".tsx",".d.ts"],ef=[...em,".js",".jsx",".mjs",".cjs"];async function ed(r){if(!B&&f.stdout.isTTY&&!l(r)){let{confirm:e}=await import("./vendor-C59MnjjN.mjs").then(function(e){return e.i});await e({message:`Package is required for this config: ${r}. Do you want to install it?`})&&await import("./vendor-C59MnjjN.mjs").then(function(e){return e.a}).then(e=>e.installPackage(r,{dev:!0}))}return e(r)}function ey(e,r=!1){return"boolean"==typeof e?e:void 0===e?r:!!e.enable||r}function eg(e,...r){let t;if("boolean"==typeof e||void 0===e)t={};else{let{enable:r,...n}=e;t=n}return r.length?R(t,...r):t}function ek(e){l(e)&&console.error(N.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}async function ew(e,...c){let p=[];ek("@eslint-sukka/js"),ek("@eslint-sukka/json"),ek("@eslint-sukka/ts"),ek("@eslint-sukka/legacy");let u=ey(e?.ts,l("typescript"));if(p.push(X(e?.ignores),[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":g,sukka:t(k,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":["error",{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}]),ey(e?.js,!0)&&p.push(function(e={}){let{files:i,disableNoConsoleInCLI:a=!0,env:l={}}=e,{browser:c=!0,webextensions:p=!1,greasemonkey:u=!1,customGlobals:m={}}=l,f=e.module??n()?.type==="module",d=[{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint/js recommended",...x.configs.recommended},{name:"@eslint-sukka/js base",...i?{files:i}:{},languageOptions:{ecmaVersion:"latest",sourceType:f?"module":"commonjs",parserOptions:{ecmaVersion:"latest",sourceType:f?"module":"commonjs",ecmaFeatures:{jsx:!0}},globals:{...o.es2025,...c&&o.browser,...p&&o.webextensions,...u&&o.greasemonkey,...m}},settings:{"import-x/extensions":el,"import-x/resolver-next":[E({alwaysTryTypes:!0,extensions:el})]},plugins:{"unused-imports":t(T,"eslint-plugin-unused-imports"),"@stylistic/js":t(j,"@stylistic/eslint-plugin-js"),"@stylistic/plus":t(v,"@stylistic/eslint-plugin-plus"),sukka:t(k,"eslint-plugin-sukka"),"import-x":t(S,"eslint-plugin-import-x"),autofix:I,antfu:t(ea,"eslint_plugin_antfu")},rules:{...S.configs.recommended.rules,"import-x/newline-after-import":["error",{considerComments:!1}],"import-x/no-absolute-path":"error","import-x/no-empty-named-blocks":"error","import-x/no-mutable-exports":"error","import-x/no-useless-path-segments":"warn","import-x/no-webpack-loader-syntax":"error","import-x/no-relative-packages":"warn","accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"arrow-body-style":["error","as-needed",{requireReturnForObjectLiteral:!1}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"off","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!0,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/function-call-spacing":["error","never"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":["error","always-multiline"],"new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","sukka/unicorn/no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":"error","@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","sukka/unicorn/no-negated-condition":"warn","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/no-expression-empty-lines":"error","sukka/prefer-single-boolean-return":"error","sukka/no-all-duplicated-branches":"error","sukka/no-duplicated-branches":"error","sukka/bool-param-default":"error","sukka/call-argument-line":"error","sukka/class-prototype":"warn","sukka/comma-or-logical-or-case":"error","sukka/track-todo-fixme-comment":"warn","sukka/no-element-overwrite":"warn","sukka/no-empty-collection":"warn","sukka/no-equals-in-for-termination":"error","sukka/no-top-level-this":"error","sukka/no-invariant-returns":"error","sukka/no-redundant-assignments":"warn","sukka/no-same-line-conditional":"error","sukka/no-small-switch":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/no-useless-plusplus":"error","sukka/no-chain-array-higher-order-functions":"error","sukka/unicorn/catch-error-name":["error",{ignore:[/^(?:e|err|error|\w+Err|\w+Error)[\d_]?$/]}],"sukka/unicorn/custom-error-definition":"error","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/prefer-negative-index":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"error","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/no-magic-array-flat-depth":"error","sukka/unicorn/no-object-as-default-parameter":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","sukka/unicorn/no-length-as-slice-end":"error","no-restricted-imports":["error",{paths:s}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error","antfu/import-dedupe":"error","antfu/consistent-chaining":"error","antfu/no-top-level-await":"error","antfu/top-level-function":"warn"}},C.configs.recommended];if(!1!==a){let e="boolean"==typeof a?null:Array.isArray(a)?a:[a];d.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${r.GLOB_SRC}`,`**/cli/${r.GLOB_SRC}`,`**/cli.${r.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return d}(eg(e?.js)),function({typescript:e}){return[{name:"sukka/promise",plugins:{promise:w},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn","promise/prefer-catch":"error"}}]}({typescript:u}),[{name:"sukka/regexp",plugins:{sukka:t(k,"eslint-plugin-sukka"),regexp:t(b,"eslint-plugin-regexp")},rules:{"sukka/unicorn/better-regex":"warn",...h["flat/recommended"].rules,"regexp/strict":"off"}}]),ey(e?.json,!0)&&p.push([...A.configs["flat/base"],{name:"@eslint-sukka/json json",files:[r.GLOB_JSON],rules:{...A.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...ep}},{name:"@eslint-sukka/json json5",...ec,files:[r.GLOB_JSON5],rules:{...A.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...ep}},{name:"@eslint-sukka/json jsonc",...ec,files:[r.GLOB_JSONC],rules:{...A.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...ep}},{name:"@eslint-sukka/json package.json",...ec,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...ec,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}]),u){let n=e?.isInEditor??(!(process.env.CI||B||process.env.GIT_PARAMS||process.env.VSCODE_GIT_COMMAND||process.env.npm_lifecycle_script?.startsWith("lint-staged"))&&!!(process.env.VSCODE_PID||process.env.VSCODE_CWD||process.env.JETBRAINS_IDE||process.env.VIM||process.env.NVIM));p.push(function(e={}){let{allowJs:n=!1,tsconfigPath:s=!0,tsconfigRootDir:o=f.cwd(),componentExtentions:l=[],isInEditor:c=!1,allowDefaultProject:p=["next.config.ts","rollup.config.ts","webpack.config.ts"]}=e,u=F(i("@typescript-eslint/parser","string"==typeof __dirname?L(__dirname).href:import.meta.url));return[{name:"@eslint-sukka/ts base",files:[r.GLOB_TS,r.GLOB_TSX,...l.map(e=>`**/*.${e}`),...n?[r.GLOB_JS]:[]],plugins:{...D.base.plugins,"@stylistic/ts":t(P,"@stylistic/eslint-plugin-ts"),"@stylistic/plus":t(v,"@stylistic/eslint-plugin-plus"),"import-x":t(S,"eslint-plugin-import-x")},languageOptions:{parser:D.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===s?{projectService:{allowDefaultProject:p,loadTypeScriptPlugins:c}}:{project:s},tsconfigRootDir:o,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":ef,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver-next":[_({alwaysTryTypes:!0,extensions:ef,...!0===s?{}:{project:s}})],"import-x/parsers":{[u]:em}},rules:{...D.base.rules,...D.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...D.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...S.configs.typescript.rules,...eu,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!0}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:a}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"warn","@typescript-eslint/no-deprecated":"warn","@typescript-eslint/no-unnecessary-template-expression":"warn","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[],ignoreClassesThatImplementAnInterface:"public-fields"}],"no-restricted-syntax":["error",{message:'Unnecessary "as const"',selector:"VariableDeclarator > TSAsExpression[expression.properties.length=0] > TSTypeReference > Identifier[name=const]"},{message:'Unnecessary "as const"',selector:"VariableDeclarator[id.typeAnnotation] > TSAsExpression > TSTypeReference > Identifier[name=const]"},{message:'Static class methods requires "this: void", or change to arrow function',selector:'MethodDefinition[static=true][kind!="get"][kind!="set"] > FunctionExpression:not([params.0.name=this][params.0.typeAnnotation.typeAnnotation.type=TSVoidKeyword])'},{message:'Public "static" fields should be read-only',selector:'PropertyDefinition[readonly!=true][static=true][accessibility!="private"][accessibility!="protected"]'}],"@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":["error",{allowDefaultCaseForExhaustiveSwitch:!0,considerDefaultExhaustiveForUnions:!0}],"@typescript-eslint/parameter-properties":["warn",{prefer:"parameter-property"}],"sukka/string/no-unneeded-to-string":"error","sukka/type/no-force-cast-via-top-type":"error","sukka/type/no-wrapper-type-reference":"error","sukka/no-default-error":"off","sukka/no-export-const-enum":"error","sukka/no-for-in-iterable":"error","sukka/only-await-thenable":"error","sukka/no-undefined-optional-parameters":"warn","sukka/no-try-promise":"error","sukka/no-useless-string-operation":"warn","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":c?"error":"off","import-x/consistent-type-specifier-style":["error","prefer-top-level"],"import-x/named":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-duplicates":"off","import-x/no-named-as-default-member":"off","import-x/no-deprecated":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":t(S,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:D.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off"}}]}({isInEditor:n,...eg(e?.ts)}))}let m=l("next"),d=ey(e?.react,m||l("react")||l("@types/react"));if(d){if(u){let r=await ed("@eslint-sukka/react"),t=l("@remix-run/node")||l("@remix-run/react")||l("@remix-run/serve")||l("@remix-run/dev");p.push(r.react(eg(e?.react,{nextjs:m,remix:t,reactRefresh:{allowConstantExport:l("vite")},reactCompiler:l("babel-plugin-react-compiler")||l("react-compiler-webpack")?"error":"off"}))),ey(e?.next,m)&&p.push(r.next()),ey(e?.stylex,l("@stylexjs/stylex")||l("stylex-webpack"))&&p.push(r.stylex(eg(e?.stylex)))}else console.warn("[eslint-config-sukka] React preset will not be enabled when TypeScript is missing.")}return ey(e?.node,l("@types/node")||l("@types/bun"))&&p.push((await ed("@eslint-sukka/node")).node({...eg(e?.node),hasTypeScript:u,hasReact:d})),ey(e?.legacy)&&p.push(function(e={}){return[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:t(k,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?o.browser:{},...e.node?o.node:{}}}}]}(eg(e?.legacy))),p.push(c),p.flat()}export{X as ignores,ew as sukka};
|
|
@@ -16,4 +16,4 @@ ${uE(this.state)} ${u.message}
|
|
|
16
16
|
`,r=this.value?D:e;switch(this.state){case"submit":return`${t}${n.gray(un)} ${n.dim(r)}`;case"cancel":return`${t}${n.gray(un)} ${n.strikethrough(n.dim(r))}
|
|
17
17
|
${n.gray(un)}`;default:return`${t}${n.cyan(un)} ${this.value?`${n.green(uC)} ${D}`:`${n.dim(ua)} ${n.dim(D)}`} ${n.dim("/")} ${this.value?`${n.dim(ua)} ${n.dim(e)}`:`${n.green(uC)} ${e}`}
|
|
18
18
|
${n.cyan(uo)}
|
|
19
|
-
`}}}).prompt()}});let uc=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],uh={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"};async function up(u={}){let{cwd:D,onUnknown:e}=u;for(let u of function*(u=t.cwd()){let D=E.resolve(u),{root:e}=E.parse(D);for(;D&&D!==e;)yield D,D=E.dirname(D)}(D)){for(let D of Object.keys(uh))if(await uf(E.join(u,D))){let t=uh[D],r=await uB(E.join(u,"package.json"),e);if(r)return r;return{name:t,agent:t}}let D=await uB(E.join(u,"package.json"),e);if(D)return D}return null}async function uB(u,D){return u&&await uf(u)?function(u,D){try{let e;let t=JSON.parse(o.readFileSync(u,"utf8"));if("string"==typeof t.packageManager){let[u,r]=t.packageManager.replace(/^\^/,"").split("@"),i=r;if("yarn"===u&&Number.parseInt(r)>1)return e="yarn@berry",i="berry",{name:u,agent:e,version:i};if("pnpm"===u&&7>Number.parseInt(r))return e="pnpm@6",{name:u,agent:e,version:i};if(uc.includes(u))return e=u,{name:u,agent:e,version:i};else return D?.(t.packageManager)??null}}catch{}return null}(u,D):null}async function uf(u){try{if((await a.stat(u)).isFile())return!0}catch{}return!1}let ud=c(import.meta.url);var um=Object.create,uA=Object.defineProperty,ug=Object.getOwnPropertyDescriptor,ub=Object.getOwnPropertyNames,uv=Object.getPrototypeOf,uw=Object.prototype.hasOwnProperty,uy=(u=function(u){if("u">typeof ud)return ud.apply(this,arguments);throw Error('Dynamic require of "'+u+'" is not supported')},"u">typeof ud?ud:"u">typeof Proxy?new Proxy(u,{get:(u,D)=>("u">typeof ud?ud:u)[D]}):u),u_=(u,D)=>()=>(D||u((D={exports:{}}).exports,D),D.exports),ux=u_((u,D)=>{D.exports=r,r.sync=function(u,D){return t(e.statSync(u),u,D)};var e=uy("fs");function t(u,D,e){return!!(u.isSymbolicLink()||u.isFile())&&function(u,D){var e=void 0!==D.pathExt?D.pathExt:process.env.PATHEXT;if(!e||-1!==(e=e.split(";")).indexOf(""))return!0;for(var t=0;t<e.length;t++){var r=e[t].toLowerCase();if(r&&u.substr(-r.length).toLowerCase()===r)return!0}return!1}(D,e)}function r(u,D,r){e.stat(u,function(e,i){r(e,!e&&t(i,u,D))})}}),u$=u_((u,D)=>{D.exports=t,t.sync=function(u,D){return r(e.statSync(u),D)};var e=uy("fs");function t(u,D,t){e.stat(u,function(u,e){t(u,!u&&r(e,D))})}function r(u,D){var e,t,r,i,s,F,n,o,C;return u.isFile()&&(e=u,t=D,r=e.mode,i=e.uid,s=e.gid,F=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),n=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),o=parseInt("100",8),C=parseInt("010",8),r&parseInt("001",8)||r&C&&s===n||r&o&&i===F||r&(o|C)&&0===F)}}),uO=u_((u,D)=>{var e;function t(u,D,r){if("function"==typeof D&&(r=D,D={}),!r){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(e,r){t(u,D||{},function(u,D){u?r(u):e(D)})})}e(u,D||{},function(u,e){u&&("EACCES"===u.code||D&&D.ignoreErrors)&&(u=null,e=!1),r(u,e)})}uy("fs"),"win32"===process.platform||global.TESTING_WINDOWS?e=ux():e=u$(),D.exports=t,t.sync=function(u,D){try{return e.sync(u,D||{})}catch(u){if(D&&D.ignoreErrors||"EACCES"===u.code)return!1;throw u}}}),uk=u_((u,D)=>{var e="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,t=uy("path"),r=e?";":":",i=uO(),s=u=>Object.assign(Error(`not found: ${u}`),{code:"ENOENT"}),F=(u,D)=>{let t=D.colon||r,i=u.match(/\//)||e&&u.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(D.path||process.env.PATH||"").split(t)],s=e?D.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",F=e?s.split(t):[""];return e&&-1!==u.indexOf(".")&&""!==F[0]&&F.unshift(""),{pathEnv:i,pathExt:F,pathExtExe:s}},n=(u,D,e)=>{"function"==typeof D&&(e=D,D={}),D||(D={});let{pathEnv:r,pathExt:n,pathExtExe:o}=F(u,D),C=[],a=e=>new Promise((i,F)=>{if(e===r.length)return D.all&&C.length?i(C):F(s(u));let n=r[e],o=/^".*"$/.test(n)?n.slice(1,-1):n,a=t.join(o,u);i(E(!o&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a,e,0))}),E=(u,e,t)=>new Promise((r,s)=>{if(t===n.length)return r(a(e+1));let F=n[t];i(u+F,{pathExt:o},(i,s)=>{if(!i&&s){if(!D.all)return r(u+F);C.push(u+F)}return r(E(u,e,t+1))})});return e?a(0).then(u=>e(null,u),e):a(0)};D.exports=n,n.sync=(u,D)=>{let{pathEnv:e,pathExt:r,pathExtExe:n}=F(u,D=D||{}),o=[];for(let s=0;s<e.length;s++){let F=e[s],C=/^".*"$/.test(F)?F.slice(1,-1):F,a=t.join(C,u),E=!C&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a;for(let u=0;u<r.length;u++){let e=E+r[u];try{if(i.sync(e,{pathExt:n})){if(!D.all)return e;o.push(e)}}catch{}}}if(D.all&&o.length)return o;if(D.nothrow)return null;throw s(u)}}),uT=u_((u,D)=>{var e=(u={})=>{let D=u.env||process.env;return"win32"!==(u.platform||process.platform)?"PATH":Object.keys(D).reverse().find(u=>"PATH"===u.toUpperCase())||"Path"};D.exports=e,D.exports.default=e}),uS=u_((u,D)=>{var e=uy("path"),t=uk(),r=uT();function i(u,D){let i,s=u.options.env||process.env,F=process.cwd(),n=null!=u.options.cwd,o=n&&void 0!==process.chdir&&!process.chdir.disabled;if(o)try{process.chdir(u.options.cwd)}catch{}try{i=t.sync(u.command,{path:s[r({env:s})],pathExt:D?e.delimiter:void 0})}catch{}finally{o&&process.chdir(F)}return i&&(i=e.resolve(n?u.options.cwd:"",i)),i}D.exports=function(u){return i(u)||i(u,!0)}}),uj=u_((u,D)=>{var e=/([()\][%!^"`<>&|;, *?])/g;D.exports.command=function(u){return u=u.replace(e,"^$1")},D.exports.argument=function(u,D){return u=(u=(u=`${u}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1"),u=(u=`"${u}"`).replace(e,"^$1"),D&&(u=u.replace(e,"^$1")),u}}),uM=u_((u,D)=>{D.exports=/^#!(.*)/}),uP=u_((u,D)=>{var e=uM();D.exports=(u="")=>{let D=u.match(e);if(!D)return null;let[t,r]=D[0].replace(/#! ?/,"").split(" "),i=t.split("/").pop();return"env"===i?r:r?`${i} ${r}`:i}}),uN=u_((u,D)=>{var e=uy("fs"),t=uP();D.exports=function(u){let D=Buffer.alloc(150),r;try{r=e.openSync(u,"r"),e.readSync(r,D,0,150,0),e.closeSync(r)}catch{}return t(D.toString())}}),uL=u_((u,D)=>{var e=uy("path"),t=uS(),r=uj(),i=uN(),s="win32"===process.platform,F=/\.(?:com|exe)$/i,n=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;D.exports=function(u,D,o){D&&!Array.isArray(D)&&(o=D,D=null);let C={command:u,args:D=D?D.slice(0):[],options:o=Object.assign({},o),file:void 0,original:{command:u,args:D}};return o.shell?C:function(u){let D;if(!s)return u;let o=(u.file=t(u),(D=u.file&&i(u.file))?(u.args.unshift(u.file),u.command=D,t(u)):u.file),C=!F.test(o);if(u.options.forceShell||C){let D=n.test(o);u.command=e.normalize(u.command),u.command=r.command(u.command),u.args=u.args.map(u=>r.argument(u,D));let t=[u.command].concat(u.args).join(" ");u.args=["/d","/s","/c",`"${t}"`],u.command=process.env.comspec||"cmd.exe",u.options.windowsVerbatimArguments=!0}return u}(C)}}),uR=u_((u,D)=>{var e="win32"===process.platform;function t(u,D){return Object.assign(Error(`${D} ${u.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${D} ${u.command}`,path:u.command,spawnargs:u.args})}function r(u,D){return e&&1===u&&!D.file?t(D.original,"spawn"):null}D.exports={hookChildProcess:function(u,D){if(!e)return;let t=u.emit;u.emit=function(e,i){if("exit"===e){let e=r(i,D);if(e)return t.call(u,"error",e)}return t.apply(u,arguments)}},verifyENOENT:r,verifyENOENTSync:function(u,D){return e&&1===u&&!D.file?t(D.original,"spawnSync"):null},notFoundError:t}}),uI=u_((u,D)=>{var e=uy("child_process"),t=uL(),r=uR();function i(u,D,i){let s=t(u,D,i),F=e.spawn(s.command,s.args,s.options);return r.hookChildProcess(F,s),F}D.exports=i,D.exports.spawn=i,D.exports.sync=function(u,D,i){let s=t(u,D,i),F=e.spawnSync(s.command,s.args,s.options);return F.error=F.error||r.verifyENOENTSync(F.status,s),F},D.exports._parse=t,D.exports._enoent=r}),uW=/^path$/i,uz={key:"PATH",value:""},uG=u=>{let D=u.length,e=new A,t=()=>{0==--D&&e.emit("end")};for(let D of u)D.pipe(e,{end:!1}),D.on("end",t);return e},uH=((u,D,e,t)=>{if(D&&"object"==typeof D||"function"==typeof D)for(let r of ub(D))uw.call(u,r)||r===e||uA(u,r,{get:()=>D[r],enumerable:!(t=ug(D,r))||t.enumerable});return u})(uA(null!=(D=uI())?um(uv(D)):{},"default",{value:D,enumerable:!0}),D),uK=class extends Error{result;output;get exitCode(){if(null!==this.result.exitCode)return this.result.exitCode}constructor(u,D){super(`Process exited with non-zero status (${u.exitCode})`),this.result=u,this.output=D}},uJ={timeout:void 0,persist:!1},uU={windowsHide:!0},uV=class{_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&null!==this._process.exitCode)return this._process.exitCode}constructor(u,D,e){this._options={...uJ,...e},this._command=u,this._args=D??[],this._processClosed=new Promise(u=>{this._resolveClose=u})}kill(u){return this._process?.kill(u)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(u,D,e){return uZ(u,D,{...e,stdin:this})}async *[Symbol.asyncIterator](){let u=this._process;if(!u)return;let D=[];this._streamErr&&D.push(this._streamErr),this._streamOut&&D.push(this._streamOut);let e=uG(D);for await(let u of g.createInterface({input:e}))yield u.toString();if(await this._processClosed,u.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uK(this)}async _waitForOutput(){let u=this._process;if(!u)throw Error("No process was started");let D="",e="";if(this._streamOut)for await(let u of this._streamOut)e+=u.toString();if(this._streamErr)for await(let u of this._streamErr)D+=u.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,u.removeAllListeners(),this._thrownError)throw this._thrownError;let t={stderr:D,stdout:e,exitCode:this.exitCode};if(this._options.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uK(this,t);return t}then(u,D){return this._waitForOutput().then(u,D)}_streamOut;_streamErr;spawn(){var u,D,e;let t,r,i=m(),s=this._options,F={...uU,...s.nodeOptions},n=[];this._resetState(),void 0!==s.timeout&&n.push(AbortSignal.timeout(s.timeout)),void 0!==s.signal&&n.push(s.signal),!0===s.persist&&(F.detached=!0),n.length>0&&(F.signal=function(u){let D=new AbortController;for(let e of u){if(e.aborted)return D.abort(),e;let u=()=>{D.abort(e.reason)};e.addEventListener("abort",u,{signal:D.signal})}return D.signal}(n)),F.env=(u=F.env,r=function(u,D){let e=D.value.split(B),t=u,r;do e.push(f(t,"node_modules",".bin")),r=t,t=d(t);while(t!==r);return{key:D.key,value:e.join(B)}}(i,function(u){for(let D in u){if(!Object.prototype.hasOwnProperty.call(u,D)||!uW.test(D))continue;let e=u[D];return e?{key:D,value:e}:uz}return uz}(t={...process.env,...u})),t[r.key]=r.value,t);let{command:o,args:C}=(D=this._command,e=this._args,{command:p(D),args:e??[]}),a=(0,uH._parse)(o,C,F),E=h(a.command,a.args,a.options);if(E.stderr&&(this._streamErr=E.stderr),E.stdout&&(this._streamOut=E.stdout),this._process=E,E.once("error",this._onError),E.once("close",this._onClose),void 0!==s.stdin&&E.stdin&&s.stdin.process){let{stdout:u}=s.stdin.process;u&&u.pipe(E.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(u=>{this._resolveClose=u}),this._thrownError=void 0}_onError=u=>{if("AbortError"===u.name&&(!(u.cause instanceof Error)||"TimeoutError"!==u.cause.name)){this._aborted=!0;return}this._thrownError=u};_onClose=()=>{this._resolveClose&&this._resolveClose()}},uY=(u,D,e)=>{let t=new uV(u,D,e);return t.spawn(),t},uZ=uY;async function uq(u=t.cwd()){let D=await up({cwd:u,onUnknown(u){console.warn("[@antfu/install-pkg] Unknown packageManager:",u)}});return D?.agent||null}async function uX(u,D={}){let e=D.packageManager||await uq(D.cwd)||"npm",[r]=e.split("@");Array.isArray(u)||(u=[u]);let i=("function"==typeof D.additionalArgs?D.additionalArgs(r,e):D.additionalArgs)||[];return D.preferOffline&&("yarn@berry"===e?i.unshift("--cached"):i.unshift("--prefer-offline")),"pnpm"===r&&C(l(D.cwd??t.cwd(),"pnpm-workspace.yaml"))&&i.unshift("-w","--prod=false"),uY(r,["yarn"===r?"add":"install",D.dev?"-D":"",...i,...u].filter(Boolean),{nodeOptions:{stdio:D.silent?"ignore":"inherit",cwd:D.cwd},throwOnError:!0})}var uQ=Object.freeze({__proto__:null,detectPackageManager:uq,installPackage:uX});export{uQ as a,b as g,ul as i};
|
|
19
|
+
`}}}).prompt()}});let uc=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],uh={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"};async function up(u={}){let{cwd:D,onUnknown:e}=u;for(let u of function*(u=t.cwd()){let D=E.resolve(u),{root:e}=E.parse(D);for(;D&&D!==e;)yield D,D=E.dirname(D)}(D)){for(let D of Object.keys(uh))if(await uf(E.join(u,D))){let t=uh[D],r=await uB(E.join(u,"package.json"),e);if(r)return r;return{name:t,agent:t}}let D=await uB(E.join(u,"package.json"),e);if(D)return D}return null}async function uB(u,D){return u&&await uf(u)?function(u,D){try{let e;let t=JSON.parse(o.readFileSync(u,"utf8"));if("string"==typeof t.packageManager){let[u,r]=t.packageManager.replace(/^\^/,"").split("@"),i=r;if("yarn"===u&&Number.parseInt(r)>1)return e="yarn@berry",i="berry",{name:u,agent:e,version:i};if("pnpm"===u&&7>Number.parseInt(r))return e="pnpm@6",{name:u,agent:e,version:i};if(uc.includes(u))return e=u,{name:u,agent:e,version:i};else return D?.(t.packageManager)??null}}catch{}return null}(u,D):null}async function uf(u){try{if((await a.stat(u)).isFile())return!0}catch{}return!1}let ud=c(import.meta.url);var um=Object.create,uA=Object.defineProperty,ug=Object.getOwnPropertyDescriptor,ub=Object.getOwnPropertyNames,uv=Object.getPrototypeOf,uw=Object.prototype.hasOwnProperty,uy=(u=function(u){if("u">typeof ud)return ud.apply(this,arguments);throw Error('Dynamic require of "'+u+'" is not supported')},"u">typeof ud?ud:"u">typeof Proxy?new Proxy(u,{get:(u,D)=>("u">typeof ud?ud:u)[D]}):u),u_=(u,D)=>()=>(D||u((D={exports:{}}).exports,D),D.exports),ux=u_((u,D)=>{D.exports=r,r.sync=function(u,D){return t(e.statSync(u),u,D)};var e=uy("fs");function t(u,D,e){return!!(u.isSymbolicLink()||u.isFile())&&function(u,D){var e=void 0!==D.pathExt?D.pathExt:process.env.PATHEXT;if(!e||-1!==(e=e.split(";")).indexOf(""))return!0;for(var t=0;t<e.length;t++){var r=e[t].toLowerCase();if(r&&u.substr(-r.length).toLowerCase()===r)return!0}return!1}(D,e)}function r(u,D,r){e.stat(u,function(e,i){r(e,!e&&t(i,u,D))})}}),u$=u_((u,D)=>{D.exports=t,t.sync=function(u,D){return r(e.statSync(u),D)};var e=uy("fs");function t(u,D,t){e.stat(u,function(u,e){t(u,!u&&r(e,D))})}function r(u,D){var e,t,r,i,s,F,n,o,C;return u.isFile()&&(e=u,t=D,r=e.mode,i=e.uid,s=e.gid,F=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),n=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),o=parseInt("100",8),C=parseInt("010",8),r&parseInt("001",8)||r&C&&s===n||r&o&&i===F||r&(o|C)&&0===F)}}),uO=u_((u,D)=>{var e;function t(u,D,r){if("function"==typeof D&&(r=D,D={}),!r){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(e,r){t(u,D||{},function(u,D){u?r(u):e(D)})})}e(u,D||{},function(u,e){u&&("EACCES"===u.code||D&&D.ignoreErrors)&&(u=null,e=!1),r(u,e)})}uy("fs"),e="win32"===process.platform||global.TESTING_WINDOWS?ux():u$(),D.exports=t,t.sync=function(u,D){try{return e.sync(u,D||{})}catch(u){if(D&&D.ignoreErrors||"EACCES"===u.code)return!1;throw u}}}),uk=u_((u,D)=>{var e="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,t=uy("path"),r=e?";":":",i=uO(),s=u=>Object.assign(Error(`not found: ${u}`),{code:"ENOENT"}),F=(u,D)=>{let t=D.colon||r,i=u.match(/\//)||e&&u.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(D.path||process.env.PATH||"").split(t)],s=e?D.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",F=e?s.split(t):[""];return e&&-1!==u.indexOf(".")&&""!==F[0]&&F.unshift(""),{pathEnv:i,pathExt:F,pathExtExe:s}},n=(u,D,e)=>{"function"==typeof D&&(e=D,D={}),D||(D={});let{pathEnv:r,pathExt:n,pathExtExe:o}=F(u,D),C=[],a=e=>new Promise((i,F)=>{if(e===r.length)return D.all&&C.length?i(C):F(s(u));let n=r[e],o=/^".*"$/.test(n)?n.slice(1,-1):n,a=t.join(o,u);i(E(!o&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a,e,0))}),E=(u,e,t)=>new Promise((r,s)=>{if(t===n.length)return r(a(e+1));let F=n[t];i(u+F,{pathExt:o},(i,s)=>{if(!i&&s){if(!D.all)return r(u+F);C.push(u+F)}return r(E(u,e,t+1))})});return e?a(0).then(u=>e(null,u),e):a(0)};D.exports=n,n.sync=(u,D)=>{let{pathEnv:e,pathExt:r,pathExtExe:n}=F(u,D=D||{}),o=[];for(let s=0;s<e.length;s++){let F=e[s],C=/^".*"$/.test(F)?F.slice(1,-1):F,a=t.join(C,u),E=!C&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a;for(let u=0;u<r.length;u++){let e=E+r[u];try{if(i.sync(e,{pathExt:n})){if(!D.all)return e;o.push(e)}}catch{}}}if(D.all&&o.length)return o;if(D.nothrow)return null;throw s(u)}}),uT=u_((u,D)=>{var e=(u={})=>{let D=u.env||process.env;return"win32"!==(u.platform||process.platform)?"PATH":Object.keys(D).reverse().find(u=>"PATH"===u.toUpperCase())||"Path"};D.exports=e,D.exports.default=e}),uS=u_((u,D)=>{var e=uy("path"),t=uk(),r=uT();function i(u,D){let i,s=u.options.env||process.env,F=process.cwd(),n=null!=u.options.cwd,o=n&&void 0!==process.chdir&&!process.chdir.disabled;if(o)try{process.chdir(u.options.cwd)}catch{}try{i=t.sync(u.command,{path:s[r({env:s})],pathExt:D?e.delimiter:void 0})}catch{}finally{o&&process.chdir(F)}return i&&(i=e.resolve(n?u.options.cwd:"",i)),i}D.exports=function(u){return i(u)||i(u,!0)}}),uj=u_((u,D)=>{var e=/([()\][%!^"`<>&|;, *?])/g;D.exports.command=function(u){return u=u.replace(e,"^$1")},D.exports.argument=function(u,D){return u=(u=(u=`${u}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1"),u=(u=`"${u}"`).replace(e,"^$1"),D&&(u=u.replace(e,"^$1")),u}}),uM=u_((u,D)=>{D.exports=/^#!(.*)/}),uP=u_((u,D)=>{var e=uM();D.exports=(u="")=>{let D=u.match(e);if(!D)return null;let[t,r]=D[0].replace(/#! ?/,"").split(" "),i=t.split("/").pop();return"env"===i?r:r?`${i} ${r}`:i}}),uN=u_((u,D)=>{var e=uy("fs"),t=uP();D.exports=function(u){let D=Buffer.alloc(150),r;try{r=e.openSync(u,"r"),e.readSync(r,D,0,150,0),e.closeSync(r)}catch{}return t(D.toString())}}),uL=u_((u,D)=>{var e=uy("path"),t=uS(),r=uj(),i=uN(),s="win32"===process.platform,F=/\.(?:com|exe)$/i,n=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;D.exports=function(u,D,o){D&&!Array.isArray(D)&&(o=D,D=null);let C={command:u,args:D=D?D.slice(0):[],options:o=Object.assign({},o),file:void 0,original:{command:u,args:D}};return o.shell?C:function(u){let D;if(!s)return u;let o=(u.file=t(u),(D=u.file&&i(u.file))?(u.args.unshift(u.file),u.command=D,t(u)):u.file),C=!F.test(o);if(u.options.forceShell||C){let D=n.test(o);u.command=e.normalize(u.command),u.command=r.command(u.command),u.args=u.args.map(u=>r.argument(u,D));let t=[u.command].concat(u.args).join(" ");u.args=["/d","/s","/c",`"${t}"`],u.command=process.env.comspec||"cmd.exe",u.options.windowsVerbatimArguments=!0}return u}(C)}}),uR=u_((u,D)=>{var e="win32"===process.platform;function t(u,D){return Object.assign(Error(`${D} ${u.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${D} ${u.command}`,path:u.command,spawnargs:u.args})}function r(u,D){return e&&1===u&&!D.file?t(D.original,"spawn"):null}D.exports={hookChildProcess:function(u,D){if(!e)return;let t=u.emit;u.emit=function(e,i){if("exit"===e){let e=r(i,D);if(e)return t.call(u,"error",e)}return t.apply(u,arguments)}},verifyENOENT:r,verifyENOENTSync:function(u,D){return e&&1===u&&!D.file?t(D.original,"spawnSync"):null},notFoundError:t}}),uI=u_((u,D)=>{var e=uy("child_process"),t=uL(),r=uR();function i(u,D,i){let s=t(u,D,i),F=e.spawn(s.command,s.args,s.options);return r.hookChildProcess(F,s),F}D.exports=i,D.exports.spawn=i,D.exports.sync=function(u,D,i){let s=t(u,D,i),F=e.spawnSync(s.command,s.args,s.options);return F.error=F.error||r.verifyENOENTSync(F.status,s),F},D.exports._parse=t,D.exports._enoent=r}),uW=/^path$/i,uz={key:"PATH",value:""},uG=u=>{let D=u.length,e=new A,t=()=>{0==--D&&e.emit("end")};for(let D of u)D.pipe(e,{end:!1}),D.on("end",t);return e},uH=((u,D,e,t)=>{if(D&&"object"==typeof D||"function"==typeof D)for(let r of ub(D))uw.call(u,r)||r===e||uA(u,r,{get:()=>D[r],enumerable:!(t=ug(D,r))||t.enumerable});return u})(uA(null!=(D=uI())?um(uv(D)):{},"default",{value:D,enumerable:!0}),D),uK=class extends Error{result;output;get exitCode(){if(null!==this.result.exitCode)return this.result.exitCode}constructor(u,D){super(`Process exited with non-zero status (${u.exitCode})`),this.result=u,this.output=D}},uJ={timeout:void 0,persist:!1},uU={windowsHide:!0},uV=class{_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&null!==this._process.exitCode)return this._process.exitCode}constructor(u,D,e){this._options={...uJ,...e},this._command=u,this._args=D??[],this._processClosed=new Promise(u=>{this._resolveClose=u})}kill(u){return this._process?.kill(u)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(u,D,e){return uZ(u,D,{...e,stdin:this})}async *[Symbol.asyncIterator](){let u=this._process;if(!u)return;let D=[];this._streamErr&&D.push(this._streamErr),this._streamOut&&D.push(this._streamOut);let e=uG(D);for await(let u of g.createInterface({input:e}))yield u.toString();if(await this._processClosed,u.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uK(this)}async _waitForOutput(){let u=this._process;if(!u)throw Error("No process was started");let D="",e="";if(this._streamOut)for await(let u of this._streamOut)e+=u.toString();if(this._streamErr)for await(let u of this._streamErr)D+=u.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,u.removeAllListeners(),this._thrownError)throw this._thrownError;let t={stderr:D,stdout:e,exitCode:this.exitCode};if(this._options.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uK(this,t);return t}then(u,D){return this._waitForOutput().then(u,D)}_streamOut;_streamErr;spawn(){var u,D,e;let t,r,i=m(),s=this._options,F={...uU,...s.nodeOptions},n=[];this._resetState(),void 0!==s.timeout&&n.push(AbortSignal.timeout(s.timeout)),void 0!==s.signal&&n.push(s.signal),!0===s.persist&&(F.detached=!0),n.length>0&&(F.signal=function(u){let D=new AbortController;for(let e of u){if(e.aborted)return D.abort(),e;let u=()=>{D.abort(e.reason)};e.addEventListener("abort",u,{signal:D.signal})}return D.signal}(n)),F.env=(u=F.env,r=function(u,D){let e=D.value.split(B),t=u,r;do e.push(f(t,"node_modules",".bin")),r=t,t=d(t);while(t!==r);return{key:D.key,value:e.join(B)}}(i,function(u){for(let D in u){if(!Object.prototype.hasOwnProperty.call(u,D)||!uW.test(D))continue;let e=u[D];return e?{key:D,value:e}:uz}return uz}(t={...process.env,...u})),t[r.key]=r.value,t);let{command:o,args:C}=(D=this._command,e=this._args,{command:p(D),args:e??[]}),a=(0,uH._parse)(o,C,F),E=h(a.command,a.args,a.options);if(E.stderr&&(this._streamErr=E.stderr),E.stdout&&(this._streamOut=E.stdout),this._process=E,E.once("error",this._onError),E.once("close",this._onClose),void 0!==s.stdin&&E.stdin&&s.stdin.process){let{stdout:u}=s.stdin.process;u&&u.pipe(E.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(u=>{this._resolveClose=u}),this._thrownError=void 0}_onError=u=>{if("AbortError"===u.name&&(!(u.cause instanceof Error)||"TimeoutError"!==u.cause.name)){this._aborted=!0;return}this._thrownError=u};_onClose=()=>{this._resolveClose&&this._resolveClose()}},uY=(u,D,e)=>{let t=new uV(u,D,e);return t.spawn(),t},uZ=uY;async function uq(u=t.cwd()){let D=await up({cwd:u,onUnknown(u){console.warn("[@antfu/install-pkg] Unknown packageManager:",u)}});return D?.agent||null}async function uX(u,D={}){let e=D.packageManager||await uq(D.cwd)||"npm",[r]=e.split("@");Array.isArray(u)||(u=[u]);let i=("function"==typeof D.additionalArgs?D.additionalArgs(r,e):D.additionalArgs)||[];return D.preferOffline&&("yarn@berry"===e?i.unshift("--cached"):i.unshift("--prefer-offline")),"pnpm"===r&&C(l(D.cwd??t.cwd(),"pnpm-workspace.yaml"))&&i.unshift("-w","--prod=false"),uY(r,["yarn"===r?"add":"install",D.dev?"-D":"",...i,...u].filter(Boolean),{nodeOptions:{stdio:D.silent?"ignore":"inherit",cwd:D.cwd},throwOnError:!0})}var uQ=Object.freeze({__proto__:null,detectPackageManager:uq,installPackage:uX});export{uQ as a,b as g,ul as i};
|
|
@@ -16,4 +16,4 @@ ${ui(this.state)} ${u.message}
|
|
|
16
16
|
`,r=this.value?D:e;switch(this.state){case"submit":return`${t}${F.gray(uD)} ${F.dim(r)}`;case"cancel":return`${t}${F.gray(uD)} ${F.strikethrough(F.dim(r))}
|
|
17
17
|
${F.gray(uD)}`;default:return`${t}${F.cyan(uD)} ${this.value?`${F.green(ut)} ${D}`:`${F.dim(ur)} ${F.dim(D)}`} ${F.dim("/")} ${this.value?`${F.dim(ur)} ${F.dim(e)}`:`${F.green(ut)} ${e}`}
|
|
18
18
|
${F.cyan(ue)}
|
|
19
|
-
`}}}).prompt()}});const un=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],uF={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"};async function uo(u={}){let{cwd:D,onUnknown:e}=u;for(let u of function*(u=i.cwd()){let D=a.resolve(u),{root:e}=a.parse(D);for(;D&&D!==e;)yield D,D=a.dirname(D)}(D)){for(let D of Object.keys(uF))if(await ua(a.join(u,D))){let t=uF[D],r=await uC(a.join(u,"package.json"),e);if(r)return r;return{name:t,agent:t}}let D=await uC(a.join(u,"package.json"),e);if(D)return D}return null}async function uC(u,D){return u&&await ua(u)?function(u,D){try{let e;let t=JSON.parse(o.readFileSync(u,"utf8"));if("string"==typeof t.packageManager){let[u,r]=t.packageManager.replace(/^\^/,"").split("@"),i=r;if("yarn"===u&&Number.parseInt(r)>1)return e="yarn@berry",i="berry",{name:u,agent:e,version:i};if("pnpm"===u&&7>Number.parseInt(r))return e="pnpm@6",{name:u,agent:e,version:i};if(un.includes(u))return e=u,{name:u,agent:e,version:i};else return D?.(t.packageManager)??null}}catch{}return null}(u,D):null}async function ua(u){try{if((await C.stat(u)).isFile())return!0}catch{}return!1}const uE=E.createRequire("undefined"==typeof document?require("url").pathToFileURL(__filename).href:d&&"SCRIPT"===d.tagName.toUpperCase()&&d.src||new URL("vendor-BeFyeNIQ.cjs",document.baseURI).href);var ul=Object.create,uc=Object.defineProperty,uh=Object.getOwnPropertyDescriptor,up=Object.getOwnPropertyNames,uB=Object.getPrototypeOf,ud=Object.prototype.hasOwnProperty,uf=(u=function(u){if("u">typeof uE)return uE.apply(this,arguments);throw Error('Dynamic require of "'+u+'" is not supported')},"u">typeof uE?uE:"u">typeof Proxy?new Proxy(u,{get:(u,D)=>("u">typeof uE?uE:u)[D]}):u),um=(u,D)=>()=>(D||u((D={exports:{}}).exports,D),D.exports),uA=um((u,D)=>{D.exports=r,r.sync=function(u,D){return t(e.statSync(u),u,D)};var e=uf("fs");function t(u,D,e){return!!(u.isSymbolicLink()||u.isFile())&&function(u,D){var e=void 0!==D.pathExt?D.pathExt:process.env.PATHEXT;if(!e||-1!==(e=e.split(";")).indexOf(""))return!0;for(var t=0;t<e.length;t++){var r=e[t].toLowerCase();if(r&&u.substr(-r.length).toLowerCase()===r)return!0}return!1}(D,e)}function r(u,D,r){e.stat(u,function(e,i){r(e,!e&&t(i,u,D))})}}),ug=um((u,D)=>{D.exports=t,t.sync=function(u,D){return r(e.statSync(u),D)};var e=uf("fs");function t(u,D,t){e.stat(u,function(u,e){t(u,!u&&r(e,D))})}function r(u,D){var e,t,r,i,s,n,F,o,C;return u.isFile()&&(e=u,t=D,r=e.mode,i=e.uid,s=e.gid,n=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),F=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),o=parseInt("100",8),C=parseInt("010",8),r&parseInt("001",8)||r&C&&s===F||r&o&&i===n||r&(o|C)&&0===n)}}),ub=um((u,D)=>{var e;function t(u,D,r){if("function"==typeof D&&(r=D,D={}),!r){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(e,r){t(u,D||{},function(u,D){u?r(u):e(D)})})}e(u,D||{},function(u,e){u&&("EACCES"===u.code||D&&D.ignoreErrors)&&(u=null,e=!1),r(u,e)})}uf("fs"),"win32"===process.platform||global.TESTING_WINDOWS?e=uA():e=ug(),D.exports=t,t.sync=function(u,D){try{return e.sync(u,D||{})}catch(u){if(D&&D.ignoreErrors||"EACCES"===u.code)return!1;throw u}}}),uv=um((u,D)=>{var e="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,t=uf("path"),r=e?";":":",i=ub(),s=u=>Object.assign(Error(`not found: ${u}`),{code:"ENOENT"}),n=(u,D)=>{let t=D.colon||r,i=u.match(/\//)||e&&u.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(D.path||process.env.PATH||"").split(t)],s=e?D.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=e?s.split(t):[""];return e&&-1!==u.indexOf(".")&&""!==n[0]&&n.unshift(""),{pathEnv:i,pathExt:n,pathExtExe:s}},F=(u,D,e)=>{"function"==typeof D&&(e=D,D={}),D||(D={});let{pathEnv:r,pathExt:F,pathExtExe:o}=n(u,D),C=[],a=e=>new Promise((i,n)=>{if(e===r.length)return D.all&&C.length?i(C):n(s(u));let F=r[e],o=/^".*"$/.test(F)?F.slice(1,-1):F,a=t.join(o,u);i(E(!o&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a,e,0))}),E=(u,e,t)=>new Promise((r,s)=>{if(t===F.length)return r(a(e+1));let n=F[t];i(u+n,{pathExt:o},(i,s)=>{if(!i&&s){if(!D.all)return r(u+n);C.push(u+n)}return r(E(u,e,t+1))})});return e?a(0).then(u=>e(null,u),e):a(0)};D.exports=F,F.sync=(u,D)=>{let{pathEnv:e,pathExt:r,pathExtExe:F}=n(u,D=D||{}),o=[];for(let s=0;s<e.length;s++){let n=e[s],C=/^".*"$/.test(n)?n.slice(1,-1):n,a=t.join(C,u),E=!C&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a;for(let u=0;u<r.length;u++){let e=E+r[u];try{if(i.sync(e,{pathExt:F})){if(!D.all)return e;o.push(e)}}catch{}}}if(D.all&&o.length)return o;if(D.nothrow)return null;throw s(u)}}),uw=um((u,D)=>{var e=(u={})=>{let D=u.env||process.env;return"win32"!==(u.platform||process.platform)?"PATH":Object.keys(D).reverse().find(u=>"PATH"===u.toUpperCase())||"Path"};D.exports=e,D.exports.default=e}),uy=um((u,D)=>{var e=uf("path"),t=uv(),r=uw();function i(u,D){let i,s=u.options.env||process.env,n=process.cwd(),F=null!=u.options.cwd,o=F&&void 0!==process.chdir&&!process.chdir.disabled;if(o)try{process.chdir(u.options.cwd)}catch{}try{i=t.sync(u.command,{path:s[r({env:s})],pathExt:D?e.delimiter:void 0})}catch{}finally{o&&process.chdir(n)}return i&&(i=e.resolve(F?u.options.cwd:"",i)),i}D.exports=function(u){return i(u)||i(u,!0)}}),u_=um((u,D)=>{var e=/([()\][%!^"`<>&|;, *?])/g;D.exports.command=function(u){return u=u.replace(e,"^$1")},D.exports.argument=function(u,D){return u=(u=(u=`${u}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1"),u=(u=`"${u}"`).replace(e,"^$1"),D&&(u=u.replace(e,"^$1")),u}}),ux=um((u,D)=>{D.exports=/^#!(.*)/}),u$=um((u,D)=>{var e=ux();D.exports=(u="")=>{let D=u.match(e);if(!D)return null;let[t,r]=D[0].replace(/#! ?/,"").split(" "),i=t.split("/").pop();return"env"===i?r:r?`${i} ${r}`:i}}),uO=um((u,D)=>{var e=uf("fs"),t=u$();D.exports=function(u){let D=Buffer.alloc(150),r;try{r=e.openSync(u,"r"),e.readSync(r,D,0,150,0),e.closeSync(r)}catch{}return t(D.toString())}}),uk=um((u,D)=>{var e=uf("path"),t=uy(),r=u_(),i=uO(),s="win32"===process.platform,n=/\.(?:com|exe)$/i,F=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;D.exports=function(u,D,o){D&&!Array.isArray(D)&&(o=D,D=null);let C={command:u,args:D=D?D.slice(0):[],options:o=Object.assign({},o),file:void 0,original:{command:u,args:D}};return o.shell?C:function(u){let D;if(!s)return u;let o=(u.file=t(u),(D=u.file&&i(u.file))?(u.args.unshift(u.file),u.command=D,t(u)):u.file),C=!n.test(o);if(u.options.forceShell||C){let D=F.test(o);u.command=e.normalize(u.command),u.command=r.command(u.command),u.args=u.args.map(u=>r.argument(u,D));let t=[u.command].concat(u.args).join(" ");u.args=["/d","/s","/c",`"${t}"`],u.command=process.env.comspec||"cmd.exe",u.options.windowsVerbatimArguments=!0}return u}(C)}}),uT=um((u,D)=>{var e="win32"===process.platform;function t(u,D){return Object.assign(Error(`${D} ${u.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${D} ${u.command}`,path:u.command,spawnargs:u.args})}function r(u,D){return e&&1===u&&!D.file?t(D.original,"spawn"):null}D.exports={hookChildProcess:function(u,D){if(!e)return;let t=u.emit;u.emit=function(e,i){if("exit"===e){let e=r(i,D);if(e)return t.call(u,"error",e)}return t.apply(u,arguments)}},verifyENOENT:r,verifyENOENTSync:function(u,D){return e&&1===u&&!D.file?t(D.original,"spawnSync"):null},notFoundError:t}}),uS=um((u,D)=>{var e=uf("child_process"),t=uk(),r=uT();function i(u,D,i){let s=t(u,D,i),n=e.spawn(s.command,s.args,s.options);return r.hookChildProcess(n,s),n}D.exports=i,D.exports.spawn=i,D.exports.sync=function(u,D,i){let s=t(u,D,i),n=e.spawnSync(s.command,s.args,s.options);return n.error=n.error||r.verifyENOENTSync(n.status,s),n},D.exports._parse=t,D.exports._enoent=r}),uj=/^path$/i,uP={key:"PATH",value:""},uM=u=>{let D=u.length,e=new p.PassThrough,t=()=>{0==--D&&e.emit("end")};for(let D of u)D.pipe(e,{end:!1}),D.on("end",t);return e},uN=((u,D,e,t)=>{if(D&&"object"==typeof D||"function"==typeof D)for(let r of up(D))ud.call(u,r)||r===e||uc(u,r,{get:()=>D[r],enumerable:!(t=uh(D,r))||t.enumerable});return u})(uc(null!=(D=uS())?ul(uB(D)):{},"default",{value:D,enumerable:!0}),D),uR=class extends Error{result;output;get exitCode(){if(null!==this.result.exitCode)return this.result.exitCode}constructor(u,D){super(`Process exited with non-zero status (${u.exitCode})`),this.result=u,this.output=D}},uL={timeout:void 0,persist:!1},uI={windowsHide:!0},uq=class{_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&null!==this._process.exitCode)return this._process.exitCode}constructor(u,D,e){this._options={...uL,...e},this._command=u,this._args=D??[],this._processClosed=new Promise(u=>{this._resolveClose=u})}kill(u){return this._process?.kill(u)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(u,D,e){return uz(u,D,{...e,stdin:this})}async *[Symbol.asyncIterator](){let u=this._process;if(!u)return;let D=[];this._streamErr&&D.push(this._streamErr),this._streamOut&&D.push(this._streamOut);let e=uM(D);for await(let u of B.createInterface({input:e}))yield u.toString();if(await this._processClosed,u.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uR(this)}async _waitForOutput(){let u=this._process;if(!u)throw Error("No process was started");let D="",e="";if(this._streamOut)for await(let u of this._streamOut)e+=u.toString();if(this._streamErr)for await(let u of this._streamErr)D+=u.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,u.removeAllListeners(),this._thrownError)throw this._thrownError;let t={stderr:D,stdout:e,exitCode:this.exitCode};if(this._options.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uR(this,t);return t}then(u,D){return this._waitForOutput().then(u,D)}_streamOut;_streamErr;spawn(){var u,D,e;let t,r,i=h.cwd(),s=this._options,n={...uI,...s.nodeOptions},F=[];this._resetState(),void 0!==s.timeout&&F.push(AbortSignal.timeout(s.timeout)),void 0!==s.signal&&F.push(s.signal),!0===s.persist&&(n.detached=!0),F.length>0&&(n.signal=function(u){let D=new AbortController;for(let e of u){if(e.aborted)return D.abort(),e;let u=()=>{D.abort(e.reason)};e.addEventListener("abort",u,{signal:D.signal})}return D.signal}(F)),n.env=(u=n.env,r=function(u,D){let e=D.value.split(c.delimiter),t=u,r;do e.push(c.resolve(t,"node_modules",".bin")),r=t,t=c.dirname(t);while(t!==r);return{key:D.key,value:e.join(c.delimiter)}}(i,function(u){for(let D in u){if(!Object.prototype.hasOwnProperty.call(u,D)||!uj.test(D))continue;let e=u[D];return e?{key:D,value:e}:uP}return uP}(t={...process.env,...u})),t[r.key]=r.value,t);let{command:o,args:C}=(D=this._command,e=this._args,{command:c.normalize(D),args:e??[]}),a=(0,uN._parse)(o,C,n),E=l.spawn(a.command,a.args,a.options);if(E.stderr&&(this._streamErr=E.stderr),E.stdout&&(this._streamOut=E.stdout),this._process=E,E.once("error",this._onError),E.once("close",this._onClose),void 0!==s.stdin&&E.stdin&&s.stdin.process){let{stdout:u}=s.stdin.process;u&&u.pipe(E.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(u=>{this._resolveClose=u}),this._thrownError=void 0}_onError=u=>{if("AbortError"===u.name&&(!(u.cause instanceof Error)||"TimeoutError"!==u.cause.name)){this._aborted=!0;return}this._thrownError=u};_onClose=()=>{this._resolveClose&&this._resolveClose()}},uW=(u,D,e)=>{let t=new uq(u,D,e);return t.spawn(),t},uz=uW;async function uU(u=i.cwd()){let D=await uo({cwd:u,onUnknown(u){console.warn("[@antfu/install-pkg] Unknown packageManager:",u)}});return D?.agent||null}async function uG(u,D={}){let e=D.packageManager||await uU(D.cwd)||"npm",[t]=e.split("@");Array.isArray(u)||(u=[u]);let r=("function"==typeof D.additionalArgs?D.additionalArgs(t,e):D.additionalArgs)||[];return D.preferOffline&&("yarn@berry"===e?r.unshift("--cached"):r.unshift("--prefer-offline")),"pnpm"===t&&o.existsSync(a.resolve(D.cwd??i.cwd(),"pnpm-workspace.yaml"))&&r.unshift("-w","--prod=false"),uW(t,["yarn"===t?"add":"install",D.dev?"-D":"",...r,...u].filter(Boolean),{nodeOptions:{stdio:D.silent?"ignore":"inherit",cwd:D.cwd},throwOnError:!0})}var uH=Object.freeze({__proto__:null,detectPackageManager:uU,installPackage:uG});exports.a=uH,exports.g=function(u){if(u.__esModule)return u;var D=u.default;if("function"==typeof D){var e=function u(){return this instanceof u?Reflect.construct(D,arguments,this.constructor):D.apply(this,arguments)};e.prototype=D.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(u).forEach(function(D){var t=Object.getOwnPropertyDescriptor(u,D);Object.defineProperty(e,D,t.get?t:{enumerable:!0,get:function(){return u[D]}})}),e},exports.i=us;
|
|
19
|
+
`}}}).prompt()}});const un=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],uF={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"};async function uo(u={}){let{cwd:D,onUnknown:e}=u;for(let u of function*(u=i.cwd()){let D=a.resolve(u),{root:e}=a.parse(D);for(;D&&D!==e;)yield D,D=a.dirname(D)}(D)){for(let D of Object.keys(uF))if(await ua(a.join(u,D))){let t=uF[D],r=await uC(a.join(u,"package.json"),e);if(r)return r;return{name:t,agent:t}}let D=await uC(a.join(u,"package.json"),e);if(D)return D}return null}async function uC(u,D){return u&&await ua(u)?function(u,D){try{let e;let t=JSON.parse(o.readFileSync(u,"utf8"));if("string"==typeof t.packageManager){let[u,r]=t.packageManager.replace(/^\^/,"").split("@"),i=r;if("yarn"===u&&Number.parseInt(r)>1)return e="yarn@berry",i="berry",{name:u,agent:e,version:i};if("pnpm"===u&&7>Number.parseInt(r))return e="pnpm@6",{name:u,agent:e,version:i};if(un.includes(u))return e=u,{name:u,agent:e,version:i};else return D?.(t.packageManager)??null}}catch{}return null}(u,D):null}async function ua(u){try{if((await C.stat(u)).isFile())return!0}catch{}return!1}const uE=E.createRequire("undefined"==typeof document?require("url").pathToFileURL(__filename).href:d&&"SCRIPT"===d.tagName.toUpperCase()&&d.src||new URL("vendor-f8UCgSx_.cjs",document.baseURI).href);var ul=Object.create,uc=Object.defineProperty,uh=Object.getOwnPropertyDescriptor,up=Object.getOwnPropertyNames,uB=Object.getPrototypeOf,ud=Object.prototype.hasOwnProperty,uf=(u=function(u){if("u">typeof uE)return uE.apply(this,arguments);throw Error('Dynamic require of "'+u+'" is not supported')},"u">typeof uE?uE:"u">typeof Proxy?new Proxy(u,{get:(u,D)=>("u">typeof uE?uE:u)[D]}):u),um=(u,D)=>()=>(D||u((D={exports:{}}).exports,D),D.exports),uA=um((u,D)=>{D.exports=r,r.sync=function(u,D){return t(e.statSync(u),u,D)};var e=uf("fs");function t(u,D,e){return!!(u.isSymbolicLink()||u.isFile())&&function(u,D){var e=void 0!==D.pathExt?D.pathExt:process.env.PATHEXT;if(!e||-1!==(e=e.split(";")).indexOf(""))return!0;for(var t=0;t<e.length;t++){var r=e[t].toLowerCase();if(r&&u.substr(-r.length).toLowerCase()===r)return!0}return!1}(D,e)}function r(u,D,r){e.stat(u,function(e,i){r(e,!e&&t(i,u,D))})}}),ug=um((u,D)=>{D.exports=t,t.sync=function(u,D){return r(e.statSync(u),D)};var e=uf("fs");function t(u,D,t){e.stat(u,function(u,e){t(u,!u&&r(e,D))})}function r(u,D){var e,t,r,i,s,n,F,o,C;return u.isFile()&&(e=u,t=D,r=e.mode,i=e.uid,s=e.gid,n=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),F=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),o=parseInt("100",8),C=parseInt("010",8),r&parseInt("001",8)||r&C&&s===F||r&o&&i===n||r&(o|C)&&0===n)}}),ub=um((u,D)=>{var e;function t(u,D,r){if("function"==typeof D&&(r=D,D={}),!r){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(e,r){t(u,D||{},function(u,D){u?r(u):e(D)})})}e(u,D||{},function(u,e){u&&("EACCES"===u.code||D&&D.ignoreErrors)&&(u=null,e=!1),r(u,e)})}uf("fs"),e="win32"===process.platform||global.TESTING_WINDOWS?uA():ug(),D.exports=t,t.sync=function(u,D){try{return e.sync(u,D||{})}catch(u){if(D&&D.ignoreErrors||"EACCES"===u.code)return!1;throw u}}}),uv=um((u,D)=>{var e="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,t=uf("path"),r=e?";":":",i=ub(),s=u=>Object.assign(Error(`not found: ${u}`),{code:"ENOENT"}),n=(u,D)=>{let t=D.colon||r,i=u.match(/\//)||e&&u.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(D.path||process.env.PATH||"").split(t)],s=e?D.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=e?s.split(t):[""];return e&&-1!==u.indexOf(".")&&""!==n[0]&&n.unshift(""),{pathEnv:i,pathExt:n,pathExtExe:s}},F=(u,D,e)=>{"function"==typeof D&&(e=D,D={}),D||(D={});let{pathEnv:r,pathExt:F,pathExtExe:o}=n(u,D),C=[],a=e=>new Promise((i,n)=>{if(e===r.length)return D.all&&C.length?i(C):n(s(u));let F=r[e],o=/^".*"$/.test(F)?F.slice(1,-1):F,a=t.join(o,u);i(E(!o&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a,e,0))}),E=(u,e,t)=>new Promise((r,s)=>{if(t===F.length)return r(a(e+1));let n=F[t];i(u+n,{pathExt:o},(i,s)=>{if(!i&&s){if(!D.all)return r(u+n);C.push(u+n)}return r(E(u,e,t+1))})});return e?a(0).then(u=>e(null,u),e):a(0)};D.exports=F,F.sync=(u,D)=>{let{pathEnv:e,pathExt:r,pathExtExe:F}=n(u,D=D||{}),o=[];for(let s=0;s<e.length;s++){let n=e[s],C=/^".*"$/.test(n)?n.slice(1,-1):n,a=t.join(C,u),E=!C&&/^\.[\\\/]/.test(u)?u.slice(0,2)+a:a;for(let u=0;u<r.length;u++){let e=E+r[u];try{if(i.sync(e,{pathExt:F})){if(!D.all)return e;o.push(e)}}catch{}}}if(D.all&&o.length)return o;if(D.nothrow)return null;throw s(u)}}),uw=um((u,D)=>{var e=(u={})=>{let D=u.env||process.env;return"win32"!==(u.platform||process.platform)?"PATH":Object.keys(D).reverse().find(u=>"PATH"===u.toUpperCase())||"Path"};D.exports=e,D.exports.default=e}),uy=um((u,D)=>{var e=uf("path"),t=uv(),r=uw();function i(u,D){let i,s=u.options.env||process.env,n=process.cwd(),F=null!=u.options.cwd,o=F&&void 0!==process.chdir&&!process.chdir.disabled;if(o)try{process.chdir(u.options.cwd)}catch{}try{i=t.sync(u.command,{path:s[r({env:s})],pathExt:D?e.delimiter:void 0})}catch{}finally{o&&process.chdir(n)}return i&&(i=e.resolve(F?u.options.cwd:"",i)),i}D.exports=function(u){return i(u)||i(u,!0)}}),u_=um((u,D)=>{var e=/([()\][%!^"`<>&|;, *?])/g;D.exports.command=function(u){return u=u.replace(e,"^$1")},D.exports.argument=function(u,D){return u=(u=(u=`${u}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1"),u=(u=`"${u}"`).replace(e,"^$1"),D&&(u=u.replace(e,"^$1")),u}}),ux=um((u,D)=>{D.exports=/^#!(.*)/}),u$=um((u,D)=>{var e=ux();D.exports=(u="")=>{let D=u.match(e);if(!D)return null;let[t,r]=D[0].replace(/#! ?/,"").split(" "),i=t.split("/").pop();return"env"===i?r:r?`${i} ${r}`:i}}),uO=um((u,D)=>{var e=uf("fs"),t=u$();D.exports=function(u){let D=Buffer.alloc(150),r;try{r=e.openSync(u,"r"),e.readSync(r,D,0,150,0),e.closeSync(r)}catch{}return t(D.toString())}}),uk=um((u,D)=>{var e=uf("path"),t=uy(),r=u_(),i=uO(),s="win32"===process.platform,n=/\.(?:com|exe)$/i,F=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;D.exports=function(u,D,o){D&&!Array.isArray(D)&&(o=D,D=null);let C={command:u,args:D=D?D.slice(0):[],options:o=Object.assign({},o),file:void 0,original:{command:u,args:D}};return o.shell?C:function(u){let D;if(!s)return u;let o=(u.file=t(u),(D=u.file&&i(u.file))?(u.args.unshift(u.file),u.command=D,t(u)):u.file),C=!n.test(o);if(u.options.forceShell||C){let D=F.test(o);u.command=e.normalize(u.command),u.command=r.command(u.command),u.args=u.args.map(u=>r.argument(u,D));let t=[u.command].concat(u.args).join(" ");u.args=["/d","/s","/c",`"${t}"`],u.command=process.env.comspec||"cmd.exe",u.options.windowsVerbatimArguments=!0}return u}(C)}}),uT=um((u,D)=>{var e="win32"===process.platform;function t(u,D){return Object.assign(Error(`${D} ${u.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${D} ${u.command}`,path:u.command,spawnargs:u.args})}function r(u,D){return e&&1===u&&!D.file?t(D.original,"spawn"):null}D.exports={hookChildProcess:function(u,D){if(!e)return;let t=u.emit;u.emit=function(e,i){if("exit"===e){let e=r(i,D);if(e)return t.call(u,"error",e)}return t.apply(u,arguments)}},verifyENOENT:r,verifyENOENTSync:function(u,D){return e&&1===u&&!D.file?t(D.original,"spawnSync"):null},notFoundError:t}}),uS=um((u,D)=>{var e=uf("child_process"),t=uk(),r=uT();function i(u,D,i){let s=t(u,D,i),n=e.spawn(s.command,s.args,s.options);return r.hookChildProcess(n,s),n}D.exports=i,D.exports.spawn=i,D.exports.sync=function(u,D,i){let s=t(u,D,i),n=e.spawnSync(s.command,s.args,s.options);return n.error=n.error||r.verifyENOENTSync(n.status,s),n},D.exports._parse=t,D.exports._enoent=r}),uj=/^path$/i,uP={key:"PATH",value:""},uM=u=>{let D=u.length,e=new p.PassThrough,t=()=>{0==--D&&e.emit("end")};for(let D of u)D.pipe(e,{end:!1}),D.on("end",t);return e},uN=((u,D,e,t)=>{if(D&&"object"==typeof D||"function"==typeof D)for(let r of up(D))ud.call(u,r)||r===e||uc(u,r,{get:()=>D[r],enumerable:!(t=uh(D,r))||t.enumerable});return u})(uc(null!=(D=uS())?ul(uB(D)):{},"default",{value:D,enumerable:!0}),D),uR=class extends Error{result;output;get exitCode(){if(null!==this.result.exitCode)return this.result.exitCode}constructor(u,D){super(`Process exited with non-zero status (${u.exitCode})`),this.result=u,this.output=D}},uL={timeout:void 0,persist:!1},uI={windowsHide:!0},uq=class{_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&null!==this._process.exitCode)return this._process.exitCode}constructor(u,D,e){this._options={...uL,...e},this._command=u,this._args=D??[],this._processClosed=new Promise(u=>{this._resolveClose=u})}kill(u){return this._process?.kill(u)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(u,D,e){return uz(u,D,{...e,stdin:this})}async *[Symbol.asyncIterator](){let u=this._process;if(!u)return;let D=[];this._streamErr&&D.push(this._streamErr),this._streamOut&&D.push(this._streamOut);let e=uM(D);for await(let u of B.createInterface({input:e}))yield u.toString();if(await this._processClosed,u.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uR(this)}async _waitForOutput(){let u=this._process;if(!u)throw Error("No process was started");let D="",e="";if(this._streamOut)for await(let u of this._streamOut)e+=u.toString();if(this._streamErr)for await(let u of this._streamErr)D+=u.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,u.removeAllListeners(),this._thrownError)throw this._thrownError;let t={stderr:D,stdout:e,exitCode:this.exitCode};if(this._options.throwOnError&&0!==this.exitCode&&void 0!==this.exitCode)throw new uR(this,t);return t}then(u,D){return this._waitForOutput().then(u,D)}_streamOut;_streamErr;spawn(){var u,D,e;let t,r,i=h.cwd(),s=this._options,n={...uI,...s.nodeOptions},F=[];this._resetState(),void 0!==s.timeout&&F.push(AbortSignal.timeout(s.timeout)),void 0!==s.signal&&F.push(s.signal),!0===s.persist&&(n.detached=!0),F.length>0&&(n.signal=function(u){let D=new AbortController;for(let e of u){if(e.aborted)return D.abort(),e;let u=()=>{D.abort(e.reason)};e.addEventListener("abort",u,{signal:D.signal})}return D.signal}(F)),n.env=(u=n.env,r=function(u,D){let e=D.value.split(c.delimiter),t=u,r;do e.push(c.resolve(t,"node_modules",".bin")),r=t,t=c.dirname(t);while(t!==r);return{key:D.key,value:e.join(c.delimiter)}}(i,function(u){for(let D in u){if(!Object.prototype.hasOwnProperty.call(u,D)||!uj.test(D))continue;let e=u[D];return e?{key:D,value:e}:uP}return uP}(t={...process.env,...u})),t[r.key]=r.value,t);let{command:o,args:C}=(D=this._command,e=this._args,{command:c.normalize(D),args:e??[]}),a=(0,uN._parse)(o,C,n),E=l.spawn(a.command,a.args,a.options);if(E.stderr&&(this._streamErr=E.stderr),E.stdout&&(this._streamOut=E.stdout),this._process=E,E.once("error",this._onError),E.once("close",this._onClose),void 0!==s.stdin&&E.stdin&&s.stdin.process){let{stdout:u}=s.stdin.process;u&&u.pipe(E.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(u=>{this._resolveClose=u}),this._thrownError=void 0}_onError=u=>{if("AbortError"===u.name&&(!(u.cause instanceof Error)||"TimeoutError"!==u.cause.name)){this._aborted=!0;return}this._thrownError=u};_onClose=()=>{this._resolveClose&&this._resolveClose()}},uW=(u,D,e)=>{let t=new uq(u,D,e);return t.spawn(),t},uz=uW;async function uU(u=i.cwd()){let D=await uo({cwd:u,onUnknown(u){console.warn("[@antfu/install-pkg] Unknown packageManager:",u)}});return D?.agent||null}async function uG(u,D={}){let e=D.packageManager||await uU(D.cwd)||"npm",[t]=e.split("@");Array.isArray(u)||(u=[u]);let r=("function"==typeof D.additionalArgs?D.additionalArgs(t,e):D.additionalArgs)||[];return D.preferOffline&&("yarn@berry"===e?r.unshift("--cached"):r.unshift("--prefer-offline")),"pnpm"===t&&o.existsSync(a.resolve(D.cwd??i.cwd(),"pnpm-workspace.yaml"))&&r.unshift("-w","--prod=false"),uW(t,["yarn"===t?"add":"install",D.dev?"-D":"",...r,...u].filter(Boolean),{nodeOptions:{stdio:D.silent?"ignore":"inherit",cwd:D.cwd},throwOnError:!0})}var uH=Object.freeze({__proto__:null,detectPackageManager:uU,installPackage:uG});exports.a=uH,exports.g=function(u){if(u.__esModule)return u;var D=u.default;if("function"==typeof D){var e=function u(){return this instanceof u?Reflect.construct(D,arguments,this.constructor):D.apply(this,arguments)};e.prototype=D.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(u).forEach(function(D){var t=Object.getOwnPropertyDescriptor(u,D);Object.defineProperty(e,D,t.get?t:{enumerable:!0,get:function(){return u[D]}})}),e},exports.i=us;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-config-sukka",
|
|
3
|
-
"version": "6.14.
|
|
3
|
+
"version": "6.14.1",
|
|
4
4
|
"description": "Sukka's ESLint config",
|
|
5
5
|
"homepage": "https://github.com/SukkaW/eslint-config-sukka",
|
|
6
6
|
"repository": {
|
|
@@ -36,28 +36,29 @@
|
|
|
36
36
|
"@typescript-eslint/parser": "^8.24.0",
|
|
37
37
|
"ci-info": "^4.1.0",
|
|
38
38
|
"defu": "^6.1.4",
|
|
39
|
-
"eslint-import-resolver-typescript": "^3.
|
|
39
|
+
"eslint-import-resolver-typescript": "^3.8.0",
|
|
40
40
|
"eslint-plugin-autofix": "^2.2.0",
|
|
41
|
-
"eslint-plugin-de-morgan": "^1.0.
|
|
41
|
+
"eslint-plugin-de-morgan": "^1.0.1",
|
|
42
42
|
"eslint-plugin-import-x": "^4.6.1",
|
|
43
43
|
"eslint-plugin-jsonc": "^2.19.1",
|
|
44
44
|
"eslint-plugin-promise": "^7.2.1",
|
|
45
45
|
"eslint-plugin-regexp": "^2.7.0",
|
|
46
46
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
47
|
+
"foxts": "^1.5.1",
|
|
47
48
|
"jsonc-eslint-parser": "^2.4.0",
|
|
48
49
|
"picocolors": "^1.1.1",
|
|
49
50
|
"typescript-eslint": "^8.24.0",
|
|
50
|
-
"@eslint-sukka/shared": "6.14.
|
|
51
|
-
"eslint-plugin-sukka": "6.14.
|
|
51
|
+
"@eslint-sukka/shared": "6.14.1",
|
|
52
|
+
"eslint-plugin-sukka": "6.14.1"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
55
|
"@antfu/install-pkg": "^1.0.0",
|
|
55
56
|
"@clack/prompts": "^0.10.0",
|
|
56
57
|
"eslint-config-flat-gitignore": "^2.0.0",
|
|
57
|
-
"eslint-plugin-antfu": "^3.
|
|
58
|
-
"@eslint-sukka/
|
|
59
|
-
"@eslint-sukka/
|
|
60
|
-
"@eslint-sukka/
|
|
58
|
+
"eslint-plugin-antfu": "^3.1.0",
|
|
59
|
+
"@eslint-sukka/react": "6.14.1",
|
|
60
|
+
"@eslint-sukka/rollup-config": "6.14.1",
|
|
61
|
+
"@eslint-sukka/node": "6.14.1"
|
|
61
62
|
},
|
|
62
63
|
"scripts": {
|
|
63
64
|
"codegen": "SWC_NODE_IGNORE_DYNAMIC=true node -r @swc-node/register scripts/codegen.ts",
|