What Happens in St. Barts Doesn’t Stay in St. Barts
Season 5
Episode 16
Photo: Bravo
So is it a fact, Professor Cohen, that when these Housewives are back on their native island of Manhattan, they become boring again? I asked you a question, Professor Cohen! A simple yes or no would suffice! Order! Order! Overruled. Etc.
Look, this show sucks when the ladies are in their natural habitat, I’m sorry. All they do is wax poetic about times of yore when drama was nigh, and this ain’t The Reminiscing Housewives of New York City starring Heather as the sensible go-between everybody will still talk to! Or, it shouldn’t be. The only scene I actually sunk my teeth into like it was a lovely, chewy brownie was the one at the end between Aviva and Sonja. But I will get to that in good time. Or lousy time. Either way, it passes. Right?
The first post–St. Barts scene was set at Ramona’s, where a woman who owns a company called “Flirting with Flavors” was hired to cook in the kitchen along with Jacques, Mario, and a galoot I didn’t recognize besides that he had the same kind of “openmouthed breather” thing as Todd from Breaking Bad. The guys were there to react to a pre-marinated leg of lamb and to wear aprons that said “Real Men Cook.” Note: Those aprons got more screen time than former castmember Cindy Barshop did during her entire tenure on the show. Will those aprons be featured in the Mazel Shop or whatever the hell it’s called? Happy New Year to my Jewish friends, by the way!
So while the Real Men Cooked, Luann (who looked incredible), Ramona, and Sonja sat in the next room and recapped the St. Barts trip. They didn’t do as good of a job as me, but then, when I write these, I’m not usually wearing one of those gold Sonja headbands. Those are bad for the recappin’ brain, and I do not recommend them. A loose-fitting thinking cap or a pair of writing briefs is best, paired with a men’s necktie and two Livestrong bracelets — NOT ON THE WRISTS. Wink!
Also during this scene, Luann ignored her implication in her plan to exclude Aviva’s husband before the Dreschers arrived on St. Barts, and hit it home with denial and PDA that she and Jacques are better than ever. Tomas Who? Exactly. Go on, Lu! Play your hoes. James Brown voice — This is Luaaaaaaann’s world!
After that scene, Heather, who emerged as the star of this episode because she is still speaking to everybody after the trip, had drinks with Carole at a gay bar. That was annoying. There was a lot of talk of shoes, and flirting with the gays, and shots, and other things that make me involuntarily twitch and remember the wedding scene from Sex And the City 2, even though I’ve spent thousands in psychoanalysis to avoid precisely that. Heather and Carole agreed the trip was crazy. That was pretty much the gist of that scene.
Then, we followed Heather to lunch with Luann. Heather was, at this point, the show’s protagonist. I did not sign up for that. I do not want a show called Heather Ever After. Please amend this. At lunch, Heather monologued about how Sonja and Aviva could be mended, while Ramona and Aviva were done. Lu just nodded until the conversation came around to her, and then played it close to the chunky necklace when Heather probed her about the trip. Again — Tomas who? Luann gracefully spun the talk toward her baby quest with Jacques instead. Romney can learn a thing or two from Countess de Lesseps. Apparently, Luann said, she is going to start IVF. Yeah. Okay. She said it like a normal person would say “Maybe I’ll walk home instead of taking the train home.” Like it was a casual notion she was planting before somebody on the train was murdered. She would have an alibi if she was strolling toward her domicile. But anyway, Luann — good look with your IVF! Maybe she meant DVF? Diane has a lovely shop in the meatpacking district.
Then, we followed — guess who? — Heather, to another rendezvous over Pellegrino and mandatory good cheer with Carole and, this time, Aviva. Carole made a very Posh Spice–ish reference to hating water, and Aviva piggybacked on Heather’s observation that Sonja was naked so much on the trip … [Fill in your own Heather one-liner here]. Aviva said that Sonja was under the influence of Ramona the whole time, and began to build her case that Ms. Morgan was actually a separate entity — one who had a soul made out of crystal figurines and snowflakes. Beautiful and pure, but highly breakable. And Aviva ruminated about their unseparability, and how insecure they must be, and how disgustingly they acted. Carole forked salad into her mouth to shut it up and later said, in her confessional, that Aviva had to knock it off with the St Barts talk. Which would have been a legitimate point HAD THESE BIRDS ANYTHING ELSE TO DISCUSS! That trip was the only thing on the season so far that actually happened! If they stop talking about it, what will we have? Soundbite after soundbite about how hungry these ladies are for sushi?
Aviva called Ramona a “Cheesy, cheesy low class woman” and demonstrated that she hadn’t cooled off a tic since the trip. And Heather helped steer Aviva toward the notion that Sonja was perhaps a wounded soul and worthy of her forgiveness. Aviva considered that between dragon snorts, and Carole said “Tell us how you REALLY feel,” which is my least favorite thing to say to somebody who’s said something definitive, extreme, or funny. It’s like going, “Ba-DUM-bum!” after somebody makes a joke to make sure everybody around you knows they made a joke. Just let the horror breathe and live. Admittedly, this last thing I said is really about me, not Carole. It’s just a big peeve of mine. Moving on!
Soon we were treated to a merciful non-Heather scene. Sonja, as prescribed by the producers, took Carole to the shirt studio of Peyman Umay, a mysteriously named, 31-year-old foreigner whom she went out with one time in a particularly insipid scene not worth revisiting.
While Peyman struggled with the wires on a champagne bottle, Carole and Sonja talked about a conversation they had over lunch back in St Barts, and the show flashed back to the time at the Bird Restaurant in which Carole suggested that Sonja and Ramona could have been more compassionate to Aviva and Reid when they arrived.
Sonja wouldn’t accept any criticism about her behavior on the island and suggested instead that maybe Carole wasn’t really good at being a hostess. Ha! Oh boy. Carole said that maybe Sonja didn’t remember anything that had happened on the island because she was shitfaced the whole time, and Sonja made a point of saying that usually when people go on vacation they drink a lot. Good points all around. Then Sonja was like “Let’s get some fucking shirts.” Ahoy to that.
After that scene came another one with — Holla!!! — Heather. She and Aviva sat down for the Predictability Olympics, during which, after the two spoke perfunctorily about their children and how cute they were, Aviva dove back into the topic of how shitty the St. Barts trip was for her. Heather tried comforting Aviva by saying that the trip was actually really fun until Aviva showed up. Aviva nodded intensely, and Heather said something that backed up Sonja’s theory that vacation is a time for acting silly. And Aviva used the “B” word, saying that Ramonja had actually bullied her, and then everybody checked out. Aviva had one good point about how she’d trusted Ramona to be a good friend earlier, and anybody would feel like a schmuck after doing that.
Then came an interstitial in which Carole told Aviva that she had been smoking stupid pink cigarettes and made an idiotic comparison to global warming in the process. Upon hearing the news of Carole smoking, Aviva acted like her friend had told her she’d begun giving bloweys in the bathroom of the Port Authority Bowling Alley to fund her meth habit. I remember when I broke that to MY best friend — after she rolled a couple of perfect games, she staged an intervention over by the shoe rental. The onion rings she’d bought read improvised letters about how my addition had hurt them, and she even wrote me a song on the acoustic guitar called “Please Accept This Gift.” I miss her.
Then, we all got into bed with Sonja. Ramona came over to her place and she and Sonja cuddled up with a tray of pills, two interns from Chad, six cats, a dog, and three tattooed waiters in order to talk about Sonja’s ex-husband. It turned out that Sonja had an upcoming meeting with her ex, with whom she had to finalize her divorce settlement. And here’s where I got concerned and really worried about Sonja. She seemed more concerned about how she was going to look for John Morgan and how they were going to rekindle some kind of friendship than she was about her plan to get her deserved money. Ramona, in one of her bone-chilling moments of lucidity, said in her confessional that she was worried that Sonja wasn’t going to get her finances situated in the process of meeting John face to face. And Sonja made it clear that if she didn’t succeed in this meeting, she’d lose the house. And the house said “PLEASE LOSE ME SO I CAN GET A PAINT JOB” and one of Sonja’s interns was, like “Shut up, House!” Oy. Poor Sonja. We are all praying for her.
Finally, Aviva met Sonja for lunch in a picture-perfect instance of what not to do when burying the hatchet. Aviva, in a feat of compulsion, recapped her side of the St. Barts trip for the millionth time, and implicated Ramona as a monster to Singer’s only ally. She used terms like “morally reprehensible” and so on, and Sonja, to her credit, kept it cool. Despite Aviva’s intentions to mend a bridge with Sonja after realizing that she was no longer half of a two-headed antagonist since she and Ramona came home to separate apartments post-trip, Sonja held her ground. She wasn’t going to forgive this bitch. Not after Aviva had called her white trash. And now that Aviva was in front of her, rehashing the events of their time away, her hurt feelings and all, there was no effing way Sonja was going to go back on her revelation that she had indeed turned a corner — she did NOT need any new friends. Honestly, good for Sonja. Aviva spent one moment telling Sonja there was a “definite lack of character” in her behavior, then decried Sonja’s correct observation that Aviva had “freaked out” using the guise of feminism?! The balls on the legless one! To use the excuse that angry women are often dismissed as crazy as a way to pardon her craziness? I call bullshit all over the place.
And that is when Aviva demonstrated the worst interpersonal instincts committed to film so far, and decided that then would be a perfect opportunity to launch a one-woman intervention on Sonja. She seamlessly transitioned from judging Sonja to wanting to help her. Sonja’s “kick me when I’m down” remark in her confessional was apt.
And Aviva saying “having somebody in front of her on a spiral downward is sad to watch” is, frankly, the meanest thing you can possibly say to somebody. Jeff VanVonderen somewhere walked into the ocean. And that whole thing about how Aviva is the only person who’s honest and owns her problems is also insane. Have you seen the things in Sonja’s apartment that she permits Bravo to film? No way. Couching criticism in concern is one of the weakest, amateur-hour shithead moves you can ever make pretend friend–to–pretend friend. For those of you who remarked in the comments last week that I was too soft on Aviva, I hope this serves as penance. She gets a big thumbs down from me this week, despite whatever her intentions around Sonja may have originally been.
Next week: the return of George! Will the skeevy father pay for his nutty daughter’s sins?
What did I miss? What is ruffling your chicken feathers this week? And what do you want to see happen between now and the finale? Tell me in the comments below, you Rosh Hashanah honey-apples! And I’ll see you next week.
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();
// ]]