JSFiddle - React, Tailwind, and code Playground

HTML

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

JavaScript

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

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

        return collections;
    });
    define("favorites", ["global"], function(Global) {
        console.log("Defining favorites");
        
        var Favorites = function(name) {
            console.log(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();
    });