@visulima/ono
Version:
Ono is an error-parsing library that pretty prints JavaScript errors on a web page or the terminal.
2 lines (1 loc) • 4.05 kB
JavaScript
var D=Object.defineProperty;var m=(t,e)=>D(t,"name",{value:e,configurable:!0});import p from"isomorphic-dompurify";var v=Object.defineProperty,i=m((t,e)=>v(t,"name",{value:e,configurable:!0}),"e");const w=["http://","https://","/","./","../"],h="#",f={'"':""","&":"&","'":"'","<":"<",">":">"},y=/^[\w+/-]+={0,2}$/,n=i(t=>String(t??"").trim(),"toString"),u=i(t=>t.replaceAll(/[&<>"']/g,e=>f[e]),"escapeHtml"),C=i(t=>{try{return p.sanitize(n(t))}catch{return u(n(t))}},"sanitizeHtml"),H=i(t=>{const e=n(t);if(!e)return"";try{return p.sanitize(e).replaceAll('"',""").replaceAll("'","'")}catch{return u(e)}},"sanitizeAttribute"),z=i(t=>{const e=n(t);if(!e)return h;try{const r=p.sanitize(e),s=r.toLowerCase();return w.some(a=>s.startsWith(a))?r:h}catch{return h}},"sanitizeUrlAttribute"),A=i(t=>{const e=n(t);if(!e)return"";try{return p.sanitize(e,{ADD_ATTR:["class","style"]})}catch{return C(e)}},"sanitizeCodeHtml"),F=i(t=>{const e=n(t);if(e)return y.test(e)?e:void 0},"sanitizeCspNonce"),j=i((t={})=>{if(!t||typeof t!="object")return{};try{return{...t,cspNonce:F(t.cspNonce),openInEditorUrl:t.openInEditorUrl?z(t.openInEditorUrl):void 0}}catch{return{...t,cspNonce:void 0,openInEditorUrl:void 0}}},"sanitizeOptions");var b=Object.defineProperty,o=m((t,e)=>b(t,"name",{value:e,configurable:!0}),"r");let c,l;const x=o(async(t=[])=>{try{const[e,r]=await Promise.all([import("shiki/core"),import("shiki/engine/javascript")]),{createHighlighterCore:s}=e,{createJavaScriptRegexEngine:a}=r,d=await s({themes:[import("@shikijs/themes/github-dark-default"),import("@shikijs/themes/github-light")],langs:[import("@shikijs/langs/javascript"),import("@shikijs/langs/typescript"),import("@shikijs/langs/jsx"),import("@shikijs/langs/tsx"),import("@shikijs/langs/json"),import("@shikijs/langs/jsonc"),import("@shikijs/langs/xml"),import("@shikijs/langs/sql"),import("@shikijs/langs/bash"),import("@shikijs/langs/shell"),import("@shikijs/langs/markdown"),import("@shikijs/langs/mdx"),import("@shikijs/langs/html"),import("@shikijs/langs/css"),import("@shikijs/langs/scss"),import("@shikijs/langs/less"),import("@shikijs/langs/sass"),import("@shikijs/langs/stylus"),import("@shikijs/langs/styl"),...t],engine:a()}),g=d;return l=o(()=>{try{d?.dispose?.()}catch{}c=void 0},"disposeFn"),g}catch{const{createHighlighter:e}=await import("shiki"),r=await e({langs:["javascript","typescript","jsx","tsx","json","jsonc","xml","sql","bash","shell","markdown","mdx"],themes:["github-dark-default","github-light"]});return l=o(()=>{try{r?.dispose?.()}catch{}c=void 0},"disposeFn"),r}},"createSingletonHighlighter"),U=o(async(t=[])=>(c||(c=x(t)),c),"getHighlighter");o(async()=>{try{l&&(l(),l=void 0)}catch{}},"disposeHighlighter");o((t=[])=>({name:"@shikijs/transformers:compact-line-options",line(e,r){const s=t.find(a=>a.line===r);return s?.classes&&this.addClassToHast(e,s.classes),e}}),"transformerCompactLineOptions");const $="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-check%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%20%2F%3E%20%3C%2Fsvg%3E",N="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-clipboard%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Crect%20width%3D%228%22%20height%3D%224%22%20x%3D%228%22%20y%3D%222%22%20rx%3D%221%22%20ry%3D%221%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22%20%2F%3E%20%3C%2Fsvg%3E";export{H as a,F as b,U as c,z as d,$ as e,j as f,A as g,N as n,C as s};