eslint-formatter-sukka 8.0.3 → 8.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";let e;var r=require("node:path"),t=require("node:process"),i=require("picocolors"),n=require("node:os"),l=require("node:tty"),a=require("process"),o=require("ci-info"),u=require("node:url"),s=require("foxts/fast-string-array-join"),f=require("foxts/append-array-in-place"),c=require("foxts/guard");let p=e=>12288===e||e>=65281&&e<=65376||e>=65504&&e<=65510,d=e=>8987===e||9001===e||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,m=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,h=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,E=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}])/yu,g=/\t{1,1000}/y,y=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,T=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,R=/\p{M}+/gu,x={limit:1/0,ellipsis:""},C=(e,r={},t={})=>{let i=r.limit??1/0,n=r.ellipsis??"",l=r?.ellipsisWidth??(n?C(n,x,t).width:0),a=t.controlWidth??0,o=t.tabWidth??8,u=t.emojiWidth??2,s=t.regularWidth??1,f=t.wideWidth??2,c=[[T,s,!1],[m,0,!1],[h,a,!1],[g,o,!1],[y,u,!0],[E,f,!0]],I=0,O=0,F=e.length,M=0,b=!1,v=F,_=Math.max(0,i-l),A=0,w=0,N=0,j=0;e:for(;;){if(w>A||O>=F&&O>I){for(let r of(M=0,(e.slice(A,w)||e.slice(I,O)).replaceAll(R,""))){let e=r.codePointAt(0)||0;if(N+(j=p(e)?2:d(e)?f:s)>_&&(v=Math.min(v,Math.max(A,I)+M)),N+j>i){b=!0;break e}M+=r.length,N+=j}A=w=0}if(O>=F)break;for(let r=0,t=c.length;r<t;r++){let[t,n,l]=c[r];if(t.lastIndex=O,t.test(e)){if(N+(j=(M=l?1:t.lastIndex-O)*n)>_&&(v=Math.min(v,O+Math.floor((_-N)/n))),N+j>i){b=!0;break e}N+=j,A=I,w=O,O=I=t.lastIndex;continue e}}O+=1}return{width:b?_:N,index:b?v:F,truncated:b,ellipsed:b&&i>=l}},I={limit:1/0,ellipsis:"",ellipsisWidth:0},O=(e,r={})=>C(e,I,r).width;function F(e,r=globalThis.Deno?globalThis.Deno.args:t.argv){let i=e.startsWith("-")?"":1===e.length?"-":"--",n=r.indexOf(i+e),l=r.indexOf("--");return -1!==n&&(-1===l||n<l)}let{env:M}=t;function b(r,i={}){var l;return 0!==(l=function(r,{streamIsTTY:i,sniffFlags:l=!0}={}){let a=function(){if(!("FORCE_COLOR"in M))return;if("true"===M.FORCE_COLOR)return 1;if("false"===M.FORCE_COLOR)return 0;if(0===M.FORCE_COLOR.length)return 1;let e=Math.min(Number.parseInt(M.FORCE_COLOR,10),3);if([0,1,2,3].includes(e))return e}();void 0!==a&&(e=a);let o=l?e:a;if(0===o)return 0;if(l){if(F("color=16m")||F("color=full")||F("color=truecolor"))return 3;if(F("color=256"))return 2}if("TF_BUILD"in M&&"AGENT_NAME"in M)return 1;if(r&&!i&&void 0===o)return 0;let u=o||0;if("dumb"===M.TERM)return u;if("win32"===t.platform){let e=n.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in M)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(e=>e in M)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(e=>e in M)||"codeship"===M.CI_NAME?1:u;if("TEAMCITY_VERSION"in M)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(M.TEAMCITY_VERSION);if("truecolor"===M.COLORTERM||"xterm-kitty"===M.TERM||"xterm-ghostty"===M.TERM||"wezterm"===M.TERM)return 3;if("TERM_PROGRAM"in M){let e=Number.parseInt((M.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(M.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(M.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(M.TERM)||"COLORTERM"in M?1:u}(r,{streamIsTTY:r&&r.isTTY,...i}))&&{level:l,hasBasic:!0,has256:l>=2,has16m:l>=3}}function v(e,r=a.argv){let t=e.startsWith("-")?"":1===e.length?"-":"--",i=r.indexOf(t+e),n=r.indexOf("--");return -1!==i&&(-1===n||i<n)}function _(e=""){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e)??[];return{major:0,minor:Number.parseInt(r[1],10),patch:Number.parseInt(r[2],10)}}let r=(e??"").split(".").map(e=>Number.parseInt(e,10));return{major:r[0],minor:r[1],patch:r[2]}}function A(e){let{CI:r,CURSOR_TRACE_ID:i,FORCE_HYPERLINK:n,NETLIFY:l,TEAMCITY_VERSION:a,TERM_PROGRAM:o,TERM_PROGRAM_VERSION:u,VTE_VERSION:s,TERM:f}=t.env;if(n)return!(n.length>0&&0===Number.parseInt(n,10));if(v("no-hyperlink")||v("no-hyperlinks")||v("hyperlink=false")||v("hyperlink=never"))return!1;if(v("hyperlink=true")||v("hyperlink=always")||l)return!0;if(!b(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in t.env)return!0;if("win32"===t.platform||r||a)return!1;if(o){let e=_(u);switch(o){case"iTerm.app":if(3===e.major)return e.minor>=1;return e.major>3;case"WezTerm":if(/^0-unstable-\d{4}-\d{2}-\d{2}$/.test(u))return u.slice(11)>="2020-06-20";return e.major>=0x1343cac;case"vscode":if(i)return!0;return e.major>1||1===e.major&&e.minor>=72;case"ghostty":return!0}}if(s){if("0.50.0"===s)return!1;let e=_(s);return e.major>0||e.minor>=50}switch(f){case"alacritty":case"xterm-kitty":return!0}return!1}function w(e,r,t={}){return"\x1b]8;"+Object.keys(t).map(e=>e+"="+t[e]).join(":")+";"+r+"\x07"+e+"\x1b]8;;\x07"}F("no-color")||F("no-colors")||F("color=false")||F("color=never")?e=0:(F("color")||F("colors")||F("color=true")||F("color=always"))&&(e=1),b({isTTY:l.isatty(1)}),b({isTTY:l.isatty(2)}),A(t.stdout),A(t.stderr);let N={type:"separator"};module.exports=(e,l)=>{let a=[],p=0,d=0,m=0,h=0,E={},g=0,y=0,T=0,R=!1;e.sort((e,r)=>e.errorCount===r.errorCount?r.warningCount-e.warningCount:0===e.errorCount?-1:0===r.errorCount?1:r.errorCount-e.errorCount);for(let t=0,n=e.length;t<n;t++){let n,l=e[t],{messages:o,filePath:u,usedDeprecatedRules:s}=l;if(0===o.length)continue;p+=l.errorCount,d+=l.warningCount,m+=l.fatalErrorCount,h+=l.fixableWarningCount+l.fixableErrorCount,s.forEach(e=>{var r;f.appendArrayInPlace(E[r=e.ruleId]||(E[r]=[]),e.replacedBy)}),0!==a.length&&a.push(N);let c=a.push(null)-1;o.sort((e,r)=>e.fatal===r.fatal&&e.severity===r.severity?e.line===r.line?e.column<r.column?-1:1:e.line<r.line?-1:1:(e.fatal||2===e.severity)&&(!r.fatal||2!==r.severity)?1:-1);for(let e=0,r=o.length;e<r;e++){let r=o[e],t=2===r.severity||"error"===r.severity;t&&(n||(n=r));let l=r.message.replaceAll(/\B`(.+?)`\B|\B'(.+?)'\B|\B"(.+?)"\B/g,(e,r,t,n)=>i.bold(r||t||n)),u=String(r.line||0),s=String(r.column||0),f=O(u),c=O(s),p=0;p=l.includes("\n")?O(l.split("\n").pop()||l):O(l),f>g&&(g=f),c>y&&(y=c),p>T&&(T=p),R||(R=r.line||r.column),a.push({type:"message",severity:r.fatal?"fatal":t?"error":"warning",line:u,lineWidth:f,column:s,columnWidth:c,message:l,messageWidth:p,ruleId:r.ruleId||""})}null==n&&(n=o[0]),a[c]={type:"header",filePath:u,relativeFilePath:r.relative(".",u),firstLineCol:`${n.line}:${n.column}`}}let x="\n";t.stdout.isTTY&&"iTerm.app"===t.env.TERM_PROGRAM&&!o.isCI&&(x+=function(e=t.cwd()){return"\x1b]50;CurrentDir="+e+"\x07"}());let C=!o.isCI&&A(t.stdout),I=n.hostname(),F=t.env.GNOME_TERMINAL_SCREEN;x+=s.fastStringArrayJoin(a.map(e=>{if(c.invariant(e,"[eslint-formatter-sukka] message can not be null"),"header"===e.type){let r=R?i.hidden(i.dim(i.gray(`:${e.firstLineCol}`))):"";if(F){let t=u.pathToFileURL(e.filePath,{});return t.hostname=I,w(e.relativeFilePath,t.href)+r}return i.underline(e.relativeFilePath)+r}if("message"===e.type){let r;C&&l&&"rulesMeta"in l&&e.ruleId in l.rulesMeta&&(r=l.rulesMeta[e.ruleId].docs?.url);let t=["","warning"===e.severity?i.yellow("warn "):i.red("error"),R?" ".repeat(g-e.lineWidth)+i.dim(e.line+i.gray(":")+e.column):""," ".repeat(y-e.columnWidth)+e.message," ".repeat(T-e.messageWidth),C&&r?w(i.dim(e.ruleId),r):i.dim(e.ruleId)];return s.fastStringArrayJoin(t," ")}return""}),"\n"),x+="\n\n";let M=Object.entries(E),b=M.length,v=[["problem",!0,p+d+m],["warning",!0,d>0?i.yellow(d):i.green(0)],["error",!0,p>0?i.red(p):i.green(0)],["fatal",m>0,i.red(m)],["fixable",h>0,h],["deprecated",b>0,i.bold(i.gray(b))]].filter(([,e])=>e),_=Math.max(...v.map(([e])=>e.length));return v.forEach(e=>{let[r,t,n]=e;x+=`${" ".repeat(_-r.length)}${i.bold(`${r}:`)} ${n}
2
- `}),b>0&&M.forEach(([e,r])=>{x+="\n",x+=`${i.gray("deprecated:")} ${e}`,x+=r.length>0?i.gray(` (replaced by ${s.fastStringArrayJoin(r.map(i.white),", ")})`):""}),x+="\n",p+d+m+b>0?x:""};
1
+ "use strict";let e;var r=require("node:path"),t=require("node:process"),i=require("picocolors"),n=require("node:os"),l=require("node:tty"),a=require("process"),o=require("ci-info"),u=require("node:url"),s=require("foxts/fast-string-array-join"),f=require("foxts/append-array-in-place"),c=require("foxts/guard");let p=e=>12288===e||e>=65281&&e<=65376||e>=65504&&e<=65510,d=e=>8987===e||9001===e||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,m=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,h=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,E=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}])/yu,g=/\t{1,1000}/y,y=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,T=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,R=/\p{M}+/gu,I={limit:1/0,ellipsis:""},x=(e,r={},t={})=>{let i=r.limit??1/0,n=r.ellipsis??"",l=r?.ellipsisWidth??(n?x(n,I,t).width:0),a=t.controlWidth??0,o=t.tabWidth??8,u=t.emojiWidth??2,s=t.regularWidth??1,f=t.wideWidth??2,c=[[T,s,!1],[m,0,!1],[h,a,!1],[g,o,!1],[y,u,!0],[E,f,!0]],C=0,O=0,F=e.length,M=0,b=!1,v=F,_=Math.max(0,i-l),A=0,w=0,N=0,j=0;e:for(;;){if(w>A||O>=F&&O>C){for(let r of(M=0,(e.slice(A,w)||e.slice(C,O)).replaceAll(R,""))){let e=r.codePointAt(0)||0;if(N+(j=p(e)?2:d(e)?f:s)>_&&(v=Math.min(v,Math.max(A,C)+M)),N+j>i){b=!0;break e}M+=r.length,N+=j}A=w=0}if(O>=F)break;for(let r=0,t=c.length;r<t;r++){let[t,n,l]=c[r];if(t.lastIndex=O,t.test(e)){if(N+(j=(M=l?1:t.lastIndex-O)*n)>_&&(v=Math.min(v,O+Math.floor((_-N)/n))),N+j>i){b=!0;break e}N+=j,A=C,w=O,O=C=t.lastIndex;continue e}}O+=1}return{width:b?_:N,index:b?v:F,truncated:b,ellipsed:b&&i>=l}},C={limit:1/0,ellipsis:"",ellipsisWidth:0},O=(e,r={})=>x(e,C,r).width;function F(e,r=globalThis.Deno?globalThis.Deno.args:t.argv){let i=e.startsWith("-")?"":1===e.length?"-":"--",n=r.indexOf(i+e),l=r.indexOf("--");return -1!==n&&(-1===l||n<l)}let{env:M}=t;function b(r,i={}){var l;return 0!==(l=function(r,{streamIsTTY:i,sniffFlags:l=!0}={}){let a=function(){if(!("FORCE_COLOR"in M))return;if("true"===M.FORCE_COLOR)return 1;if("false"===M.FORCE_COLOR)return 0;if(0===M.FORCE_COLOR.length)return 1;let e=Math.min(Number.parseInt(M.FORCE_COLOR,10),3);if([0,1,2,3].includes(e))return e}();void 0!==a&&(e=a);let o=l?e:a;if(0===o)return 0;if(l){if(F("color=16m")||F("color=full")||F("color=truecolor"))return 3;if(F("color=256"))return 2}if("TF_BUILD"in M&&"AGENT_NAME"in M)return 1;if(r&&!i&&void 0===o)return 0;let u=o||0;if("dumb"===M.TERM)return u;if("win32"===t.platform){let e=n.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in M)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(e=>e in M)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(e=>e in M)||"codeship"===M.CI_NAME?1:u;if("TEAMCITY_VERSION"in M)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(M.TEAMCITY_VERSION);if("truecolor"===M.COLORTERM||"xterm-kitty"===M.TERM||"xterm-ghostty"===M.TERM||"wezterm"===M.TERM)return 3;if("TERM_PROGRAM"in M){let e=Number.parseInt((M.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(M.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(M.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(M.TERM)||"COLORTERM"in M?1:u}(r,{streamIsTTY:r&&r.isTTY,...i}))&&{level:l,hasBasic:!0,has256:l>=2,has16m:l>=3}}function v(e,r=a.argv){let t=e.startsWith("-")?"":1===e.length?"-":"--",i=r.indexOf(t+e),n=r.indexOf("--");return -1!==i&&(-1===n||i<n)}function _(e=""){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e)??[];return{major:0,minor:Number.parseInt(r[1],10),patch:Number.parseInt(r[2],10)}}let r=(e??"").split(".").map(e=>Number.parseInt(e,10));return{major:r[0],minor:r[1],patch:r[2]}}function A(e){let{CI:r,CURSOR_TRACE_ID:i,FORCE_HYPERLINK:n,NETLIFY:l,TEAMCITY_VERSION:a,TERM_PROGRAM:o,TERM_PROGRAM_VERSION:u,VTE_VERSION:s,TERM:f}=t.env;if(n)return!(n.length>0&&0===Number.parseInt(n,10));if(v("no-hyperlink")||v("no-hyperlinks")||v("hyperlink=false")||v("hyperlink=never"))return!1;if(v("hyperlink=true")||v("hyperlink=always")||l)return!0;if(!b(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in t.env)return!0;if("win32"===t.platform||r||a)return!1;if(o){let e=_(u);switch(o){case"iTerm.app":if(3===e.major)return e.minor>=1;return e.major>3;case"WezTerm":if(/^0-unstable-\d{4}-\d{2}-\d{2}$/.test(u))return u.slice(11)>="2020-06-20";return e.major>=0x1343cac;case"vscode":if(i)return!0;return e.major>1||1===e.major&&e.minor>=72;case"ghostty":return!0}}if(s){if("0.50.0"===s)return!1;let e=_(s);return e.major>0||e.minor>=50}switch(f){case"alacritty":case"xterm-kitty":return!0}return!1}function w(e,r,t={}){return"\x1b]8;"+Object.keys(t).map(e=>e+"="+t[e]).join(":")+";"+r+"\x07"+e+"\x1b]8;;\x07"}F("no-color")||F("no-colors")||F("color=false")||F("color=never")?e=0:(F("color")||F("colors")||F("color=true")||F("color=always"))&&(e=1),b({isTTY:l.isatty(1)}),b({isTTY:l.isatty(2)}),A(t.stdout),A(t.stderr);let N={type:"separator"};module.exports=(e,l)=>{let a=[],p=0,d=0,m=0,h=0,E={},g=0,y=0,T=0,R=!1;e.sort((e,r)=>e.errorCount===r.errorCount?r.warningCount-e.warningCount:0===e.errorCount?-1:0===r.errorCount?1:r.errorCount-e.errorCount);for(let t=0,n=e.length;t<n;t++){let n,l=e[t],{messages:o,filePath:u,usedDeprecatedRules:s,fixableWarningCount:c,fixableErrorCount:I}=l;if(0===o.length)continue;p+=l.errorCount,d+=l.warningCount,m+=l.fatalErrorCount,h+=c+I,s.forEach(e=>{var r;f.appendArrayInPlace(E[r=e.ruleId]||(E[r]=[]),e.replacedBy)}),0!==a.length&&a.push(N);let x=a.push(null)-1;o.sort((e,r)=>e.fatal===r.fatal&&e.severity===r.severity?e.line===r.line?e.column<r.column?-1:1:e.line<r.line?-1:1:(e.fatal||2===e.severity)&&(!r.fatal||2!==r.severity)?1:-1);for(let e=0,r=o.length;e<r;e++){let r=o[e],t=2===r.severity||"error"===r.severity;t&&(n||(n=r));let l=r.message.replaceAll(/\B`(.+?)`\B|\B'(.+?)'\B|\B"(.+?)"\B/g,(e,r,t,n)=>i.bold(r||t||n)),u=String(r.line||0),s=String(r.column||0),f=O(u),c=O(s),p=0;p=l.includes("\n")?O(l.split("\n").pop()||l):O(l),f>g&&(g=f),c>y&&(y=c),p>T&&(T=p),R||(R=r.line||r.column),a.push({type:"message",severity:r.fatal?"fatal":t?"error":"warning",line:u,lineWidth:f,column:s,columnWidth:c,message:l,messageWidth:p,ruleId:r.ruleId||""})}null==n&&(n=o[0]),a[x]={type:"header",filePath:u,relativeFilePath:r.relative(".",u),firstLineCol:`${n.line}:${n.column}`}}let I="\n";t.stdout.isTTY&&"iTerm.app"===t.env.TERM_PROGRAM&&!o.isCI&&(I+=function(e=t.cwd()){return"\x1b]50;CurrentDir="+e+"\x07"}());let x=!o.isCI&&A(t.stdout),C=n.hostname(),F=t.env.GNOME_TERMINAL_SCREEN;I+=s.fastStringArrayJoin(a.map(e=>{if(c.invariant(e,"[eslint-formatter-sukka] message can not be null"),"header"===e.type){let r=R?i.hidden(i.dim(i.gray(`:${e.firstLineCol}`))):"";if(F){let t=u.pathToFileURL(e.filePath,{});return t.hostname=C,w(e.relativeFilePath,t.href)+r}return i.underline(e.relativeFilePath)+r}if("message"===e.type){let r;x&&l&&"rulesMeta"in l&&e.ruleId in l.rulesMeta&&(r=l.rulesMeta[e.ruleId].docs?.url);let t=["","warning"===e.severity?i.yellow("warn "):i.red("error"),R?" ".repeat(g-e.lineWidth)+i.dim(e.line+i.gray(":")+e.column):""," ".repeat(y-e.columnWidth)+e.message," ".repeat(T-e.messageWidth),x&&r?w(i.dim(e.ruleId),r):i.dim(e.ruleId)];return s.fastStringArrayJoin(t," ")}return""}),"\n"),I+="\n\n";let M=Object.entries(E),b=M.length,v=[["problem",!0,p+d+m],["warning",!0,d>0?i.yellow(d):i.green(0)],["error",!0,p>0?i.red(p):i.green(0)],["fatal",m>0,i.red(m)],["fixable",h>0,h],["deprecated",b>0,i.bold(i.gray(b))]].filter(([,e])=>e),_=Math.max(...v.map(([e])=>e.length));return v.forEach(e=>{let[r,t,n]=e;I+=`${" ".repeat(_-r.length)}${i.bold(`${r}:`)} ${n}
2
+ `}),b>0&&M.forEach(([e,r])=>{I+="\n",I+=`${i.gray("deprecated:")} ${e}`,I+=r.length>0?i.gray(` (replaced by ${s.fastStringArrayJoin(r.map(i.white),", ")})`):""}),I+="\n",p+d+m+b>0?I:""};
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- let e;import r from"node:path";import t from"node:process";import i from"picocolors";import n,{hostname as l}from"node:os";import o from"node:tty";import a from"process";import{isCI as u}from"ci-info";import{pathToFileURL as s}from"node:url";import{fastStringArrayJoin as f}from"foxts/fast-string-array-join";import{appendArrayInPlace as m}from"foxts/append-array-in-place";import{invariant as p}from"foxts/guard";let c=e=>12288===e||e>=65281&&e<=65376||e>=65504&&e<=65510,d=e=>8987===e||9001===e||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,h=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,E=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,g=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}])/yu,y=/\t{1,1000}/y,T=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,x=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,R=/\p{M}+/gu,C={limit:1/0,ellipsis:""},O=(e,r={},t={})=>{let i=r.limit??1/0,n=r.ellipsis??"",l=r?.ellipsisWidth??(n?O(n,C,t).width:0),o=t.controlWidth??0,a=t.tabWidth??8,u=t.emojiWidth??2,s=t.regularWidth??1,f=t.wideWidth??2,m=[[x,s,!1],[h,0,!1],[E,o,!1],[y,a,!1],[T,u,!0],[g,f,!0]],p=0,I=0,F=e.length,M=0,b=!1,_=F,v=Math.max(0,i-l),A=0,w=0,N=0,j=0;e:for(;;){if(w>A||I>=F&&I>p){for(let r of(M=0,(e.slice(A,w)||e.slice(p,I)).replaceAll(R,""))){let e=r.codePointAt(0)||0;if(N+(j=c(e)?2:d(e)?f:s)>v&&(_=Math.min(_,Math.max(A,p)+M)),N+j>i){b=!0;break e}M+=r.length,N+=j}A=w=0}if(I>=F)break;for(let r=0,t=m.length;r<t;r++){let[t,n,l]=m[r];if(t.lastIndex=I,t.test(e)){if(N+(j=(M=l?1:t.lastIndex-I)*n)>v&&(_=Math.min(_,I+Math.floor((v-N)/n))),N+j>i){b=!0;break e}N+=j,A=p,w=I,I=p=t.lastIndex;continue e}}I+=1}return{width:b?v:N,index:b?_:F,truncated:b,ellipsed:b&&i>=l}},I={limit:1/0,ellipsis:"",ellipsisWidth:0},F=(e,r={})=>O(e,I,r).width;function M(e,r=globalThis.Deno?globalThis.Deno.args:t.argv){let i=e.startsWith("-")?"":1===e.length?"-":"--",n=r.indexOf(i+e),l=r.indexOf("--");return -1!==n&&(-1===l||n<l)}let{env:b}=t;function _(r,i={}){var l;return 0!==(l=function(r,{streamIsTTY:i,sniffFlags:l=!0}={}){let o=function(){if(!("FORCE_COLOR"in b))return;if("true"===b.FORCE_COLOR)return 1;if("false"===b.FORCE_COLOR)return 0;if(0===b.FORCE_COLOR.length)return 1;let e=Math.min(Number.parseInt(b.FORCE_COLOR,10),3);if([0,1,2,3].includes(e))return e}();void 0!==o&&(e=o);let a=l?e:o;if(0===a)return 0;if(l){if(M("color=16m")||M("color=full")||M("color=truecolor"))return 3;if(M("color=256"))return 2}if("TF_BUILD"in b&&"AGENT_NAME"in b)return 1;if(r&&!i&&void 0===a)return 0;let u=a||0;if("dumb"===b.TERM)return u;if("win32"===t.platform){let e=n.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in b)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(e=>e in b)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(e=>e in b)||"codeship"===b.CI_NAME?1:u;if("TEAMCITY_VERSION"in b)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(b.TEAMCITY_VERSION);if("truecolor"===b.COLORTERM||"xterm-kitty"===b.TERM||"xterm-ghostty"===b.TERM||"wezterm"===b.TERM)return 3;if("TERM_PROGRAM"in b){let e=Number.parseInt((b.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(b.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(b.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(b.TERM)||"COLORTERM"in b?1:u}(r,{streamIsTTY:r&&r.isTTY,...i}))&&{level:l,hasBasic:!0,has256:l>=2,has16m:l>=3}}function v(e,r=a.argv){let t=e.startsWith("-")?"":1===e.length?"-":"--",i=r.indexOf(t+e),n=r.indexOf("--");return -1!==i&&(-1===n||i<n)}function A(e=""){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e)??[];return{major:0,minor:Number.parseInt(r[1],10),patch:Number.parseInt(r[2],10)}}let r=(e??"").split(".").map(e=>Number.parseInt(e,10));return{major:r[0],minor:r[1],patch:r[2]}}function w(e){let{CI:r,CURSOR_TRACE_ID:i,FORCE_HYPERLINK:n,NETLIFY:l,TEAMCITY_VERSION:o,TERM_PROGRAM:a,TERM_PROGRAM_VERSION:u,VTE_VERSION:s,TERM:f}=t.env;if(n)return!(n.length>0&&0===Number.parseInt(n,10));if(v("no-hyperlink")||v("no-hyperlinks")||v("hyperlink=false")||v("hyperlink=never"))return!1;if(v("hyperlink=true")||v("hyperlink=always")||l)return!0;if(!_(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in t.env)return!0;if("win32"===t.platform||r||o)return!1;if(a){let e=A(u);switch(a){case"iTerm.app":if(3===e.major)return e.minor>=1;return e.major>3;case"WezTerm":if(/^0-unstable-\d{4}-\d{2}-\d{2}$/.test(u))return u.slice(11)>="2020-06-20";return e.major>=0x1343cac;case"vscode":if(i)return!0;return e.major>1||1===e.major&&e.minor>=72;case"ghostty":return!0}}if(s){if("0.50.0"===s)return!1;let e=A(s);return e.major>0||e.minor>=50}switch(f){case"alacritty":case"xterm-kitty":return!0}return!1}function N(e,r,t={}){return"\x1b]8;"+Object.keys(t).map(e=>e+"="+t[e]).join(":")+";"+r+"\x07"+e+"\x1b]8;;\x07"}M("no-color")||M("no-colors")||M("color=false")||M("color=never")?e=0:(M("color")||M("colors")||M("color=true")||M("color=always"))&&(e=1),_({isTTY:o.isatty(1)}),_({isTTY:o.isatty(2)}),w(t.stdout),w(t.stderr);let j={type:"separator"},S=(e,n)=>{let o=[],a=0,c=0,d=0,h=0,E={},g=0,y=0,T=0,x=!1;e.sort((e,r)=>e.errorCount===r.errorCount?r.warningCount-e.warningCount:0===e.errorCount?-1:0===r.errorCount?1:r.errorCount-e.errorCount);for(let t=0,n=e.length;t<n;t++){let n,l=e[t],{messages:u,filePath:s,usedDeprecatedRules:f}=l;if(0===u.length)continue;a+=l.errorCount,c+=l.warningCount,d+=l.fatalErrorCount,h+=l.fixableWarningCount+l.fixableErrorCount,f.forEach(e=>{var r;m(E[r=e.ruleId]||(E[r]=[]),e.replacedBy)}),0!==o.length&&o.push(j);let p=o.push(null)-1;u.sort((e,r)=>e.fatal===r.fatal&&e.severity===r.severity?e.line===r.line?e.column<r.column?-1:1:e.line<r.line?-1:1:(e.fatal||2===e.severity)&&(!r.fatal||2!==r.severity)?1:-1);for(let e=0,r=u.length;e<r;e++){let r=u[e],t=2===r.severity||"error"===r.severity;t&&(n||(n=r));let l=r.message.replaceAll(/\B`(.+?)`\B|\B'(.+?)'\B|\B"(.+?)"\B/g,(e,r,t,n)=>i.bold(r||t||n)),a=String(r.line||0),s=String(r.column||0),f=F(a),m=F(s),p=0;p=l.includes("\n")?F(l.split("\n").pop()||l):F(l),f>g&&(g=f),m>y&&(y=m),p>T&&(T=p),x||(x=r.line||r.column),o.push({type:"message",severity:r.fatal?"fatal":t?"error":"warning",line:a,lineWidth:f,column:s,columnWidth:m,message:l,messageWidth:p,ruleId:r.ruleId||""})}null==n&&(n=u[0]),o[p]={type:"header",filePath:s,relativeFilePath:r.relative(".",s),firstLineCol:`${n.line}:${n.column}`}}let R="\n";t.stdout.isTTY&&"iTerm.app"===t.env.TERM_PROGRAM&&!u&&(R+=function(e=t.cwd()){return"\x1b]50;CurrentDir="+e+"\x07"}());let C=!u&&w(t.stdout),O=l(),I=t.env.GNOME_TERMINAL_SCREEN;R+=f(o.map(e=>{if(p(e,"[eslint-formatter-sukka] message can not be null"),"header"===e.type){let r=x?i.hidden(i.dim(i.gray(`:${e.firstLineCol}`))):"";if(I){let t=s(e.filePath,{});return t.hostname=O,N(e.relativeFilePath,t.href)+r}return i.underline(e.relativeFilePath)+r}if("message"===e.type){let r;return C&&n&&"rulesMeta"in n&&e.ruleId in n.rulesMeta&&(r=n.rulesMeta[e.ruleId].docs?.url),f(["","warning"===e.severity?i.yellow("warn "):i.red("error"),x?" ".repeat(g-e.lineWidth)+i.dim(e.line+i.gray(":")+e.column):""," ".repeat(y-e.columnWidth)+e.message," ".repeat(T-e.messageWidth),C&&r?N(i.dim(e.ruleId),r):i.dim(e.ruleId)]," ")}return""}),"\n"),R+="\n\n";let M=Object.entries(E),b=M.length,_=[["problem",!0,a+c+d],["warning",!0,c>0?i.yellow(c):i.green(0)],["error",!0,a>0?i.red(a):i.green(0)],["fatal",d>0,i.red(d)],["fixable",h>0,h],["deprecated",b>0,i.bold(i.gray(b))]].filter(([,e])=>e),v=Math.max(..._.map(([e])=>e.length));return _.forEach(e=>{let[r,t,n]=e;R+=`${" ".repeat(v-r.length)}${i.bold(`${r}:`)} ${n}
2
- `}),b>0&&M.forEach(([e,r])=>{R+="\n",R+=`${i.gray("deprecated:")} ${e}`,R+=r.length>0?i.gray(` (replaced by ${f(r.map(i.white),", ")})`):""}),R+="\n",a+c+d+b>0?R:""};export{S as default};
1
+ let e;import r from"node:path";import t from"node:process";import i from"picocolors";import n,{hostname as l}from"node:os";import o from"node:tty";import a from"process";import{isCI as u}from"ci-info";import{pathToFileURL as s}from"node:url";import{fastStringArrayJoin as f}from"foxts/fast-string-array-join";import{appendArrayInPlace as m}from"foxts/append-array-in-place";import{invariant as p}from"foxts/guard";let c=e=>12288===e||e>=65281&&e<=65376||e>=65504&&e<=65510,d=e=>8987===e||9001===e||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,h=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,E=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,g=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}])/yu,y=/\t{1,1000}/y,T=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,R=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,x=/\p{M}+/gu,O={limit:1/0,ellipsis:""},I=(e,r={},t={})=>{let i=r.limit??1/0,n=r.ellipsis??"",l=r?.ellipsisWidth??(n?I(n,O,t).width:0),o=t.controlWidth??0,a=t.tabWidth??8,u=t.emojiWidth??2,s=t.regularWidth??1,f=t.wideWidth??2,m=[[R,s,!1],[h,0,!1],[E,o,!1],[y,a,!1],[T,u,!0],[g,f,!0]],p=0,C=0,F=e.length,M=0,b=!1,_=F,v=Math.max(0,i-l),A=0,w=0,N=0,j=0;e:for(;;){if(w>A||C>=F&&C>p){for(let r of(M=0,(e.slice(A,w)||e.slice(p,C)).replaceAll(x,""))){let e=r.codePointAt(0)||0;if(N+(j=c(e)?2:d(e)?f:s)>v&&(_=Math.min(_,Math.max(A,p)+M)),N+j>i){b=!0;break e}M+=r.length,N+=j}A=w=0}if(C>=F)break;for(let r=0,t=m.length;r<t;r++){let[t,n,l]=m[r];if(t.lastIndex=C,t.test(e)){if(N+(j=(M=l?1:t.lastIndex-C)*n)>v&&(_=Math.min(_,C+Math.floor((v-N)/n))),N+j>i){b=!0;break e}N+=j,A=p,w=C,C=p=t.lastIndex;continue e}}C+=1}return{width:b?v:N,index:b?_:F,truncated:b,ellipsed:b&&i>=l}},C={limit:1/0,ellipsis:"",ellipsisWidth:0},F=(e,r={})=>I(e,C,r).width;function M(e,r=globalThis.Deno?globalThis.Deno.args:t.argv){let i=e.startsWith("-")?"":1===e.length?"-":"--",n=r.indexOf(i+e),l=r.indexOf("--");return -1!==n&&(-1===l||n<l)}let{env:b}=t;function _(r,i={}){var l;return 0!==(l=function(r,{streamIsTTY:i,sniffFlags:l=!0}={}){let o=function(){if(!("FORCE_COLOR"in b))return;if("true"===b.FORCE_COLOR)return 1;if("false"===b.FORCE_COLOR)return 0;if(0===b.FORCE_COLOR.length)return 1;let e=Math.min(Number.parseInt(b.FORCE_COLOR,10),3);if([0,1,2,3].includes(e))return e}();void 0!==o&&(e=o);let a=l?e:o;if(0===a)return 0;if(l){if(M("color=16m")||M("color=full")||M("color=truecolor"))return 3;if(M("color=256"))return 2}if("TF_BUILD"in b&&"AGENT_NAME"in b)return 1;if(r&&!i&&void 0===a)return 0;let u=a||0;if("dumb"===b.TERM)return u;if("win32"===t.platform){let e=n.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in b)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(e=>e in b)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(e=>e in b)||"codeship"===b.CI_NAME?1:u;if("TEAMCITY_VERSION"in b)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(b.TEAMCITY_VERSION);if("truecolor"===b.COLORTERM||"xterm-kitty"===b.TERM||"xterm-ghostty"===b.TERM||"wezterm"===b.TERM)return 3;if("TERM_PROGRAM"in b){let e=Number.parseInt((b.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(b.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(b.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(b.TERM)||"COLORTERM"in b?1:u}(r,{streamIsTTY:r&&r.isTTY,...i}))&&{level:l,hasBasic:!0,has256:l>=2,has16m:l>=3}}function v(e,r=a.argv){let t=e.startsWith("-")?"":1===e.length?"-":"--",i=r.indexOf(t+e),n=r.indexOf("--");return -1!==i&&(-1===n||i<n)}function A(e=""){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e)??[];return{major:0,minor:Number.parseInt(r[1],10),patch:Number.parseInt(r[2],10)}}let r=(e??"").split(".").map(e=>Number.parseInt(e,10));return{major:r[0],minor:r[1],patch:r[2]}}function w(e){let{CI:r,CURSOR_TRACE_ID:i,FORCE_HYPERLINK:n,NETLIFY:l,TEAMCITY_VERSION:o,TERM_PROGRAM:a,TERM_PROGRAM_VERSION:u,VTE_VERSION:s,TERM:f}=t.env;if(n)return!(n.length>0&&0===Number.parseInt(n,10));if(v("no-hyperlink")||v("no-hyperlinks")||v("hyperlink=false")||v("hyperlink=never"))return!1;if(v("hyperlink=true")||v("hyperlink=always")||l)return!0;if(!_(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in t.env)return!0;if("win32"===t.platform||r||o)return!1;if(a){let e=A(u);switch(a){case"iTerm.app":if(3===e.major)return e.minor>=1;return e.major>3;case"WezTerm":if(/^0-unstable-\d{4}-\d{2}-\d{2}$/.test(u))return u.slice(11)>="2020-06-20";return e.major>=0x1343cac;case"vscode":if(i)return!0;return e.major>1||1===e.major&&e.minor>=72;case"ghostty":return!0}}if(s){if("0.50.0"===s)return!1;let e=A(s);return e.major>0||e.minor>=50}switch(f){case"alacritty":case"xterm-kitty":return!0}return!1}function N(e,r,t={}){return"\x1b]8;"+Object.keys(t).map(e=>e+"="+t[e]).join(":")+";"+r+"\x07"+e+"\x1b]8;;\x07"}M("no-color")||M("no-colors")||M("color=false")||M("color=never")?e=0:(M("color")||M("colors")||M("color=true")||M("color=always"))&&(e=1),_({isTTY:o.isatty(1)}),_({isTTY:o.isatty(2)}),w(t.stdout),w(t.stderr);let j={type:"separator"},S=(e,n)=>{let o=[],a=0,c=0,d=0,h=0,E={},g=0,y=0,T=0,R=!1;e.sort((e,r)=>e.errorCount===r.errorCount?r.warningCount-e.warningCount:0===e.errorCount?-1:0===r.errorCount?1:r.errorCount-e.errorCount);for(let t=0,n=e.length;t<n;t++){let n,l=e[t],{messages:u,filePath:s,usedDeprecatedRules:f,fixableWarningCount:p,fixableErrorCount:x}=l;if(0===u.length)continue;a+=l.errorCount,c+=l.warningCount,d+=l.fatalErrorCount,h+=p+x,f.forEach(e=>{var r;m(E[r=e.ruleId]||(E[r]=[]),e.replacedBy)}),0!==o.length&&o.push(j);let O=o.push(null)-1;u.sort((e,r)=>e.fatal===r.fatal&&e.severity===r.severity?e.line===r.line?e.column<r.column?-1:1:e.line<r.line?-1:1:(e.fatal||2===e.severity)&&(!r.fatal||2!==r.severity)?1:-1);for(let e=0,r=u.length;e<r;e++){let r=u[e],t=2===r.severity||"error"===r.severity;t&&(n||(n=r));let l=r.message.replaceAll(/\B`(.+?)`\B|\B'(.+?)'\B|\B"(.+?)"\B/g,(e,r,t,n)=>i.bold(r||t||n)),a=String(r.line||0),s=String(r.column||0),f=F(a),m=F(s),p=0;p=l.includes("\n")?F(l.split("\n").pop()||l):F(l),f>g&&(g=f),m>y&&(y=m),p>T&&(T=p),R||(R=r.line||r.column),o.push({type:"message",severity:r.fatal?"fatal":t?"error":"warning",line:a,lineWidth:f,column:s,columnWidth:m,message:l,messageWidth:p,ruleId:r.ruleId||""})}null==n&&(n=u[0]),o[O]={type:"header",filePath:s,relativeFilePath:r.relative(".",s),firstLineCol:`${n.line}:${n.column}`}}let x="\n";t.stdout.isTTY&&"iTerm.app"===t.env.TERM_PROGRAM&&!u&&(x+=function(e=t.cwd()){return"\x1b]50;CurrentDir="+e+"\x07"}());let O=!u&&w(t.stdout),I=l(),C=t.env.GNOME_TERMINAL_SCREEN;x+=f(o.map(e=>{if(p(e,"[eslint-formatter-sukka] message can not be null"),"header"===e.type){let r=R?i.hidden(i.dim(i.gray(`:${e.firstLineCol}`))):"";if(C){let t=s(e.filePath,{});return t.hostname=I,N(e.relativeFilePath,t.href)+r}return i.underline(e.relativeFilePath)+r}if("message"===e.type){let r;return O&&n&&"rulesMeta"in n&&e.ruleId in n.rulesMeta&&(r=n.rulesMeta[e.ruleId].docs?.url),f(["","warning"===e.severity?i.yellow("warn "):i.red("error"),R?" ".repeat(g-e.lineWidth)+i.dim(e.line+i.gray(":")+e.column):""," ".repeat(y-e.columnWidth)+e.message," ".repeat(T-e.messageWidth),O&&r?N(i.dim(e.ruleId),r):i.dim(e.ruleId)]," ")}return""}),"\n"),x+="\n\n";let M=Object.entries(E),b=M.length,_=[["problem",!0,a+c+d],["warning",!0,c>0?i.yellow(c):i.green(0)],["error",!0,a>0?i.red(a):i.green(0)],["fatal",d>0,i.red(d)],["fixable",h>0,h],["deprecated",b>0,i.bold(i.gray(b))]].filter(([,e])=>e),v=Math.max(..._.map(([e])=>e.length));return _.forEach(e=>{let[r,t,n]=e;x+=`${" ".repeat(v-r.length)}${i.bold(`${r}:`)} ${n}
2
+ `}),b>0&&M.forEach(([e,r])=>{x+="\n",x+=`${i.gray("deprecated:")} ${e}`,x+=r.length>0?i.gray(` (replaced by ${f(r.map(i.white),", ")})`):""}),x+="\n",a+c+d+b>0?x:""};export{S as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-formatter-sukka",
3
- "version": "8.0.3",
3
+ "version": "8.0.4",
4
4
  "description": "Sukka's ESLint config",
5
5
  "homepage": "https://github.com/SukkaW/eslint-config-sukka",
6
6
  "repository": {
@@ -35,7 +35,7 @@
35
35
  "devDependencies": {
36
36
  "fast-string-width": "^3.0.2",
37
37
  "supports-hyperlinks": "^4.3.0",
38
- "@eslint-sukka/rollup-config": "8.0.3"
38
+ "@eslint-sukka/rollup-config": "8.0.4"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "eslint": "*"