-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Hi,
I'm trying to trace a stacktrace for a script that has been created by webpack. The stacktrace comes from server side rendering this using ReactJS.NET and "V8JsEngine".
The original stacktrace looks like
at useFilterQs (hbd-ssr.1d6f13df.js:283:9)
at ProductList (hbd-ssr.1d6f13df.js:4774:79)
at processChild (hbd-ssr.1d6f13df.js:56618:14)
at resolve (hbd-ssr.1d6f13df.js:56535:5)
at render (hbd-ssr.1d6f13df.js:57010:22)
at read (hbd-ssr.1d6f13df.js:56948:29)
at renderToString (hbd-ssr.1d6f13df.js:57563:27)
at Script [3]:1:16
Using this library I get:
test at Error (webpack:///../src/UI/hbd-ui/src/base/hooks/use-filter-qs.ts:14:11)
at webpack:///../src/UI/hbd-ui/src/components/products/list/index.tsx:79:25
at webpack:///../node_modules/react-dom/cjs/react-dom-server.browser.development.js:3042:1
at webpack:///../node_modules/react-dom/cjs/react-dom-server.browser.development.js:2959:1
at webpack:///../node_modules/react-dom/cjs/react-dom-server.browser.development.js:3434:1
at webpack:///../node_modules/react-dom/cjs/react-dom-server.browser.development.js:3372:1
at webpack:///../node_modules/react-dom/cjs/react-dom-server.browser.development.js:3987:1
at Script ([3]:1:16)
If I instead of rendering this on the server let the client render I get the following stacktrace:
Uncaught Error: test
at useFilterQs (use-filter-qs.ts:14)
at ProductList (index.tsx:79)
at renderWithHooks (react-dom.development.js:14803)
at mountIndeterminateComponent (react-dom.development.js:17482)
at beginWork (react-dom.development.js:18596)
at HTMLUnknownElement.callCallback (react-dom.development.js:188)
at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
at invokeGuardedCallback (react-dom.development.js:292)
at beginWork$1 (react-dom.development.js:23203)
at performUnitOfWork (react-dom.development.js:22154)
It seems like I'm loosing the function names? I tried validating this using tools like stacktracify (https://github.com/mifi/stacktracify). This tools gives me the same result as you library. This lead me to that maybe its a webpack problem. But it seems like the browser is able to parse the source map correclty. Is is it just doing something else to make it work?
I can see that the Frame has the correct method names but it get overriden by the OriginalName property from the SourceMapMappingEntry. Is this correct?
{SourceMaps.SourceMapMappingEntry}
GeneratedColumnNumber: 74
GeneratedLineNumber: 88920
OriginalColumnNumber: 31
OriginalFileName: "webpack:///../src/UI/hbd-ui/src/base/hooks/use-filter-qs.ts"
OriginalLineNumber: 13
OriginalName: "location"
{SourceMaps.SourceMapMappingEntry}
GeneratedColumnNumber: 85
GeneratedLineNumber: 93715
OriginalColumnNumber: 24
OriginalFileName: "webpack:///../src/UI/hbd-ui/src/components/products/list/index.tsx"
OriginalLineNumber: 78
OriginalName: null
frame.File = originalPosition?.OriginalFileName;
frame.Method = originalPosition?.OriginalName;
frame.LineNumber = originalPosition?.OriginalLineNumber + 1;
frame.ColumnNumber = originalPosition?.OriginalColumnNumber + 1;