@visulima/error-handler 1.0.5 → 1.0.6

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,22 @@
1
+ ## @visulima/error-handler [1.0.6](https://github.com/visulima/visulima/compare/@visulima/error-handler@1.0.5...@visulima/error-handler@1.0.6) (2025-10-15)
2
+
3
+ ### Bug Fixes
4
+
5
+ * update @visulima/packem dependency and modify packem configuration ([fe6c29b](https://github.com/visulima/visulima/commit/fe6c29bc3ac7e9ef7d484d3998b2e1adb75164ea))
6
+ * update @visulima/packem to 2.0.0-alpha.30 across multiple packages for improved compatibility ([27b346e](https://github.com/visulima/visulima/commit/27b346eaa1c0fb0e420d9a9824482028307f4249))
7
+ * update package dependencies and enhance ESLint configuration for improved performance ([1a20ead](https://github.com/visulima/visulima/commit/1a20eadaf0a563ed5e6f621eb7649b5629f44164))
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * restore lint:types command in package.json and remove deprecated @babel/core dependency ([7bffd47](https://github.com/visulima/visulima/commit/7bffd473b40705b7f27b863521fbd21351e464b5))
12
+ * update package dependencies across multiple packages for improved compatibility and performance ([9567591](https://github.com/visulima/visulima/commit/9567591c415da3002f3a4fe08f8caf7ce01ca5f7))
13
+
14
+
15
+ ### Dependencies
16
+
17
+ * **@visulima/boxen:** upgraded to 2.0.4
18
+ * **@visulima/error:** upgraded to 5.0.0
19
+
1
20
  ## @visulima/error-handler [1.0.5](https://github.com/visulima/visulima/compare/@visulima/error-handler@1.0.4...@visulima/error-handler@1.0.5) (2025-09-23)
2
21
 
3
22
 
@@ -13,4 +13,5 @@ type HtmlErrorHandlerOptions = {
13
13
  };
14
14
  declare const htmlErrorHandler: (options?: HtmlErrorHandlerOptions) => ErrorHandler;
15
15
 
16
- export { type HtmlErrorHandlerOptions, htmlErrorHandler };
16
+ export { htmlErrorHandler };
17
+ export type { HtmlErrorHandlerOptions };
@@ -1,4 +1,4 @@
1
- var l=Object.defineProperty;var d=(e,r)=>l(e,"name",{value:r,configurable:!0});import{getReasonPhrase as c}from"http-status-codes";import{a as m}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";var g=Object.defineProperty,s=d((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const x=s((e={})=>async(r,n,t)=>{m(t,r),t.setHeader("content-type","text/html; charset=utf-8");const o=c(t.statusCode)||"Error",a=e.cspNonce?` nonce="${e.cspNonce}"`:"";if(e.errorPage){const i=typeof e.errorPage=="function"?await e.errorPage({error:r,reasonPhrase:o,request:n,response:t,statusCode:t.statusCode}):e.errorPage;if(i){t.end(i);return}}t.end(`<!DOCTYPE html>
1
+ var s=Object.defineProperty;var n=(e,r)=>s(e,"name",{value:r,configurable:!0});import{createRequire as c}from"node:module";import{a as g}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";const l=c(import.meta.url),f=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{getReasonPhrase:m}=l("http-status-codes");var p=Object.defineProperty,b=n((e,r)=>p(e,"name",{value:r,configurable:!0}),"n");const u=b((e={})=>async(r,d,t)=>{g(t,r),t.setHeader("content-type","text/html; charset=utf-8");const o=m(t.statusCode)||"Error",a=e.cspNonce?` nonce="${e.cspNonce}"`:"";if(e.errorPage){const i=typeof e.errorPage=="function"?await e.errorPage({error:r,reasonPhrase:o,request:d,response:t,statusCode:t.statusCode}):e.errorPage;if(i){t.end(i);return}}t.end(`<!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
@@ -32,4 +32,4 @@ var l=Object.defineProperty;var d=(e,r)=>l(e,"name",{value:r,configurable:!0});i
32
32
  </div>
33
33
  </div>
34
34
  </body>
35
- </html>`)},"htmlErrorHandler");export{x as htmlErrorHandler};
35
+ </html>`)},"htmlErrorHandler");export{u as htmlErrorHandler};
@@ -14,4 +14,5 @@ type JsonErrorHandlerOptions = {
14
14
  };
15
15
  declare const jsonErrorHandler: (options?: JsonErrorHandlerOptions) => ErrorHandler;
16
16
 
17
- export { type JsonErrorBody, type JsonErrorFormatter, type JsonErrorHandlerOptions, jsonErrorHandler };
17
+ export { jsonErrorHandler };
18
+ export type { JsonErrorBody, JsonErrorFormatter, JsonErrorHandlerOptions };
@@ -1 +1 @@
1
- var p=Object.defineProperty;var a=(e,r)=>p(e,"name",{value:r,configurable:!0});import{getReasonPhrase as u}from"http-status-codes";import{a as f}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as n}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as i}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,l=a((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const h=l((e={})=>async(r,m,s)=>{f(s,r),i(s,r);const{statusCode:o}=s,t=u(o)||"An error occurred";if(e.formatter){const c=await e.formatter({error:r,reasonPhrase:t,request:m,response:s,statusCode:o});n(s,c);return}const{expose:d}=r;n(s,{message:r.message||t,error:t,statusCode:o,...d?{stack:r.stack}:{}})},"jsonErrorHandler");export{h as jsonErrorHandler};
1
+ var d=Object.defineProperty;var n=(s,e)=>d(s,"name",{value:e,configurable:!0});import{createRequire as p}from"node:module";import{a as l}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";import{s as a}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as _}from"../packem_shared/set-error-headers-DT9rVGtW.js";const m=p(import.meta.url),v=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{getReasonPhrase:f}=m("http-status-codes");var g=Object.defineProperty,j=n((s,e)=>g(s,"name",{value:e,configurable:!0}),"n");const P=j((s={})=>async(e,i,r)=>{l(r,e),_(r,e);const{statusCode:o}=r,t=f(o)||"An error occurred";if(s.formatter){const u=await s.formatter({error:e,reasonPhrase:t,request:i,response:r,statusCode:o});a(r,u);return}const{expose:c}=e;a(r,{message:e.message||t,error:t,statusCode:o,...c?{stack:e.stack}:{}})},"jsonErrorHandler");export{P as jsonErrorHandler};
@@ -1 +1 @@
1
- var u=Object.defineProperty;var i=(e,s)=>u(e,"name",{value:s,configurable:!0});import{isHttpError as f}from"http-errors";import{getReasonPhrase as n}from"http-status-codes";import a from"ts-japi";import{a as l}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as t}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as c}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,C=i((e,s)=>g(e,"name",{value:s,configurable:!0}),"n");const d="An error occurred",H=C((e,s,r)=>{if(l(r,e),c(r,e),e instanceof a.JapiError||a.JapiError.isLikeJapiError(e)){const o=new a.ErrorSerializer;t(r,o.serialize(e))}else if(f(e)){const o="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:r.statusCode,m="title"in e&&typeof e.title=="string"?e.title:void 0,p="message"in e&&typeof e.message=="string"?e.message:"";t(r,{errors:[{code:o??r.statusCode,title:m||n(o)||d,detail:p}]})}else{const{message:o}=e;t(r,{errors:[{code:"500",title:n(r.statusCode)||d,detail:o}]})}},"jsonapiErrorHandler");export{H as default};
1
+ var l=Object.defineProperty;var n=(e,o)=>l(e,"name",{value:o,configurable:!0});import{createRequire as f}from"node:module";import{a as g}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";import{s as i}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as _}from"../packem_shared/set-error-headers-DT9rVGtW.js";const a=f(import.meta.url),C=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{isHttpError:m}=a("http-errors"),{getReasonPhrase:u}=a("http-status-codes"),t=a("ts-japi");var b=Object.defineProperty,j=n((e,o)=>b(e,"name",{value:o,configurable:!0}),"n");const c="An error occurred",R=j((e,o,s)=>{if(g(s,e),_(s,e),e instanceof t.JapiError||t.JapiError.isLikeJapiError(e)){const r=new t.ErrorSerializer;i(s,r.serialize(e))}else if(m(e)){const r="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:s.statusCode,d="title"in e&&typeof e.title=="string"?e.title:void 0,p="message"in e&&typeof e.message=="string"?e.message:"";i(s,{errors:[{code:r??s.statusCode,title:d||u(r)||c,detail:p}]})}else{const{message:r}=e;i(s,{errors:[{code:"500",title:u(s.statusCode)||c,detail:r}]})}},"jsonapiErrorHandler");export{R as default};
@@ -15,4 +15,5 @@ type JsonpErrorHandlerOptions = {
15
15
  };
16
16
  declare const jsonpErrorHandler: (options?: JsonpErrorHandlerOptions) => ErrorHandler;
17
17
 
18
- export { type JsonpErrorBody, type JsonpErrorFormatter, type JsonpErrorHandlerOptions, jsonpErrorHandler };
18
+ export { jsonpErrorHandler };
19
+ export type { JsonpErrorBody, JsonpErrorFormatter, JsonpErrorHandlerOptions };
@@ -1 +1 @@
1
- var i=Object.defineProperty;var n=(e,a)=>i(e,"name",{value:a,configurable:!0});import{getReasonPhrase as f}from"http-status-codes";import{a as u}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as h}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,b=n((e,a)=>g(e,"name",{value:a,configurable:!0}),"c");const k="callback",C=b((e={})=>async(a,c,t)=>{u(t,a),h(t,a);const{statusCode:r}=t,s=f(r)||"An error occurred",l=new URL(c.url??"http://localhost","http://localhost"),p=e.callbackParamName||k,m=l.searchParams.get(p)||"callback";let o;if(e.formatter)o=await e.formatter({error:a,reasonPhrase:s,request:c,response:t,statusCode:r});else{const{expose:d}=a;o={message:a.message||s,error:s,statusCode:r,...d?{stack:a.stack}:{}}}t.setHeader("content-type","application/javascript; charset=utf-8"),t.end(`${m}(${JSON.stringify(o)});`)},"jsonpErrorHandler");export{C as jsonpErrorHandler};
1
+ var d=Object.defineProperty;var c=(s,e)=>d(s,"name",{value:e,configurable:!0});import{createRequire as m}from"node:module";import{a as h}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";import{a as _}from"../packem_shared/set-error-headers-DT9rVGtW.js";const f=m(import.meta.url),k=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{getReasonPhrase:g}=f("http-status-codes");var b=Object.defineProperty,j=c((s,e)=>b(s,"name",{value:e,configurable:!0}),"c");const v="callback",C=j((s={})=>async(e,n,t)=>{h(t,e),_(t,e);const{statusCode:r}=t,o=g(r)||"An error occurred",i=new URL(n.url??"http://localhost","http://localhost"),l=s.callbackParamName||v,p=i.searchParams.get(l)||"callback";let a;if(s.formatter)a=await s.formatter({error:e,reasonPhrase:o,request:n,response:t,statusCode:r});else{const{expose:u}=e;a={message:e.message||o,error:o,statusCode:r,...u?{stack:e.stack}:{}}}t.setHeader("content-type","application/javascript; charset=utf-8"),t.end(`${p}(${JSON.stringify(a)});`)},"jsonpErrorHandler");export{C as jsonpErrorHandler};
@@ -1 +1 @@
1
- var c=Object.defineProperty;var i=(e,o)=>c(e,"name",{value:o,configurable:!0});import{isHttpError as y}from"http-errors";import{getReasonPhrase as p}from"http-status-codes";import{a as b}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as n}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as C}from"../packem_shared/set-error-headers-DT9rVGtW.js";var v=Object.defineProperty,g=i((e,o)=>v(e,"name",{value:o,configurable:!0}),"i");const d="about:blank",u="An error occurred",R=g((e,o,t)=>{const{message:a,stack:r}=e;if(y(e)){const l="expose"in e?e.expose:void 0,s="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:t.statusCode,m="title"in e&&typeof e.title=="string"?e.title:void 0,f="type"in e&&typeof e.type=="string"?e.type:void 0;t.statusCode=s,C(t,e),n(t,{type:f||d,title:m||p(s)||u,status:s,detail:a,...l?{trace:r}:{}},"application/problem+json")}else b(t,e),n(t,{type:d,title:p(t.statusCode)||u,status:t.statusCode,detail:a,...e.expose?{trace:r}:{}},"application/problem+json")},"problemErrorHandler");export{R as default};
1
+ var y=Object.defineProperty;var i=(e,o)=>y(e,"name",{value:o,configurable:!0});import{createRequire as b}from"node:module";import{a as g}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";import{s as p}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as v}from"../packem_shared/set-error-headers-DT9rVGtW.js";const c=b(import.meta.url),R=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{isHttpError:_}=c("http-errors"),{getReasonPhrase:n}=c("http-status-codes");var j=Object.defineProperty,C=i((e,o)=>j(e,"name",{value:o,configurable:!0}),"i");const u="about:blank",d="An error occurred",k=C((e,o,t)=>{const{message:r,stack:a}=e;if(_(e)){const l="expose"in e?e.expose:void 0,s="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:t.statusCode,f="title"in e&&typeof e.title=="string"?e.title:void 0,m="type"in e&&typeof e.type=="string"?e.type:void 0;t.statusCode=s,v(t,e),p(t,{type:m||u,title:f||n(s)||d,status:s,detail:r,...l?{trace:a}:{}},"application/problem+json")}else g(t,e),p(t,{type:u,title:n(t.statusCode)||d,status:t.statusCode,detail:r,...e.expose?{trace:a}:{}},"application/problem+json")},"problemErrorHandler");export{k as default};
@@ -13,4 +13,5 @@ type TextErrorHandlerOptions = {
13
13
  };
14
14
  declare const textErrorHandler: (options?: TextErrorHandlerOptions) => ErrorHandler;
15
15
 
16
- export { type TextErrorFormatter, type TextErrorHandlerOptions, textErrorHandler };
16
+ export { textErrorHandler };
17
+ export type { TextErrorFormatter, TextErrorHandlerOptions };
@@ -1,3 +1,3 @@
1
- var f=Object.defineProperty;var d=(r,e)=>f(r,"name",{value:e,configurable:!0});import{getReasonPhrase as i}from"http-status-codes";import{a as u}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as l}from"../packem_shared/set-error-headers-DT9rVGtW.js";var x=Object.defineProperty,v=d((r,e)=>x(r,"name",{value:e,configurable:!0}),"m");const E=v((r={})=>async(e,c,t)=>{u(t,e),l(t,e);const{statusCode:o}=t,a=i(o)||"Error";if(t.setHeader("content-type","text/plain; charset=utf-8"),r.formatter){const p=await r.formatter({error:e,reasonPhrase:a,request:c,response:t,statusCode:o});t.end(p);return}const s=e.message||a,{expose:m}=e,n=m?e.stack:void 0;t.end(n?`${s}
1
+ var p=Object.defineProperty;var i=(s,e)=>p(s,"name",{value:e,configurable:!0});import{createRequire as f}from"node:module";import{a as _}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";import{a as g}from"../packem_shared/set-error-headers-DT9rVGtW.js";const l=f(import.meta.url),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{getReasonPhrase:m}=l("http-status-codes");var h=Object.defineProperty,v=i((s,e)=>h(s,"name",{value:e,configurable:!0}),"m");const P=v((s={})=>async(e,c,t)=>{_(t,e),g(t,e);const{statusCode:r}=t,o=m(r)||"Error";if(t.setHeader("content-type","text/plain; charset=utf-8"),s.formatter){const u=await s.formatter({error:e,reasonPhrase:o,request:c,response:t,statusCode:r});t.end(u);return}const n=e.message||o,{expose:d}=e,a=d?e.stack:void 0;t.end(a?`${n}
2
2
 
3
- ${n}`:s)},"textErrorHandler");export{E as textErrorHandler};
3
+ ${a}`:n)},"textErrorHandler");export{P as textErrorHandler};
@@ -26,4 +26,5 @@ type XmlErrorHandlerOptions = {
26
26
  };
27
27
  declare const xmlErrorHandler: (options?: XmlErrorHandlerOptions) => ErrorHandler;
28
28
 
29
- export { type ToXmlOptions, type XmlErrorBody, type XmlErrorFormatter, type XmlErrorHandlerOptions, xmlErrorHandler };
29
+ export { xmlErrorHandler };
30
+ export type { ToXmlOptions, XmlErrorBody, XmlErrorFormatter, XmlErrorHandlerOptions };
@@ -1 +1 @@
1
- var c=Object.defineProperty;var l=(t,e)=>c(t,"name",{value:e,configurable:!0});import{getReasonPhrase as p}from"http-status-codes";import{toXML as u}from"jstoxml";import{a as d}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as X}from"../packem_shared/set-error-headers-DT9rVGtW.js";var f=Object.defineProperty,b=l((t,e)=>f(t,"name",{value:e,configurable:!0}),"l");const h=b((t={})=>async(e,n,o)=>{d(o,e),X(o,e);const{statusCode:r}=o,a=p(r)||"An error occurred";let s;if(t.formatter)s=await t.formatter({error:e,reasonPhrase:a,request:n,response:o,statusCode:r});else{const{expose:i}=e;s={error:{statusCode:r,name:a,message:e.message||a,...i?{stack:e.stack}:{}}}}const m=u(s,{header:t.toXml?.header??t.xmlHeader??!0,indent:t.toXml?.indent??" ",...t.toXml?.attributeReplacements?{attributeReplacements:t.toXml.attributeReplacements}:{},...t.toXml?.attributeFilter?{attributeFilter:t.toXml.attributeFilter}:{},...t.toXml?.attributeExplicitTrue===void 0?{}:{attributeExplicitTrue:t.toXml.attributeExplicitTrue},...t.toXml?.contentMap?{contentMap:t.toXml.contentMap}:{},...t.toXml?.contentReplacements?{contentReplacements:t.toXml.contentReplacements}:{},...t.toXml?.selfCloseTags===void 0?{}:{selfCloseTags:t.toXml.selfCloseTags}});o.setHeader("content-type","application/xml; charset=utf-8"),o.end(m)},"xmlErrorHandler");export{h as xmlErrorHandler};
1
+ var m=Object.defineProperty;var n=(t,e)=>m(t,"name",{value:e,configurable:!0});import{createRequire as u}from"node:module";import{toXML as f}from"jstoxml";import{a as b}from"../packem_shared/add-status-code-to-response-Dq1lVRcO.js";import{a as X}from"../packem_shared/set-error-headers-DT9rVGtW.js";const p=u(import.meta.url),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{getReasonPhrase:d}=p("http-status-codes");var g=Object.defineProperty,_=n((t,e)=>g(t,"name",{value:e,configurable:!0}),"l");const j=_((t={})=>async(e,l,o)=>{b(o,e),X(o,e);const{statusCode:r}=o,s=d(r)||"An error occurred";let a;if(t.formatter)a=await t.formatter({error:e,reasonPhrase:s,request:l,response:o,statusCode:r});else{const{expose:c}=e;a={error:{statusCode:r,name:s,message:e.message||s,...c?{stack:e.stack}:{}}}}const i=f(a,{header:t.toXml?.header??t.xmlHeader??!0,indent:t.toXml?.indent??" ",...t.toXml?.attributeReplacements?{attributeReplacements:t.toXml.attributeReplacements}:{},...t.toXml?.attributeFilter?{attributeFilter:t.toXml.attributeFilter}:{},...t.toXml?.attributeExplicitTrue===void 0?{}:{attributeExplicitTrue:t.toXml.attributeExplicitTrue},...t.toXml?.contentMap?{contentMap:t.toXml.contentMap}:{},...t.toXml?.contentReplacements?{contentReplacements:t.toXml.contentReplacements}:{},...t.toXml?.selfCloseTags===void 0?{}:{selfCloseTags:t.toXml.selfCloseTags}});o.setHeader("content-type","application/xml; charset=utf-8"),o.end(i)},"xmlErrorHandler");export{j as xmlErrorHandler};
@@ -27,4 +27,5 @@ declare const terminalOutput: (error: Error, options?: CliHandlerOptions) => Pro
27
27
 
28
28
  declare const ansiHandler: (error: Error, options?: BaseCliOptions) => Promise<string>;
29
29
 
30
- export { type BaseCliOptions, type CliHandlerOptions, ansiHandler, terminalOutput as cliHandler };
30
+ export { ansiHandler, terminalOutput as cliHandler };
31
+ export type { BaseCliOptions, CliHandlerOptions };
@@ -1,3 +1,3 @@
1
- var o=Object.defineProperty;var a=(r,e)=>o(r,"name",{value:e,configurable:!0});import{buildOutput as i}from"../packem_shared/cliHandler-CFffArNH.js";import{terminalOutput as f}from"../packem_shared/cliHandler-CFffArNH.js";var u=Object.defineProperty,l=a((r,e)=>u(r,"name",{value:e,configurable:!0}),"o");const d=l(async(r,e={})=>{const{errorAnsi:t,solutionBox:n}=await i(r,e);return n===void 0?t:`${t}
1
+ var o=Object.defineProperty;var a=(r,e)=>o(r,"name",{value:e,configurable:!0});import{buildOutput as i}from"../packem_shared/cliHandler-CB1c5j_A.js";import{terminalOutput as f}from"../packem_shared/cliHandler-CB1c5j_A.js";var u=Object.defineProperty,l=a((r,e)=>u(r,"name",{value:e,configurable:!0}),"o");const d=l(async(r,e={})=>{const{errorAnsi:t,solutionBox:n}=await i(r,e);return n===void 0?t:`${t}
2
2
 
3
3
  ${n}`},"ansiHandler");export{d as ansiHandler,f as cliHandler};
@@ -0,0 +1 @@
1
+ var n=Object.defineProperty;var r=(e,s)=>n(e,"name",{value:s,configurable:!0});import{createRequire as a}from"node:module";const u=a(import.meta.url),l=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const{StatusCodes:i}=u("http-status-codes");var d=Object.defineProperty,c=r((e,s)=>d(e,"name",{value:s,configurable:!0}),"s");const f=c((e,s)=>{const o=s,t=Number(o.statusCode??o.status);if(Number.isInteger(t)&&t>=400&&t<=599){e.statusCode=t;return}e.statusCode<400&&(e.statusCode=i.INTERNAL_SERVER_ERROR)},"addStatusCodeToResponse");export{f as a};
@@ -0,0 +1 @@
1
+ var j=Object.defineProperty;var c=(e,r)=>j(e,"name",{value:r,configurable:!0});import{createRequire as y}from"node:module";import{parseStacktrace as b}from"@visulima/error/stacktrace";import{boxen as v}from"@visulima/boxen";import{renderError as x}from"@visulima/error/error";import{ruleBasedFinder as O,errorHintFinder as B}from"@visulima/error/solution";const h=y(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=c(e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[r,t]=u.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return u.getBuiltinModule(e)}return h(e)},"__cjs_getBuiltinModule"),{readFile:w}=p("node:fs/promises"),{fileURLToPath:_}=p("node:url");var F=Object.defineProperty,T=c((e,r)=>F(e,"name",{value:r,configurable:!0}),"t");const A=["cjs","mjs"],q=["mdoc"],P=T(e=>{const r=(e.split("?")[0]??e).split(".").pop()?.toLowerCase();if(!r||A.includes(r))return"javascript";if(q.includes(r))return"markdown";switch(r){case"js":return"javascript";case"json":return"json";case"json5":return"json5";case"jsonc":return"jsonc";case"jsx":return"jsx";case"sql":return"sql";case"ts":return"typescript";case"tsx":return"tsx";case"xml":return"xml";case"md":return"markdown";case"mdx":return"mdx";case"svelte":return"svelte";case"vue":return"vue";case"html":return"html";case"css":return"css";case"scss":return"scss";case"less":return"less";case"sass":return"sass";case"stylus":return"stylus";case"styl":return"styl";default:return"javascript"}},"findLanguageBasedOnExtension");var k=Object.defineProperty,L=c((e,r)=>k(e,"name",{value:r,configurable:!0}),"s");const l=new Map,S=L(async e=>{if(/^(?:http|https|file|data):/.test(e)){if(l.has(e))return l.get(e);if(e.startsWith("file:"))try{const r=_(e),t=await w(r,"utf8");return l.set(e,t),t}catch{return}try{const r=await fetch(e);if(!r.ok)return;const t=await r.text();return l.set(e,t),t}catch{return}}},"getFileSource");var M=Object.defineProperty,f=c((e,r)=>M(e,"name",{value:r,configurable:!0}),"d");const R=f(e=>e.replace(/^\s*#+\s*/,"").trim(),"sanitizeTitle"),$=f(async(e,r,t=!1)=>{const a=[...r,O,B],s=b(e,{frameLimit:1})[0]??{};for await(const o of a.sort((i,n)=>i.priority-n.priority)){const{handle:i}=o;if(typeof i!="function")continue;const n=await i(e,{file:s.file??"",language:P(s.file??""),line:s.line??0,snippet:s.file?await S(s.file):""});if(n)return n}},"runSolutionFinders"),C=f(async(e,r)=>{const{solutionFinders:t=[],solutionTitle:a,color:s,debug:o=!1,...i}=r,n=x(e,{...i,...s?.codeFrame}),d=await $(e,t,o);if(!d)return{errorAnsi:n,solutionBox:void 0};const m=R(d.header??a??"A possible solution to this error"),g=v(d.body,{borderStyle:"round",padding:{top:1,right:2,bottom:1,left:2},margin:{top:0,right:0,bottom:0,left:0},headerText:`💡 ${m}`,headerAlignment:"left",textAlignment:"left",...s?.boxen});return{errorAnsi:n,solutionBox:g}},"buildOutput"),D=f(async(e,r={})=>{const{logger:t=console,...a}=r,{errorAnsi:s,solutionBox:o}=await C(e,a);t.error(s),o&&(t.log(""),t.log(o))},"terminalOutput");export{C as buildOutput,D as terminalOutput};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/error-handler",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Error handlers for use in development and production environments.",
5
5
  "keywords": [
6
6
  "visulima",
@@ -134,8 +134,8 @@
134
134
  ],
135
135
  "dependencies": {
136
136
  "@tinyhttp/accepts": "^2.2.4",
137
- "@visulima/boxen": "2.0.3",
138
- "@visulima/error": "4.6.2",
137
+ "@visulima/boxen": "2.0.4",
138
+ "@visulima/error": "5.0.0",
139
139
  "http-errors": "^2.0.0",
140
140
  "http-status-codes": "^2.3.0",
141
141
  "jstoxml": "^7.0.1",
@@ -1 +0,0 @@
1
- var r=Object.defineProperty;var o=(e,s)=>r(e,"name",{value:s,configurable:!0});import{StatusCodes as u}from"http-status-codes";var d=Object.defineProperty,n=o((e,s)=>d(e,"name",{value:s,configurable:!0}),"s");const i=n((e,s)=>{const a=s,t=Number(a.statusCode??a.status);if(Number.isInteger(t)&&t>=400&&t<=599){e.statusCode=t;return}e.statusCode<400&&(e.statusCode=u.INTERNAL_SERVER_ERROR)},"addStatusCodeToResponse");export{i as a};
@@ -1 +0,0 @@
1
- var d=Object.defineProperty;var u=(e,r)=>d(e,"name",{value:r,configurable:!0});import{parseStacktrace as g}from"@visulima/error/stacktrace";import{boxen as y}from"@visulima/boxen";import{renderError as h}from"@visulima/error/error";import{readFile as x}from"node:fs/promises";import{fileURLToPath as j}from"node:url";import{ruleBasedFinder as v,errorHintFinder as b}from"@visulima/error/solution";var w=Object.defineProperty,O=u((e,r)=>w(e,"name",{value:r,configurable:!0}),"t");const F=["cjs","mjs"],A=["mdoc"],B=O(e=>{const r=(e.split("?")[0]??e).split(".").pop()?.toLowerCase();if(!r||F.includes(r))return"javascript";if(A.includes(r))return"markdown";switch(r){case"js":return"javascript";case"json":return"json";case"json5":return"json5";case"jsonc":return"jsonc";case"jsx":return"jsx";case"sql":return"sql";case"ts":return"typescript";case"tsx":return"tsx";case"xml":return"xml";case"md":return"markdown";case"mdx":return"mdx";case"svelte":return"svelte";case"vue":return"vue";case"html":return"html";case"css":return"css";case"scss":return"scss";case"less":return"less";case"sass":return"sass";case"stylus":return"stylus";case"styl":return"styl";default:return"javascript"}},"findLanguageBasedOnExtension");var k=Object.defineProperty,L=u((e,r)=>k(e,"name",{value:r,configurable:!0}),"s");const c=new Map,P=L(async e=>{if(/^(?:http|https|file|data):/.test(e)){if(c.has(e))return c.get(e);if(e.startsWith("file:"))try{const r=j(e),t=await x(r,"utf8");return c.set(e,t),t}catch{return}try{const r=await fetch(e);if(!r.ok)return;const t=await r.text();return c.set(e,t),t}catch{return}}},"getFileSource");var S=Object.defineProperty,l=u((e,r)=>S(e,"name",{value:r,configurable:!0}),"d");const T=l(e=>e.replace(/^\s*#+\s*/,"").trim(),"sanitizeTitle"),$=l(async(e,r,t=!1)=>{const i=[...r,v,b],s=g(e,{frameLimit:1})[0]??{};for await(const o of i.sort((a,n)=>a.priority-n.priority)){const{handle:a}=o;if(typeof a!="function")continue;const n=await a(e,{file:s.file??"",language:B(s.file??""),line:s.line??0,snippet:s.file?await P(s.file):""});if(n)return n}},"runSolutionFinders"),q=l(async(e,r)=>{const{solutionFinders:t=[],solutionTitle:i,color:s,debug:o=!1,...a}=r,n=h(e,{...a,...s?.codeFrame}),f=await $(e,t,o);if(!f)return{errorAnsi:n,solutionBox:void 0};const m=T(f.header??i??"A possible solution to this error"),p=y(f.body,{borderStyle:"round",padding:{top:1,right:2,bottom:1,left:2},margin:{top:0,right:0,bottom:0,left:0},headerText:`💡 ${m}`,headerAlignment:"left",textAlignment:"left",...s?.boxen});return{errorAnsi:n,solutionBox:p}},"buildOutput"),W=l(async(e,r={})=>{const{logger:t=console,...i}=r,{errorAnsi:s,solutionBox:o}=await q(e,i);t.error(s),o&&(t.log(""),t.log(o))},"terminalOutput");export{q as buildOutput,W as terminalOutput};