Skip to content

Import footgun: Default export versus named export (No output when used via API) #399

@rezonant

Description

@rezonant

I got bit by accidentally importing as import { concurrently } from 'concurrently'; instead of import concurrently from 'concurrently';. The default export applies all the default controllers and logger, whereas the named export does not (the default export uses the "unconfigured" named export to do it's thing).

It might be worth adding a note to the README about this or possibly renaming the named export to make it harder to fall into this trap.

The symptoms are that no program output appears, even though it does when you use the concurrently CLI- this is of course because there is no Logger or LogOutput/LogError controllers added in the configuration.
I ended up having to dig into the source code to figure this out.

At the very least, this issue should provide some help for anyone else who hits this footgun.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions