In reply to Phil.

The client side equivalent of that adaptor is just reassigning Window to itself: https://github.com/ustwo/ustwo.com-frontend/blob/master/src/app/adaptors/client/window.js

So with the server side one we're just stubbing out objects / properties we're referencing to prevent JS errors in Node.

It might look a bit tedious to have all these adaptor files, but they get compiled in Browserify to separate targets (using Aliasify) as we want to avoid server side code being delivered to the client side.