nuxt / devtools

Unleash Nuxt Developer Experience
https://devtools.nuxt.com
MIT License
2.85k stars 153 forks source link

fix: consola crashes due to 'logObj.date.getTime is not a function' #700

Open eerive opened 1 month ago

eerive commented 1 month ago

🐛 The bug

The Nuxt 3 application that I'm currently developing using Typescript has devtools enaled and always throws an error during the initialization which stops the whole page from loading correctly.

index.mjs:48  [nuxt] error caught during app initialization TypeError: logObj.date.getTime is not a function
    at Consola._logFn (core.mjs:353:70)
    at Consola.log (core.mjs:306:19)
    at dev-server-logs.js:28:8
    at index.mjs:48:66
    at index.mjs:48:56
    at async dev-server-logs.js:35:4
    at async setup (client.mjs:38:36)
    at async applyPlugin (nuxt.js:137:25)
    at async executePlugin (nuxt.js:173:9)
    at async applyPlugins (nuxt.js:187:5)

It seems that Consola is trying to use the method getTime even though logObj.date is a String?
It happens when

"[Vue warn]: Property undefined was accessed during render but is not defined on instance.
 " at Proxy.<anonymous> (eval-4efcead9.cdp)""

is called, and for some reason logObj.date is overwritten by the Object.assign function to a string instead of a Date object.

Screenshot 2024-07-25 at 12 40 55

Could this be a bug of the Consola dependency or is this due to dev-server-logs.js sending a wrongly typed object?

🛠️ To reproduce

🌈 Expected behavior

Page not completely halting when this error occurs