Cross-environment support: browser, Node.js