Closed JeroenvdV closed 1 year ago
Please provide a link to a minimal reproduction. This is required.
From your description alone it is unclear how or why a .svelte file would end up as a preprocessor dependency of itself.
Maybe it would make sense for us to skip the change event if dependant === filename? I think it's a simple enough change, but would also be nice to know how it's being triggered. Things like Svelte preprocessors can affect it.
Again sorry for not providing a reproduction yet, I haven't been able to create one because I don't understand the problem well enough. Thank you for responding anyway, it's much appreciated!
I have added an if-statement that skips dependant === filename, and then I still see an infinite loop, but it bounces back and forth between two Svelte components now. So, in addition to a file being its own dependant, it seems there can be circular dependencies in the graph in other ways.
This must mean the code that builds the dependency list/graph affects this problem, but I haven't found out where that is done and how it works yet, or how my own code is affecting it to lead to this problem. Besides this issue, my code works/builds/runs seemingly fine and there is no obvious circular dependency.
@JeroenvdV are you able to provide a reproduction for this?
@JeroenvdV commenting out helped me ;)
watcher.emit('change', dependant);
Describe the bug
When I save a file (in vscode) while
vite dev
is running, it terminates with the following error:This refers to the following code in
vite-plugin-svelte/src/utils/watch.js
:When adding some debug logs, I see that
dependants
includesfilename
, which causes this to infinitely recurse.Please let me know what more information I can add to clarify (and/or work around) this problem.
Reproduction URL
https://vite.new/svelte
Reproduction
I'm truly sorry for not providing a reproduction but I need help understanding in which direction to look at how to produce one for this specific symptom, and whether to look for it in this package at all.
Logs
System Info