require returning without getting file, intermidtent

I am trying to read in a file then pass it to another function. It works about half the time. I thought require was synchronous which is why I'm confused about about what could be happening.

...
a["file"] = require "../../file"
thing.install a
...

then else where I do,

console.log a['file'] and it returns null about 50% of the time.

Any ideas on what could be happening?