RHONY’s Leah McSweeney, leaving a party at Nublu in the East Village.
Photo: Courtesy of Brock Colyar
RHONY’s Leah McSweeney, leaving a party at Nublu in the East Village.
Photo: Courtesy of Brock Colyar
When I first moved to New York from college in the Midwest to intern at the Cut, my first reporting assignment was covering Fashion Week, which meant going to as many of the many, many brand-sponsored open-bar parties as I could get invited to and writing about anything funny or newsworthy that took place, hopefully involving a drunk celebrity. The guest-list glamour of this wore thin, but after several weird, livestreamed seasons, I admit I was excited to spend a few days fretting about party clothes and spending the late hours with self-assured people jostling to get into Veuve Clicquot–soaked fêtes.
Not all that glitters on Instagram is gold, and this year’s parties seemed messier than usual, and not in a fun, retro type of way. On Tuesday, I watched Ella Emhoff, in a neon-green, furry bucket hat, attempt to do the Dougie at an event sponsored by the cool-kid print product Drunken Canal. Then, at Christian Siriano’s Tao party, they played three Gaga songs in 15 minutes. The next night, G-Eazy was arrested after a brawl at Le Bain, and at a designer’s after-party at Indochine, I watched a gaggle of Vogue editors smoke their lungs out after getting drunk and discovering the old-timey cigarette girls. What made me realize that New York was really back was how bitchy everybody got about everything. At Sarah Paulson’s party, on Thursday at L’Avenue, Paris Hilton DJ-ed to “Don’t Stop Believin’,” and Saks employees dropped sparkling confetti from the top of a stairwell onto selfie-snapping guests below. A fashion reporter griped to me, “Fashion people have awful taste. Fashion girls just want to be art girls.” That said, the week before, whenI went to Antwaun Sargent’s Armory Week party at the Westworld-esque Equinox Hotel rooftop (where guests frolicked in a reflection pool while singing “Mr. Brightside”) I was told by a guest, “I’m not one of those creative girls. I’m just her to live large, and get drunk.”
So who better to show me around for a night during one of the city’s glammest, tackiest weeks of nonstop attention-seeking than a Real Housewife!? On Saturday night, I met up with Leah McSweeney, the designer behind streetwear brand Married to the Mob, and current RHONY cast member. (You know all about her if you read our friend Brian Moylan’s newsletter, The Housewives Institute Bulletin.) Joining the show two seasons ago, she’s the young, less stuffy “downtown” one, a single mom with finger tattoos who lives in Fidi. Her second season tagline was: “I’m sex positive and BS negative.” Now, after filming two seasons during the pandemic, she’s finally getting to experience the fruits of her Bravo fame. “I haven’t really gotten the chance to live my new real life until now,” she told me at dinner, because good Housewives drama always begins with a dinner.
7:45 p.m. | I walk up to Tamarind, a swanky Indian restaurant in Tribeca (there’s lobster masala on the menu), which is thronged by neighborhood families — hot dads, even hotter, stilettoed moms, and their whiny children climbing out of big black Escalades — not the fashion crowd. I find Leah, sporting a powder-blue corset and sparkling track pants, at the bar with her friend, a gravelly-voiced, tatted mother of two who’s quick to talk about her dating life. Leah’s sober, and she considers ordering a nonalcoholic beer but ultimately decides that would be too many calories. She settles for a seltzer.
7:51 p.m. | Leah says we’re being joined for dinner by the publicist Kelly Cutrone, of America’s Next Top Model and The Hills fame. Leah just found out she’s bringing along two “executives from Pornhub.” Apparently this year’s Fashion Week includes a Pornhub-sponsored party that we’re listed for later. Leah tells me about going to fellow reality-show spawn Christian Siriano’s runway show earlier this week, where she got to sit front row with Lil’ Kim and later ran into a friend of “pita chip,” a RHONY reference to a mystery guy she once dated. These days, Leah says she is “so over men.” This is the longest she’s ever gone without sex or dating — a recent chakra service revealed a lot of tension in her crotch area — but, no matter the drought, her psychiatrist says it’s fine. She’s attentive, but also restless, constantly eyeing the door for the rest of our party and telling the two of us that she’s hangry.
8:00 p.m. | Kelly Cutrone arrives, wearing all-black and rhinestone cowboy boots, babbling about a bunch of things I don’t understand and telling Leah, immediately, “You look sex.” (She does). She’s followed by the Pornhub execs, two smoky-eyed women, one of whom is actually wearing a Pornhub crop top, which must mean she really likes her job.
8:40 p.m. | We order $900 worth of wine, cocktails, and spicy, saucy dishes — an awful pre-going-out meal, I think to myself, looking down at a dress that is already too tight. After Leah eats two dainty spoonfuls of crispy spinach salad, she’s already feeling better, smiling and asking questions to the table. “I’m gonna be a basic bitch and take pictures of my food, because I love it,” she whispers to me when her halibut arrives, pulling out her iPhone and turning on the flash. Kelly took an edible before dinner, so she’s having trouble following our conversation, but she does manage to tell me why she loves Leah, adding that she’s never watched her on Housewives: “Leah was a girly girl pretending to be a tough-ass bitch … Then she became a tough-ass bitch.” Like a potential next-season tagline, Leah shoots back, “We’re born sweet and then life happens.”
9:30 p.m. | Since there are two Pornhub employees present, Leah makes sure to express her support for legalizing sex work, and tells the women that they should really feature more women-centered pornography on the site, which leads to a conversation about porn-category preferences I can tell you nothing about (she’s kinkier than I am). Someone brings up the topic of potential husbands for Leah, and the consensus of the group is that she should marry a doctor. Everyone also agrees that it’s better to “marry boring and fuck the thugs.”
9:47 p.m. | Sitting next to each other in the booth, I notice Leah’s perfect posture, and wonder whether the corset has anything to do with it. We talk politics, and she admits she was a Yang supporter, and somehow pegs me (accurately) as having been an Elizabeth Warren stan. Distracted from her own tale about helicoptering to the Hamptons, Leah’s friend interjects to say that Leah actually pays attention to the news. (In her first season, she got hammered, stripped naked, and attacked another wife’s poolside tiki torches for what they “represent.”) Then Leah takes a quick break to tuck her daughter in over FaceTime. Mommy’s working!
Kelly Cutrone gets down in an Uber.
Photo: Courtesy of Brock Colyar
10:30 p.m. | Three desserts arrive at the table, but no one really eats them. Kelly conducts an energy reading.
11:01 p.m. | Dinner complete, Kelly, Leah, Leah’s friend, and I hop in an Uber, where the crew discusses religion. Leah’s currently converting to Judaism — she likens herself to Charlotte on Sex and the City, although presumably there is more to it than that — and ponders aloud whether that means her God is a man. Kelly is not really into Western religion, and informs her, bleakly: “Monotheism annihilated the feminine.”
11:18 p.m. | Our first stop’s Gitano, the faux-Tulum outdoor bar in Soho where the Drunken Canal is throwing its second party of the week. Their September Issue includes a tour of Leah’s closet, and the Canal kids greet her like a favorite wild aunt, with hugs and “hello queen”s. Kelly, meanwhile, feels ignored, saying this party is filled with “really rude people who don’t know what Kelly Cutrone has done.”
11:45 p.m. | Back in an Uber, Kelly grabs the aux, asks the driver to turn up the volume, and plays “Heels On,” by Lady Saw. The women start dancing in the back seat, throwing their skinny arms in the air and singing the song together (“I wanna give it to you hardcore / Tonight, tonight / Let me fuck you with my heels on, yeah / Let me ride on your ding dong”). After, Kelly plays House of Pain’s “Jump Around” and rolls her window down to beg people in the crosswalk to dance along. Some do, willingly!
12:00 a.m. | Our next stop is Nublu in the East Village, for Richardson Magazine, thrown with Anonymous Club and Pornhub. “I can’t stand this neighborhood. It’s too much of my past,” Leah groans, waiting in line at the door. Inside, we find two hunky men in bulgy briefs dancing on a stage in the middle of the room. A very young set of partygoers — dyed hair, inside sunglasses, and dressed-up bike shorts everywhere — crowd under a disco ball. The music is aggressively loud, so we escape upstairs to the VIP section, where Julia Fox is ordering a drink at the bar and a dealer is giving out little goodie bags of joints and gummies. “If I was drinking, I’d have an apple martini,” Leah says.
12:07 a.m. | Again, the music is loud, and Leah, maybe because she’s not guzzling apple martinis, doesn’t necessarily look like she’s having the best time, taking the requisite “I was here” photographs and telling me she doesn’t think she’ll stay for long. She runs into an old friend and they reminisce about the places they went clubbing when they were young — spots whose names I don’t recognize but that come with descriptions like “where Chloë Sevigny broke her teeth while wearing Balenciaga gladiator boots.” “New York is just not fab anymore,” he says.
PornHub-sponsored dancers at a party for Richardson Magazine and Anonymous Club.
Photo: Courtesy of Brock Colyar
12:20 a.m. | Looking around the increasingly rowdy party, Leah says, “There’s more straight guys here than I’ve seen in a long time. I hang out with gay guys, and I like it that way,” before making a joke about the fact that after all this time away from men, she might be gay herself. “I’ve eaten pussy before in the Limelight bathroom,” she tells me, with a naughty grin, before correcting herself: “No wait, she ate mine.” (Housewife Ramona Singer threatened to quit the show when Leah dirty danced with two women at her party.) Kelly’s teenage daughter arrives, and while I’m chatting with them, Leah and her friend appear to get caught up in a fight. Leah pulls her aside, out of earshot, and the friend makes a quick swipe with her hand under her eyes, seemingly to catch a tear. It would be so very Housewives,if only I could hear the conversation.
12:28 a.m. | Leah’s ready to go home to her daughter. “Get me the fuck out of here. This is not sexy. Being here made me feel old … and dirty,” she says maneuvering her way out the door and then getting distracted by a couple of kids in big boots walking into the party. “They have like zero percent body fat,” she says, playing up her age. Her friend joins her for the Uber — it was a “debate,” not a “fight” they say — and when I tell her I’m headed back inside, she puts her freckly arms on my shoulders, looks me straight in the eyes, and like a good mother tells me, “Please be careful.”
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]