How is hot reload implemented in Meteor JS?

I'm interested in knowing what kind of strategies they use to push code to the browser when a file is changed, yet I have found nothing on the internet about it. I also searched the code at their GitHub repo to no avail.

So, how is the hot reload implemented in Meteor? Are there any alternatives? Is it possible to implement code and assets reload using SocketIO in Node?

You can start here:

Meteor's implementation of reactivity is short and sweet, about 50 lines of code. You can hook into it yourself to add new reactive contexts or data sources, using the Meteor.deps module.

Meteor has a simple dependency tracking system, so that it it can automatically rerender templates and such when Session variables are modified, or database queries change.

Unlike most other systems, you don't have to manually declare these dependencies — it "just works". The mechanism is simple and efficient. When you call a function that supports reactive updates (say, a database query), it automatically saves the current "invalidation context" object if any (say, the current template being rendered.) Later, when the data changes, it can "invalidates" this context (tell the template to rerender itself.) The whole implementation is about 50 lines of code.

Developers, particularly package authors, can use invalidation contexts to implement additional reactive data sources or to write functions that automatically register dependencies on reactive data sources.