Feature: Implement hot reload for engine.importJs
#42
+24
−20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am using this plugin to add some interactivity to my notes. The JS code I write is kind of big, so, to avoid cluttering my note, I write the business logic in a separate JS file that I import using
engine.importJs()
.However, Obsidian caches the imports made by
engine.importJs
. Therefore, when re-running the code block, theengine.importJs('path/to/my/script.js')
does not actually reload myscript.js
after I made changes to it. This considerably slows down my development as I have to continually reload Obsidian for the changes to take effect.This PR implements a hot reload feature to actually load the script every time the code blocks is re-run.
💡 Hot reload is disabled by default, for backwards compatibility and to save memory.
instanceof
, I read your comments), but it will considerably improve DX.(Thank you for your hard work, Moritz Jung!)