Skip to content

NullPointerException when processing externs files #7

Description

@iarenaza

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 our case, e.g. https://github.com/magnetcoop/hydrogen-ce/blob/master/src/hyd/client/externs.js)

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 lein-figwheel should be more robust and handle that situation in a more graceful way[1]. But on the other hand 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 and those declared as foreign libraries).

[1] We have opened a pull request in lein-figwheel regarding this behaviour, see bhauman/lein-figwheel#739

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions