Arf settings and camera have a special nodejs mode, that looks very bad.
I know it has nothing to do with your patch, but we shouldn't have such thing in our codebase.
That's ok to have abstraction module like path, file, system, that have an implementation that depends on the runtime, but that's all but ok to have some domain code being duplicated like this.

If someone wants to run on node, build.js itself should be running on node.