-
-
Notifications
You must be signed in to change notification settings - Fork 1k
fix(vite): include importer in vite-node
error stack
#7607
Conversation
β Deploy Preview for nuxt3-docs canceled.
|
return new ViteNodeRunner({ | ||
root: viteNodeOptions.root, // Equals to Nuxt `srcDir` | ||
base: viteNodeOptions.base, | ||
resolveId (id, importer) { _importers.set(id, importer) }, | ||
async fetchModule (id) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@antfu is it possible for vite-node to directly give importer to the fetchModule
? It could be useful to format errors better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is that a module could be imported by multiple importers and vite-node
caches them to reuse the existing one. That means if we could have the importer it could only be the first one hit the module and can be changed in different requests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. Indeed makes sense. But how do you think about this solution for Nuxt to hint about error? I suppose first importer triggers the error this way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we could update the logging message to be something like (first imported by x)
to keep it accurate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
having imported by is also accurate (it could be, also imported by y but as result of being imported by x is now being failed). Similar to other stack traces if a util is used by two functions, first function calling it shows in stack trace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will see what I can do on the vite-node side
vite-node
error stack
π Linked issue
Ref nuxt/nuxt#14909
β Type of change
π Description
This PR tries to include (last) importer in stack traces of vite-node formatted errors.
π Checklist