lydell/elm-watch

Feature request: suport `*` in inputs file path.

staeter opened this issue · 3 comments

It would be nice to be able to use * characters in inputs path like so :

{
    "targets": {
        "My target name": {
            "inputs": [
                "src/App/*/Main.elm"
            ],
            "output": "build/elm.js"
        }
    }
}

The elm compiler does support it ;)

Hi!

The Elm compiler does not “support” that – your shell does. Your shell expands elm make src/App/*/Main.elm to for example elm make src/App/Apple/Main.elm src/App/Banana/Main.elm src/App/Mango/Main.elm and then executes it.

Quoting from #23 (comment):

I’m reluctant to adding glob support to "inputs" as an “easier” solution. That would require another dependency (because I’m not going to implement globs by hand), and I’m very careful with dependencies in elm-watch. Also, everything in elm-watch is designed to not be Node.js specific because I have a dream of writing elm-watch in another language one day that can compile to a standalone binary. So I would have to come up with how to “standardize” which globs are supported etc.

So I would like to hear more about your use case! What’s wrong with listing all the inputs explicitly?

I generate a certain amount of elm programs and I simply want to compile them all without listing them.

We talked about this on Slack, and the conclusion is that this is an unusual use case and when generating Elm programs one could just as well generate elm-watch.json too.