@remotex-labs/xmap
Version:
A library with a sourcemap parser and TypeScript code formatter for the CLI
4 lines (3 loc) • 3.92 kB
JavaScript
;var d=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var D=(n,e)=>{for(var t in e)d(n,t,{get:e[t],enumerable:!0})},L=(n,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of v(e))!R.call(n,r)&&r!==t&&d(n,r,{get:()=>e[r],enumerable:!(a=g(e,r))||a.enumerable});return n};var O=n=>L(d({},"__esModule",{value:!0}),n);var V={};D(V,{JSEngines:()=>f,createDefaultFrame:()=>u,detectJSEngine:()=>m,normalizePath:()=>c,parseErrorStack:()=>C,parseJavaScriptCoreStackLine:()=>S,parseSpiderMonkeyStackLine:()=>N,parseStackLine:()=>p,parseV8StackLine:()=>l,safeParseInt:()=>i});module.exports=O(V);var s={V8:{GLOBAL:/at\s(.*):(\d+):(\d+)/,STANDARD:/at\s(.*?)\((?:(.+?):(\d+):(\d+)|(native))\)/,EVAL:/^at\s(.+?)\s\(eval\sat\s(.+?)\s?\((.*):(\d+):(\d+)\),\s(.+?):(\d+):(\d+)\)$/},SPIDERMONKEY:{EVAL:/^(.*)@(.+?):(\d+):(\d+),\s(.+?)@(.+?):(\d+):(\d+)$/,STANDARD:/^(.*)@(.*?)(?:(\[native code\])|:(\d+):(\d+))$/},JAVASCRIPT_CORE:{STANDARD:/^(?:(global|eval)\s)?(.*)@(.*?)(?::(\d+)(?::(\d+))?)?$/}},f=(r=>(r[r.V8=0]="V8",r[r.SPIDERMONKEY=1]="SPIDERMONKEY",r[r.JAVASCRIPT_CORE=2]="JAVASCRIPT_CORE",r[r.UNKNOWN=3]="UNKNOWN",r))(f||{});function m(n){return n.startsWith(" at ")||n.startsWith("at ")?0:n.includes("@")?/(?:global|eval) code@/.test(n)?2:1:3}function c(n){return n.startsWith("file://")?n.startsWith("file:///")&&/^file:\/\/\/[A-Za-z]:/.test(n)?n.substring(8):n.substring(7):(n=n.replace(/\\/g,"/"),n)}function u(n){return{source:n,eval:!1,async:!1,native:!1,constructor:!1}}function i(n){return n&&n.trim()!==""?parseInt(n,10):void 0}function l(n){let e=u(n);n.toLowerCase().includes("new")&&(e.constructor=!0),n.toLowerCase().includes("async")&&(e.async=!0);let t=n.match(s.V8.EVAL),a=n.match(s.V8.GLOBAL),r=!t&&n.match(s.V8.STANDARD);return t?(e.eval=!0,e.functionName=t[1]||void 0,e.evalOrigin={line:i(t[4])??void 0,column:i(t[5])??void 0,fileName:t[3]?c(t[3]):void 0,functionName:t[2]||"<anonymous>"},e.line=i(t[7])??void 0,e.column=i(t[8])??void 0,e.fileName=t[6]?c(t[6]):void 0):r?(e.functionName=r[1]?r[1].trim():void 0,r[5]==="native"?(e.native=!0,e.fileName="[native code]"):(e.line=i(r[3])??void 0,e.column=i(r[4])??void 0,e.fileName=r[2]?c(r[2]):void 0,e.fileName?.includes("node:")&&(e.native=!0))):a&&(e.fileName=a[1]?c(a[1]):void 0,e.line=i(a[2])??void 0,e.column=i(a[3])??void 0),e}function N(n){let e=u(n),t=n.match(s.SPIDERMONKEY.EVAL);if(t)return e.eval=!0,e.functionName=t[1]?t[1]:void 0,n.toLowerCase().includes("constructor")&&(e.constructor=!0),n.toLowerCase().includes("async")&&(e.async=!0),e.evalOrigin={line:i(t[7])??void 0,column:i(t[8])??void 0,fileName:c(t[6]),functionName:t[5]?t[5]:void 0},e.line=i(t[3])??void 0,e.column=i(t[4])??void 0,e;let a=n.match(s.SPIDERMONKEY.STANDARD);return a&&(e.functionName=a[1]?a[1]:void 0,e.fileName=c(a[2]),a[3]==="[native code]"?e.fileName="[native code]":(e.line=i(a[4])??void 0,e.column=i(a[5])??void 0)),e}function S(n){let e=u(n),t=n.match(s.JAVASCRIPT_CORE.STANDARD);return t&&(e.functionName=t[2],e.eval=t[1]==="eval"||t[3]==="eval",n.toLowerCase().includes("constructor")&&(e.constructor=!0),n.toLowerCase().includes("async")&&(e.async=!0),t[3]==="[native code]"?(e.native=!0,e.fileName="[native code]"):(e.line=i(t[4])??void 0,e.column=i(t[5])??void 0,e.fileName=c(t[3]))),e}function p(n,e){switch(e){case 1:return N(n);case 2:return S(n);case 0:default:return l(n)}}function C(n){let e=typeof n=="string"?new Error(n):n,t=e.stack||"",a=e.message||"",r=e.name||"Error",A=m(t),E=t.split(`
`).map(o=>o.trim()).filter(o=>o.trim()!=="").slice(1);return{name:r,message:a,stack:E.map(o=>p(o,A)),rawStack:t}}0&&(module.exports={JSEngines,createDefaultFrame,detectJSEngine,normalizePath,parseErrorStack,parseJavaScriptCoreStackLine,parseSpiderMonkeyStackLine,parseStackLine,parseV8StackLine,safeParseInt});
//# sourceMappingURL=parser.component.js.map