JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://requirejs.org/docs/release/2.1.8/comments/require.js"></script>

JavaScript

define("global", ["exports", "collections"], function(exports, Collections) {
    console.log("Defining global");
    
    var Global = {
        env: "home",
        collections: Collections
    };

    exports.Global = Global;
    return Global;
});
define("collections", ["favorites"], function(Favorites) {
    console.log("Defining collections");
    
    var collections = {
        likes: function() {},
        favorites: Favorites
    };

    return collections;
});
define("favorites", ["exports", "global"], function(exports, Global) {
    console.log("Defining favorites");
    
    var Favorites = function(name) {
        console.log(Global.Global.env)
        this.name = name;
    };
    return Favorites;
});

require(["global"], function(Global) {
    console.log("global", Global);
    console.log("collections", Global.collections);
    console.log("favorites", Global.collections.favorites);
    
    var Favorites = Global.collections.favorites;
    Favorites();
});