Don't try to open cljs file if it doesn't exist #739
Merged
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.
lein-figwheel expects files with .js extension inside its source
directories to be foreign libraries. And foreign libraries must
declare a namespace. In fact, lein-figwheel assumes it, and if it
doesn't find it and can't map the file back to a source .cljs file, it
bombs out with a NullPointerException when trying to check for its
existance.
This might happen when you put your externs file(s) inside the source
directories (this is in fact the case that led to the discovery of
this issue).
While lein-figwheel doesn't by default try to process such files on
its own, when using Duct server.figwheel
it tells lein-figwheel to proccess all files inside the configured source
directories (see
https://github.com/duct-framework/server.figwheel/blob/master/src/duct/server/figwheel.clj#L54-L55).
Clearly Duct server.figwheel shouldn't be telling lein-figwheel to
process absolutely all files in source directories (but probably just
those having .cljs/cljc extension or those declared as foreign
libraries[1]).
But on the other hand, lein-figwheel should be more robust and handle
that situation in a more graceful way.
[1] We have opened an issue in Duct server.figwheel regarding this behaviour.