@visulima/cerebro 3.0.0-alpha.26 → 3.0.0-alpha.27

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/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## @visulima/cerebro [3.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/cerebro@3.0.0-alpha.26...@visulima/cerebro@3.0.0-alpha.27) (2026-05-26)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
6
+ * **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
7
+
8
+ ### Tests
9
+
10
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
11
+
12
+
13
+ ### Dependencies
14
+
15
+ * **@visulima/error:** upgraded to 6.0.0-alpha.28
16
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.17
17
+
1
18
  ## @visulima/cerebro [3.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/cerebro@3.0.0-alpha.25...@visulima/cerebro@3.0.0-alpha.26) (2026-05-20)
2
19
 
3
20
  ### Bug Fixes
@@ -1,4 +1,4 @@
1
- var U=Object.defineProperty;var s=(e,r)=>U(e,"name",{value:r,configurable:!0});import{createRequire as q}from"node:module";import{k as Dr,N as Jr,Q as Lr,G as Fr}from"./renderError-B_XyYPKJ-B65kP-Ou.js";import{p as Mr,V as Vr}from"./isVisulimaError-jVZgumOU-C4fgdbWg.js";const z=q(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,B=s(e=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[r,t]=g.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return g.getBuiltinModule(e)}return z(e)},"__cjs_getBuiltinModule"),{createRequire:K}=B("node:module");var Y=Object.defineProperty,H=s((e,r)=>Y(e,"name",{value:r,configurable:!0}),"s$7"),X=Object.defineProperty,W=H((e,r)=>X(e,"name",{value:r,configurable:!0}),"o"),G=Object.defineProperty,x=W((e,r)=>G(e,"name",{value:r,configurable:!0}),"l");const A=x((e,r)=>{let t=0,n=r.length-2;for(;t<n;){const o=t+(n-t>>1);if(e<r[o])n=o-1;else if(e>=r[o+1])t=o+1;else{t=o;break}}return t},"binarySearch"),Q=/\n|\r(?!\n)/,Z=x(e=>e.split(Q).reduce((r,t)=>(r.push(r.at(-1)+t.length+1),r),[0]),"getLineStartIndexes"),jr=x((e,r,t)=>{const n=t?.skipChecks??!1;if(!n&&(!Array.isArray(e)&&typeof e!="string"||(typeof e=="string"||Array.isArray(e))&&e.length===0))return{column:0,line:0};if(!n&&(typeof r!="number"||typeof e=="string"&&r>=e.length||Array.isArray(e)&&r+1>=e.at(-1)))return{column:0,line:0};if(typeof e=="string"){const a=Z(e),i=A(r,a);return{column:r-a[i]+1,line:i+1}}const o=A(r,e);return{column:r-e[o]+1,line:o+1}},"indexToLineColumn");var ee=Object.defineProperty,re=s((e,r)=>ee(e,"name",{value:r,configurable:!0}),"t$5"),te=Object.defineProperty,ne=re((e,r)=>te(e,"name",{value:r,configurable:!0}),"i"),oe=Object.defineProperty,ae=ne((e,r)=>oe(e,"name",{value:r,configurable:!0}),"t");const Or=ae(({applicationType:e,error:r,file:t})=>`You are a very skilled ${t.language??"unknown"} programmer.
1
+ var U=Object.defineProperty;var s=(e,r)=>U(e,"name",{value:r,configurable:!0});import{createRequire as q}from"node:module";import{k as Dr,N as Jr,Q as Lr,G as Fr}from"./renderError-DxgI44AK-DFDWFoCr.js";import{p as Mr,V as Vr}from"./isVisulimaError-jVZgumOU-C4fgdbWg.js";const z=q(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,B=s(e=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[r,t]=g.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return g.getBuiltinModule(e)}return z(e)},"__cjs_getBuiltinModule"),{createRequire:K}=B("node:module");var Y=Object.defineProperty,H=s((e,r)=>Y(e,"name",{value:r,configurable:!0}),"s$7"),X=Object.defineProperty,W=H((e,r)=>X(e,"name",{value:r,configurable:!0}),"o"),G=Object.defineProperty,x=W((e,r)=>G(e,"name",{value:r,configurable:!0}),"l");const A=x((e,r)=>{let t=0,n=r.length-2;for(;t<n;){const o=t+(n-t>>1);if(e<r[o])n=o-1;else if(e>=r[o+1])t=o+1;else{t=o;break}}return t},"binarySearch"),Q=/\n|\r(?!\n)/,Z=x(e=>e.split(Q).reduce((r,t)=>(r.push(r.at(-1)+t.length+1),r),[0]),"getLineStartIndexes"),jr=x((e,r,t)=>{const n=t?.skipChecks??!1;if(!n&&(!Array.isArray(e)&&typeof e!="string"||(typeof e=="string"||Array.isArray(e))&&e.length===0))return{column:0,line:0};if(!n&&(typeof r!="number"||typeof e=="string"&&r>=e.length||Array.isArray(e)&&r+1>=e.at(-1)))return{column:0,line:0};if(typeof e=="string"){const a=Z(e),i=A(r,a);return{column:r-a[i]+1,line:i+1}}const o=A(r,e);return{column:r-e[o]+1,line:o+1}},"indexToLineColumn");var ee=Object.defineProperty,re=s((e,r)=>ee(e,"name",{value:r,configurable:!0}),"t$5"),te=Object.defineProperty,ne=re((e,r)=>te(e,"name",{value:r,configurable:!0}),"i"),oe=Object.defineProperty,ae=ne((e,r)=>oe(e,"name",{value:r,configurable:!0}),"t");const Or=ae(({applicationType:e,error:r,file:t})=>`You are a very skilled ${t.language??"unknown"} programmer.
2
2
 
3
3
  ${e?`You are working on a ${e} application.`:""}
4
4
 
@@ -0,0 +1,24 @@
1
+ var Q=Object.defineProperty;var N=(r,e)=>Q(r,"name",{value:e,configurable:!0});import{createRequire as Y}from"node:module";const X=Y(import.meta.url),S=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Z=N(r=>{if(typeof S<"u"&&S.versions&&S.versions.node){const[e,t]=S.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return S.getBuiltinModule(r)}return X(r)},"__cjs_getBuiltinModule"),{createRequire:ee}=Z("node:module");var re=Object.defineProperty,te=N((r,e)=>re(r,"name",{value:e,configurable:!0}),"A$2"),ie=Object.defineProperty,L=te((r,e)=>ie(r,"name",{value:e,configurable:!0}),"$"),ne=Object.defineProperty,oe=L((r,e)=>ne(r,"name",{value:e,configurable:!0}),"r$1");const se=oe(r=>r.replaceAll(/\r\n|\r(?!\n)|\n/gu,`
2
+ `),"normalizeLF"),ae=globalThis.process??Object.create(null),P={versions:{}},_=new Proxy(ae,{get(r,e){if(e in r)return r[e];if(e in P)return P[e]}});var le=Object.defineProperty,ce=L((r,e)=>le(r,"name",{value:e,configurable:!0}),"b");const de=ce((r,e,t,i)=>{const s={column:0,line:-1,...r.start},o={...s,...r.end},n=s.line,l=s.column,d=o.line,c=o.column;let a=Math.max(n-(t+1),0),p=Math.min(e.length,d+i);n===-1&&(a=0),d===-1&&(p=e.length);const g=d-n,m={};if(g)for(let u=0;u<=g;u++){const $=u+n;if(!l)m[$]=!0;else if(u===0){const h=e[$-1]?.length;m[$]=[l,(h??0)-l+1]}else if(u===g)m[$]=[0,c];else{const h=e[$-u]?.length;m[$]=[0,h]}}else l===c?m[n]=l?[l,0]:!0:m[n]=[l,(c??0)-(l??0)];return{end:p,markerLines:m,start:a}},"getMarkerLines");var ue=Object.defineProperty,E=L((r,e)=>ue(r,"name",{value:e,configurable:!0}),"t");const fe=_.platform==="win32"&&!_.env?.WT_SESSION?">":"❯",me=E((r,e,t)=>{const i={linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,tabWidth:4,...t,color:{gutter:E(u=>u,"gutter"),marker:E(u=>u,"marker"),message:E(u=>u,"message"),...t?.color}},s=typeof e.start.column=="number";let o=se(r).split(`
3
+ `);typeof i.tabWidth=="number"&&(o=o.map(u=>u.replaceAll(" "," ".repeat(i.tabWidth))));const{end:n,markerLines:l,start:d}=de(e,o,i.linesAbove,i.linesBelow),c=String(n).length,{gutter:a,marker:p,message:g}=i.color;let m=o.slice(d,n).map((u,$)=>{const h=d+1+$,k=l[h],D=` ${String(h)}`.slice(-c),U=!l[h+1],j=` ${D}${i.showGutter?" |":""}`;if(k){let O="";if(Array.isArray(k)){const H=u.replaceAll(/[^\t]/g," ").slice(0,Math.max(k[0]-1,0)),K=k[1]||1;O=[`
4
+ `,i.prefix+a(j.replaceAll(/\d/g," "))," ",H,p("^").repeat(K)].join(""),U&&i.message&&(O+=` ${g(i.message)}`)}return[i.prefix+p(fe),a(j),u.length>0?` ${u}`:"",O].join("")}return`${i.prefix} ${a(j)}${u.length>0?` ${u}`:""}`}).join(`
5
+ `);return i.message&&!s&&(m=`${i.prefix+" ".repeat(c+1)+i.message}
6
+ ${m}`),m},"codeFrame");var pe=Object.defineProperty,ve=N((r,e)=>pe(r,"name",{value:e,configurable:!0}),"x$1"),ge=Object.defineProperty,$e=ve((r,e)=>ge(r,"name",{value:e,configurable:!0}),"x"),he=Object.defineProperty,v=$e((r,e)=>he(r,"name",{value:e,configurable:!0}),"u");const b=v((r,...e)=>{process.env.DEBUG&&process.env.DEBUG==="true"&&console.debug(`error:parse-stacktrace: ${r}`,...e)},"debugLog"),y="<unknown>",be=/^.*?\s*at\s(?:(.+?\)(?:\s\[.+\])?|\(?.*?)\s?\((?:address\sat\s)?)?(?:async\s)?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,ye=/\((\S+)\),\s(<[^>]+>)?:(\d+)?:(\d+)?\)?/,xe=/(.*?):(\d+):(\d+)(?:\s<-\s.+:\d+:\d+)?/,we=/eval\sat\s(<anonymous>)\s\((.*)\)?:(\d+)?:(\d+)\),\s*<anonymous>?:(\d+)?:(\d+)/,Ne=/^\s*in\s(?:([^\\/]+(?:\s\[as\s\S+\])?)\s\(?)?\(at?\s?(.*?):(\d+)(?::(\d+))?\)?\s*$/,Se=/in\s(.*)\s\(at\s(.+)\)\sat/,ke=/^(?:.*@)?(.*):(\d+):(\d+)$/,Ee=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. \/=]+)(?::(\d+))?(?::(\d+))?\s*$/i,je=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Oe=/(\S[^\s[]*\[.*\]|.*?)@(.*):(\d+):(\d+)/,T=/\(error: (.*)\)/,Le=/at\s/,Ae=/^(\S+):(\d+):(\d+)$|^(\S+):(\d+)$/,Me=/\S*(?:Error: |AggregateError:)/,C=/^Anonymous function$/,Pe=/^\s*in\s.*/,_e=/^.*?\s*at\s.*/,Te=/^.*?\s*@.*|\[native code\]/,B=v((r,e)=>{const t=r.includes("safari-extension"),i=r.includes("safari-web-extension");return t||i?[r.includes("@")?r.split("@")[0]:y,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[r,e]},"extractSafariExtensionDetails"),W=v((r,e)=>{const t=xe.exec(e);t&&(r.file=t[1],r.line=+t[2],r.column=+t[3])},"parseMapped"),Ce=v(r=>{const e=Se.exec(r);if(e){b(`parse nested node error stack line: "${r}"`,`found: ${JSON.stringify(e)}`);const i=e[2].split(":");return{column:i[2]?+i[2]:void 0,file:i[0],line:i[1]?+i[1]:void 0,methodName:e[1]??y,raw:r,type:void 0}}const t=Ne.exec(r);if(t){b(`parse node error stack line: "${r}"`,`found: ${JSON.stringify(t)}`);const i={column:t[4]?+t[4]:void 0,file:t[2]?t[2].replace(Le,""):void 0,line:t[3]?+t[3]:void 0,methodName:t[1]??y,raw:r,type:r.startsWith("internal")?"internal":void 0};return W(i,`${t[2]}:${t[3]}:${t[4]}`),i}},"parseNode"),Be=v(r=>{const e=be.exec(r);if(e){b(`parse chrome error stack line: "${r}"`,`found: ${JSON.stringify(e)}`);const t=e[2]?.startsWith("native"),i=e[2]?.startsWith("eval")||e[1]?.startsWith("eval");let s,o;if(i){const c=ye.exec(r);if(c){const a=Ae.exec(c[1]);a?(e[2]=a[4]??a[1],e[3]=a[5]??a[2],e[4]=a[3]):c[2]&&(e[2]=c[1]),c[2]&&(s={column:c[4]?+c[4]:void 0,file:c[2],line:c[3]?+c[3]:void 0,methodName:"eval",raw:r,type:"eval"})}else{const a=we.exec(r);a&&(o={column:a[4]?+a[4]:void 0,file:a[2],line:a[3]?+a[3]:void 0},s={column:a[6]?+a[6]:void 0,file:a[1],line:a[5]?+a[5]:void 0,methodName:"eval",raw:a[0],type:"eval"})}}const[n,l]=B(e[1]?e[1].replace(C,"<anonymous>"):y,e[2]),d={column:e[4]?+e[4]:void 0,evalOrigin:s,file:l,line:e[3]?+e[3]:void 0,methodName:n,raw:r,type:i?"eval":t?"native":void 0};return o?(d.column=o.column,d.file=o.file,d.line=o.line):W(d,`${l}:${e[3]}:${e[4]}`),d}},"parseChromium"),We=v((r,e)=>{const t=Ee.exec(r);if(t){b(`parse gecko error stack line: "${r}"`,`found: ${JSON.stringify(t)}`);const i=t[3]?.includes(" > eval"),s=i&&t[3]&&je.exec(t[3]);let o;i&&s&&(t[3]=s[1],o={column:t[5]?+t[5]:void 0,file:t[3],line:t[4]?+t[4]:void 0,methodName:"eval",raw:r,type:"eval"},t[4]=s[2]);const[n,l]=B(t[1]?t[1].replace(C,"<anonymous>"):y,t[3]);let d;(e?.type==="safari"||!i&&e?.type==="firefox")&&e.column?d=e.column:!i&&t[5]&&(d=+t[5]);let c;return(e?.type==="safari"||!i&&e?.type==="firefox")&&e.line?c=e.line:t[4]&&(c=+t[4]),{column:d,evalOrigin:o,file:l,line:c,methodName:n,raw:r,type:i?"eval":l.includes("[native code]")?"native":void 0}}},"parseGecko"),Ge=v((r,e)=>{const t=Oe.exec(r);if(!(t&&t[2].includes(" > eval"))&&t)return b(`parse firefox error stack line: "${r}"`,`found: ${JSON.stringify(t)}`),{column:t[4]?+t[4]:e?.column??void 0,file:t[2],line:t[3]?+t[3]:e?.line??void 0,methodName:t[1]||y,raw:r,type:void 0}},"parseFirefox"),Re=v(r=>{const e=ke.exec(r);if(e)return b(`parse react android native error stack line: "${r}"`,`found: ${JSON.stringify(e)}`),{column:e[3]?+e[3]:void 0,file:e[1],line:e[2]?+e[2]:void 0,methodName:y,raw:r,type:void 0}},"parseReactAndroidNative"),G=v((r,{filter:e,frameLimit:t=50}={})=>{const i=r;let s=(typeof i.stacktrace=="string"?i.stacktrace:r.stack??"").split(`
7
+ `).map(o=>(T.test(o)?o.replace(T,"$1"):o).trim()).filter(o=>!Me.test(o)&&o!=="eval code");return e&&(s=s.filter(o=>e(o))),s=s.slice(0,t),s.reduce((o,n,l)=>{if(!n||n.length>1024)return o;let d;if(Pe.test(n))d=Ce(n);else if(_e.test(n))d=Be(n);else if(Te.test(n)){let c;if(l===0){const a=r,p=a.columnNumber,g=a.lineNumber,m=a.line,u=a.column;p||g?c={column:p,line:g,type:"firefox"}:(m||u)&&(c={column:u,line:m,type:"safari"})}d=Ge(n,c)??We(n,c)}else d=Re(n);return d?o.push(d):b(`parse error stack line: "${n}"`,"not parser found"),o},[])},"parseStacktrace");var Ve=Object.defineProperty,Fe=N((r,e)=>Ve(r,"name",{value:e,configurable:!0}),"p"),Ie=Object.defineProperty,R=Fe((r,e)=>Ie(r,"name",{value:e,configurable:!0}),"m");const Je=ee(import.meta.url),x=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,A=R(r=>{if(typeof x<"u"&&x.versions&&x.versions.node){const[e,t]=x.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return x.getBuiltinModule(r)}return Je(r)},"__cjs_getBuiltinModule"),{existsSync:qe,readFileSync:ze}=A("node:fs"),{relative:De}=A("node:path"),{cwd:Ue}=x,{fileURLToPath:He}=A("node:url");var Ke=Object.defineProperty,f=R((r,e)=>Ke(r,"name",{value:e,configurable:!0}),"o");const w=f((r,e,t)=>t===0?r:e===" "?r+" ".repeat(t):r+" ".repeat(e*t),"getPrefix"),Qe=f((r,e)=>{const t=r.replace("async file:","file:");return De(e,t.startsWith("file:")?He(t):t)},"getRelativePath"),Ye=f((r,e,t)=>{if(e)return t.title(r.message);const i=r.message?`: ${r.message}`:"";return t.title(r.name+i)},"getTitleText"),V=f((r,{color:e,hideErrorTitle:t,indentation:i,prefix:s},o)=>`${w(s,i,o)}${Ye(r,t,e)}
8
+ `,"getMessage"),F=f((r,{color:e,indentation:t,prefix:i},s)=>{if(r.hint===void 0)return;const o=w(i,t,s);let n="";if(Array.isArray(r.hint))for(const l of r.hint)n+=`${o+l}
9
+ `;else n+=o+r.hint;return e.hint(n)},"getHint"),M=f((r,{color:e,cwd:t,displayShortPath:i,indentation:s,prefix:o},n=0)=>{const l=i?Qe(r.file,t):r.file,{fileLine:d,method:c}=e;return`${w(o,s,n)}at ${r.methodName?`${c(r.methodName)} `:""}${d(l)}:${d(r.line?.toString()??"")}`},"getMainFrame"),I=f((r,{color:e,indentation:t,linesAbove:i,linesBelow:s,prefix:o,showGutter:n,showLineNumbers:l,tabWidth:d},c)=>{if(r.file===void 0)return;const a=r.file.replace("file://","");if(!qe(a))return;const p=ze(a,"utf8");return me(p,{start:{column:r.column,line:r.line}},{color:e,linesAbove:i,linesBelow:s,prefix:w(o,t,c),showGutter:n,showLineNumbers:l,tabWidth:d})},"getCode"),J=f((r,e,t)=>{if(r.errors.length===0)return;let i=`${w(e.prefix,e.indentation,t)}Errors:
10
+
11
+ `,s=!0;for(const o of r.errors)s?s=!1:i+=`
12
+
13
+ `,i+=z(o,{...e,framesMaxLimit:1,hideErrorCodeView:e.hideErrorErrorsCodeView},t+1);return`
14
+ ${i}`},"getErrors"),q=f((r,e,t)=>{let i=`${w(e.prefix,e.indentation,t)}Caused by:
15
+
16
+ `;const s=r.cause;i+=V(s,e,t);const o=G(s).shift(),n=F(s,e,t);if(n&&(i+=`${n}
17
+ `),o&&(i+=M(o,e,t),!e.hideErrorCauseCodeView)){const l=I(o,e,t);l!==void 0&&(i+=`
18
+ ${l}`)}if(s.cause)i+=`
19
+ ${q(s,e,t+1)}`;else if(s instanceof AggregateError){const l=J(s,e,t);l!==void 0&&(i+=`
20
+ ${l}`)}return`
21
+ ${i}`},"getCause"),Xe=f((r,e)=>(r.length>0?`
22
+ `:"")+r.map(t=>M(t,e)).join(`
23
+ `),"getStacktrace"),z=f((r,e,t)=>{const i={cwd:Ue(),displayShortPath:!1,filterStacktrace:void 0,framesMaxLimit:Number.POSITIVE_INFINITY,hideErrorCauseCodeView:!1,hideErrorCodeView:!1,hideErrorErrorsCodeView:!1,hideErrorTitle:!1,hideMessage:!1,indentation:4,linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,showLineNumbers:!0,tabWidth:4,...e,color:{fileLine:f(n=>n,"fileLine"),gutter:f(n=>n,"gutter"),hint:f(n=>n,"hint"),marker:f(n=>n,"marker"),message:f(n=>n,"message"),method:f(n=>n,"method"),title:f(n=>n,"title"),...e.color}},s=G(r,{filter:e.filterStacktrace,frameLimit:i.framesMaxLimit}),o=s.shift();return[e.hideMessage?void 0:V(r,i,t),F(r,i,t),o?M(o,i,t):void 0,o&&!i.hideErrorCodeView?I(o,i,t):void 0,r instanceof AggregateError?J(r,i,t):void 0,r.cause===void 0?void 0:q(r,i,t),s.length>0?Xe(s,i):void 0].filter(Boolean).join(`
24
+ `).replaceAll("\\","/")},"internalRenderError"),rr=f((r,e={})=>{if(e.framesMaxLimit!==void 0&&e.framesMaxLimit<=0)throw new RangeError("The 'framesMaxLimit' option must be a positive number");return z(r,e,0)},"renderError");export{rr as G,me as N,G as Q,fe as k};
@@ -1 +1 @@
1
- var u=Object.defineProperty;var n=(e,r)=>u(e,"name",{value:r,configurable:!0});import{G as h}from"../packem_shared/renderError-B_XyYPKJ-B65kP-Ou.js";import{e as p}from"../packem_shared/runtime-process-DKHFvYkv.js";var E=Object.defineProperty,a=n((e,r)=>E(e,"name",{value:r,configurable:!0}),"n");const P=a((e={})=>({description:"Enhanced error handling and reporting with beautiful code frames",name:"error-handler",onError:a((r,t)=>{const{logger:o,runtime:l}=t,{detailed:s=!1,exitOnError:d=!0,formatter:i,logErrors:f=!0,renderOptions:g={}}=e;if(f)if(i)o.error(i(r));else if(s){const c=l.getCwd(),m=h(r,{cwd:c,hideErrorCodeView:!1,hideErrorTitle:!1,hideMessage:!1,linesAbove:2,linesBelow:3,...g});o.error(m)}else o.error(r);d&&p(1)},"handleError"),version:"1.0.0"}),"errorHandlerPlugin");export{P as errorHandlerPlugin};
1
+ var u=Object.defineProperty;var n=(e,r)=>u(e,"name",{value:r,configurable:!0});import{G as h}from"../packem_shared/renderError-DxgI44AK-DFDWFoCr.js";import{e as p}from"../packem_shared/runtime-process-DKHFvYkv.js";var E=Object.defineProperty,a=n((e,r)=>E(e,"name",{value:r,configurable:!0}),"n");const P=a((e={})=>({description:"Enhanced error handling and reporting with beautiful code frames",name:"error-handler",onError:a((r,t)=>{const{logger:o,runtime:l}=t,{detailed:s=!1,exitOnError:d=!0,formatter:i,logErrors:f=!0,renderOptions:g={}}=e;if(f)if(i)o.error(i(r));else if(s){const c=l.getCwd(),m=h(r,{cwd:c,hideErrorCodeView:!1,hideErrorTitle:!1,hideMessage:!1,linesAbove:2,linesBelow:3,...g});o.error(m)}else o.error(r);d&&p(1)},"handleError"),version:"1.0.0"}),"errorHandlerPlugin");export{P as errorHandlerPlugin};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/cerebro",
3
- "version": "3.0.0-alpha.26",
3
+ "version": "3.0.0-alpha.27",
4
4
  "description": "A delightful toolkit for building cross-runtime CLIs for Node.js, Deno, and Bun.",
5
5
  "keywords": [
6
6
  "ansi",
@@ -121,7 +121,7 @@
121
121
  "@bomb.sh/tab": "0.0.15",
122
122
  "@visulima/boxen": "3.0.0-alpha.10",
123
123
  "@visulima/find-cache-dir": "3.0.0-alpha.9",
124
- "@visulima/pail": "4.0.0-alpha.16",
124
+ "@visulima/pail": "4.0.0-alpha.17",
125
125
  "github-slugger": "2.0.0"
126
126
  },
127
127
  "peerDependenciesMeta": {
@@ -1,24 +0,0 @@
1
- var Q=Object.defineProperty;var N=(r,e)=>Q(r,"name",{value:e,configurable:!0});import{createRequire as X}from"node:module";const Y=X(import.meta.url),S=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Z=N(r=>{if(typeof S<"u"&&S.versions&&S.versions.node){const[e,t]=S.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return S.getBuiltinModule(r)}return Y(r)},"__cjs_getBuiltinModule"),{createRequire:ee}=Z("node:module");var re=Object.defineProperty,te=N((r,e)=>re(r,"name",{value:e,configurable:!0}),"A$2"),ie=Object.defineProperty,A=te((r,e)=>ie(r,"name",{value:e,configurable:!0}),"$"),ne=Object.defineProperty,oe=A((r,e)=>ne(r,"name",{value:e,configurable:!0}),"r$1");const se=oe(r=>r.replaceAll(/\r\n|\r(?!\n)|\n/gu,`
2
- `),"normalizeLF"),ae=globalThis.process??Object.create(null),P={versions:{}},T=new Proxy(ae,{get(r,e){if(e in r)return r[e];if(e in P)return P[e]}});var le=Object.defineProperty,ce=A((r,e)=>le(r,"name",{value:e,configurable:!0}),"b");const de=ce((r,e,t,i)=>{const s={column:0,line:-1,...r.start},o={...s,...r.end},n=s.line,l=s.column,d=o.line,c=o.column;let a=Math.max(n-(t+1),0),p=Math.min(e.length,d+i);n===-1&&(a=0),d===-1&&(p=e.length);const g=d-n,m={};if(g)for(let u=0;u<=g;u++){const $=u+n;if(!l)m[$]=!0;else if(u===0){const h=e[$-1]?.length;m[$]=[l,(h??0)-l+1]}else if(u===g)m[$]=[0,c];else{const h=e[$-u]?.length;m[$]=[0,h]}}else l===c?m[n]=l?[l,0]:!0:m[n]=[l,(c??0)-(l??0)];return{end:p,markerLines:m,start:a}},"getMarkerLines");var ue=Object.defineProperty,E=A((r,e)=>ue(r,"name",{value:e,configurable:!0}),"t");const fe=T.platform==="win32"&&!T.env?.WT_SESSION?">":"❯",me=E((r,e,t)=>{const i={linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,tabWidth:4,...t,color:{gutter:E(u=>u,"gutter"),marker:E(u=>u,"marker"),message:E(u=>u,"message"),...t?.color}},s=typeof e.start.column=="number";let o=se(r).split(`
3
- `);typeof i.tabWidth=="number"&&(o=o.map(u=>u.replaceAll(" "," ".repeat(i.tabWidth))));const{end:n,markerLines:l,start:d}=de(e,o,i.linesAbove,i.linesBelow),c=String(n).length,{gutter:a,marker:p,message:g}=i.color;let m=o.slice(d,n).map((u,$)=>{const h=d+1+$,k=l[h],D=` ${String(h)}`.slice(-c),U=!l[h+1],j=` ${D}${i.showGutter?" |":""}`;if(k){let O="";if(Array.isArray(k)){const H=u.replaceAll(/[^\t]/g," ").slice(0,Math.max(k[0]-1,0)),K=k[1]||1;O=[`
4
- `,i.prefix+a(j.replaceAll(/\d/g," "))," ",H,p("^").repeat(K)].join(""),U&&i.message&&(O+=` ${g(i.message)}`)}return[i.prefix+p(fe),a(j),u.length>0?` ${u}`:"",O].join("")}return`${i.prefix} ${a(j)}${u.length>0?` ${u}`:""}`}).join(`
5
- `);return i.message&&!s&&(m=`${i.prefix+" ".repeat(c+1)+i.message}
6
- ${m}`),m},"codeFrame");var pe=Object.defineProperty,ve=N((r,e)=>pe(r,"name",{value:e,configurable:!0}),"x$1"),ge=Object.defineProperty,$e=ve((r,e)=>ge(r,"name",{value:e,configurable:!0}),"x"),he=Object.defineProperty,v=$e((r,e)=>he(r,"name",{value:e,configurable:!0}),"u");const b=v((r,...e)=>{process.env.DEBUG&&process.env.DEBUG==="true"&&console.debug(`error:parse-stacktrace: ${r}`,...e)},"debugLog"),y="<unknown>",be=/^.*?\s*at\s(?:(.+?\)(?:\s\[.+\])?|\(?.*?)\s?\((?:address\sat\s)?)?(?:async\s)?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,ye=/\((\S+)\),\s(<[^>]+>)?:(\d+)?:(\d+)?\)?/,xe=/(.*?):(\d+):(\d+)(?:\s<-\s.+:\d+:\d+)?/,we=/eval\sat\s(<anonymous>)\s\((.*)\)?:(\d+)?:(\d+)\),\s*<anonymous>?:(\d+)?:(\d+)/,Ne=/^\s*in\s(?:([^\\/]+(?:\s\[as\s\S+\])?)\s\(?)?\(at?\s?(.*?):(\d+)(?::(\d+))?\)?\s*$/,Se=/in\s(.*)\s\(at\s(.+)\)\sat/,ke=/^(?:.*@)?(.*):(\d+):(\d+)$/,Ee=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. \/=]+)(?::(\d+))?(?::(\d+))?\s*$/i,je=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Oe=/(\S[^\s[]*\[.*\]|.*?)@(.*):(\d+):(\d+)/,_=/\(error: (.*)\)/,Ae=/at\s/,Le=/^(\S+):(\d+):(\d+)$|^(\S+):(\d+)$/,Me=/^\s+|\s+$/g,Pe=/\S*(?:Error: |AggregateError:)/,C=/^Anonymous function$/,Te=/^\s*in\s.*/,_e=/^.*?\s*at\s.*/,Ce=/^.*?\s*@.*|\[native code\]/,B=v((r,e)=>{const t=r.includes("safari-extension"),i=r.includes("safari-web-extension");return t||i?[r.includes("@")?r.split("@")[0]:y,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[r,e]},"extractSafariExtensionDetails"),W=v((r,e)=>{const t=xe.exec(e);t&&(r.file=t[1],r.line=+t[2],r.column=+t[3])},"parseMapped"),Be=v(r=>{const e=Se.exec(r);if(e){b(`parse nested node error stack line: "${r}"`,`found: ${JSON.stringify(e)}`);const i=e[2].split(":");return{column:i[2]?+i[2]:void 0,file:i[0],line:i[1]?+i[1]:void 0,methodName:e[1]??y,raw:r,type:void 0}}const t=Ne.exec(r);if(t){b(`parse node error stack line: "${r}"`,`found: ${JSON.stringify(t)}`);const i={column:t[4]?+t[4]:void 0,file:t[2]?t[2].replace(Ae,""):void 0,line:t[3]?+t[3]:void 0,methodName:t[1]??y,raw:r,type:r.startsWith("internal")?"internal":void 0};return W(i,`${t[2]}:${t[3]}:${t[4]}`),i}},"parseNode"),We=v(r=>{const e=be.exec(r);if(e){b(`parse chrome error stack line: "${r}"`,`found: ${JSON.stringify(e)}`);const t=e[2]?.startsWith("native"),i=e[2]?.startsWith("eval")||e[1]?.startsWith("eval");let s,o;if(i){const c=ye.exec(r);if(c){const a=Le.exec(c[1]);a?(e[2]=a[4]??a[1],e[3]=a[5]??a[2],e[4]=a[3]):c[2]&&(e[2]=c[1]),c[2]&&(s={column:c[4]?+c[4]:void 0,file:c[2],line:c[3]?+c[3]:void 0,methodName:"eval",raw:r,type:"eval"})}else{const a=we.exec(r);a&&(o={column:a[4]?+a[4]:void 0,file:a[2],line:a[3]?+a[3]:void 0},s={column:a[6]?+a[6]:void 0,file:a[1],line:a[5]?+a[5]:void 0,methodName:"eval",raw:a[0],type:"eval"})}}const[n,l]=B(e[1]?e[1].replace(C,"<anonymous>"):y,e[2]),d={column:e[4]?+e[4]:void 0,evalOrigin:s,file:l,line:e[3]?+e[3]:void 0,methodName:n,raw:r,type:i?"eval":t?"native":void 0};return o?(d.column=o.column,d.file=o.file,d.line=o.line):W(d,`${l}:${e[3]}:${e[4]}`),d}},"parseChromium"),Ge=v((r,e)=>{const t=Ee.exec(r);if(t){b(`parse gecko error stack line: "${r}"`,`found: ${JSON.stringify(t)}`);const i=t[3]?.includes(" > eval"),s=i&&t[3]&&je.exec(t[3]);let o;i&&s&&(t[3]=s[1],o={column:t[5]?+t[5]:void 0,file:t[3],line:t[4]?+t[4]:void 0,methodName:"eval",raw:r,type:"eval"},t[4]=s[2]);const[n,l]=B(t[1]?t[1].replace(C,"<anonymous>"):y,t[3]);let d;(e?.type==="safari"||!i&&e?.type==="firefox")&&e.column?d=e.column:!i&&t[5]&&(d=+t[5]);let c;return(e?.type==="safari"||!i&&e?.type==="firefox")&&e.line?c=e.line:t[4]&&(c=+t[4]),{column:d,evalOrigin:o,file:l,line:c,methodName:n,raw:r,type:i?"eval":l.includes("[native code]")?"native":void 0}}},"parseGecko"),Re=v((r,e)=>{const t=Oe.exec(r);if(!(t&&t[2].includes(" > eval"))&&t)return b(`parse firefox error stack line: "${r}"`,`found: ${JSON.stringify(t)}`),{column:t[4]?+t[4]:e?.column??void 0,file:t[2],line:t[3]?+t[3]:e?.line??void 0,methodName:t[1]||y,raw:r,type:void 0}},"parseFirefox"),Fe=v(r=>{const e=ke.exec(r);if(e)return b(`parse react android native error stack line: "${r}"`,`found: ${JSON.stringify(e)}`),{column:e[3]?+e[3]:void 0,file:e[1],line:e[2]?+e[2]:void 0,methodName:y,raw:r,type:void 0}},"parseReactAndroidNative"),G=v((r,{filter:e,frameLimit:t=50}={})=>{const i=r;let s=(typeof i.stacktrace=="string"?i.stacktrace:r.stack??"").split(`
7
- `).map(o=>(_.test(o)?o.replace(_,"$1"):o).replaceAll(Me,"")).filter(o=>!Pe.test(o)&&o!=="eval code");return e&&(s=s.filter(o=>e(o))),s=s.slice(0,t),s.reduce((o,n,l)=>{if(!n||n.length>1024)return o;let d;if(Te.test(n))d=Be(n);else if(_e.test(n))d=We(n);else if(Ce.test(n)){let c;if(l===0){const a=r,p=a.columnNumber,g=a.lineNumber,m=a.line,u=a.column;p||g?c={column:p,line:g,type:"firefox"}:(m||u)&&(c={column:u,line:m,type:"safari"})}d=Re(n,c)??Ge(n,c)}else d=Fe(n);return d?o.push(d):b(`parse error stack line: "${n}"`,"not parser found"),o},[])},"parseStacktrace");var Ie=Object.defineProperty,Ve=N((r,e)=>Ie(r,"name",{value:e,configurable:!0}),"p"),Je=Object.defineProperty,R=Ve((r,e)=>Je(r,"name",{value:e,configurable:!0}),"m");const qe=ee(import.meta.url),x=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,L=R(r=>{if(typeof x<"u"&&x.versions&&x.versions.node){const[e,t]=x.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return x.getBuiltinModule(r)}return qe(r)},"__cjs_getBuiltinModule"),{existsSync:ze,readFileSync:De}=L("node:fs"),{relative:Ue}=L("node:path"),{cwd:He}=x,{fileURLToPath:Ke}=L("node:url");var Qe=Object.defineProperty,f=R((r,e)=>Qe(r,"name",{value:e,configurable:!0}),"o");const w=f((r,e,t)=>t===0?r:e===" "?r+" ".repeat(t):r+" ".repeat(e*t),"getPrefix"),Xe=f((r,e)=>{const t=r.replace("async file:","file:");return Ue(e,t.startsWith("file:")?Ke(t):t)},"getRelativePath"),Ye=f((r,e,t)=>{if(e)return t.title(r.message);const i=r.message?`: ${r.message}`:"";return t.title(r.name+i)},"getTitleText"),F=f((r,{color:e,hideErrorTitle:t,indentation:i,prefix:s},o)=>`${w(s,i,o)}${Ye(r,t,e)}
8
- `,"getMessage"),I=f((r,{color:e,indentation:t,prefix:i},s)=>{if(r.hint===void 0)return;const o=w(i,t,s);let n="";if(Array.isArray(r.hint))for(const l of r.hint)n+=`${o+l}
9
- `;else n+=o+r.hint;return e.hint(n)},"getHint"),M=f((r,{color:e,cwd:t,displayShortPath:i,indentation:s,prefix:o},n=0)=>{const l=i?Xe(r.file,t):r.file,{fileLine:d,method:c}=e;return`${w(o,s,n)}at ${r.methodName?`${c(r.methodName)} `:""}${d(l)}:${d(r.line?.toString()??"")}`},"getMainFrame"),V=f((r,{color:e,indentation:t,linesAbove:i,linesBelow:s,prefix:o,showGutter:n,showLineNumbers:l,tabWidth:d},c)=>{if(r.file===void 0)return;const a=r.file.replace("file://","");if(!ze(a))return;const p=De(a,"utf8");return me(p,{start:{column:r.column,line:r.line}},{color:e,linesAbove:i,linesBelow:s,prefix:w(o,t,c),showGutter:n,showLineNumbers:l,tabWidth:d})},"getCode"),J=f((r,e,t)=>{if(r.errors.length===0)return;let i=`${w(e.prefix,e.indentation,t)}Errors:
10
-
11
- `,s=!0;for(const o of r.errors)s?s=!1:i+=`
12
-
13
- `,i+=z(o,{...e,framesMaxLimit:1,hideErrorCodeView:e.hideErrorErrorsCodeView},t+1);return`
14
- ${i}`},"getErrors"),q=f((r,e,t)=>{let i=`${w(e.prefix,e.indentation,t)}Caused by:
15
-
16
- `;const s=r.cause;i+=F(s,e,t);const o=G(s).shift(),n=I(s,e,t);if(n&&(i+=`${n}
17
- `),o&&(i+=M(o,e,t),!e.hideErrorCauseCodeView)){const l=V(o,e,t);l!==void 0&&(i+=`
18
- ${l}`)}if(s.cause)i+=`
19
- ${q(s,e,t+1)}`;else if(s instanceof AggregateError){const l=J(s,e,t);l!==void 0&&(i+=`
20
- ${l}`)}return`
21
- ${i}`},"getCause"),Ze=f((r,e)=>(r.length>0?`
22
- `:"")+r.map(t=>M(t,e)).join(`
23
- `),"getStacktrace"),z=f((r,e,t)=>{const i={cwd:He(),displayShortPath:!1,filterStacktrace:void 0,framesMaxLimit:Number.POSITIVE_INFINITY,hideErrorCauseCodeView:!1,hideErrorCodeView:!1,hideErrorErrorsCodeView:!1,hideErrorTitle:!1,hideMessage:!1,indentation:4,linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,showLineNumbers:!0,tabWidth:4,...e,color:{fileLine:f(n=>n,"fileLine"),gutter:f(n=>n,"gutter"),hint:f(n=>n,"hint"),marker:f(n=>n,"marker"),message:f(n=>n,"message"),method:f(n=>n,"method"),title:f(n=>n,"title"),...e.color}},s=G(r,{filter:e.filterStacktrace,frameLimit:i.framesMaxLimit}),o=s.shift();return[e.hideMessage?void 0:F(r,i,t),I(r,i,t),o?M(o,i,t):void 0,o&&!i.hideErrorCodeView?V(o,i,t):void 0,r instanceof AggregateError?J(r,i,t):void 0,r.cause===void 0?void 0:q(r,i,t),s.length>0?Ze(s,i):void 0].filter(Boolean).join(`
24
- `).replaceAll("\\","/")},"internalRenderError"),tr=f((r,e={})=>{if(e.framesMaxLimit!==void 0&&e.framesMaxLimit<=0)throw new RangeError("The 'framesMaxLimit' option must be a positive number");return z(r,e,0)},"renderError");export{tr as G,me as N,G as Q,fe as k};