Search code examples
javascriptflowtypeflow-typed

Why do some types in Flow libdefs have dollar sign in the begining


Some libdefs in flow-typed respository have types, started with the dollar sign, like $AxiosXHR:

enter image description here

It looks like it declares globally available type, but I am not sure, and I haven't found any documentation about it.


Solution

  • Right now there's not a good way to write types inside declare module {} bodies that aren't exported, so the best option is to put a declaration outside the declare module {} and reference it.
    To prevent clashing names, it's a convention to put something like $npm$ModuleName$ before the type/var name.

    Ref: flow-typed CONTRIBUTING notes