Yorgos Lanthimos and Colin Farrell.
Photo: Daniel Ehrenworth
Colin Farrell loves to tell the story of how he wasn’t Yorgos Lanthimos’s first choice to star in The Lobster— 2016’s great, odd cinematic treat, set in a dystopian future in which single people are turned into animals (or hunted for sport) if they can’t couple up, and the start of a string of collaborations between the two. He’s telling it right now, across the table from Lanthimos in a hotel lobby in Toronto. “There was another actor that was going to be in The Lobster originally, really lovely actor whose work I really like, and I think his schedule got screwy and Icapitalized!” Farrell says in that lyrical Irish brogue of his, cackling with delight.
Later on, I ask Lanthimos what made him want to work with Farrell, and Farrell jumps in again — lest anyone be foolish enough to give him any credit: “Because he lost his actor! They were threatening to pull his budget!”
They’re a funny pair, this laconic bear of a Greek auteur and Farrell, all angles and sinew and loquaciousness. (He’s also, at five-foot-ten, way taller than one would expect an actor who’d had an early-aughts megahit opposite Tom Cruise to be, with the ever-so-slightly graying hair of a reformed hedonist who’s just entered his 40s.) His speaking for Lanthimos, apparently, is nothing new. “Yorgos and I had a Skype together and a very unusual first date,” says Farrell, “and I think he said maybe 40 or 50 words in that hour.” It culminated in Farrell swallowing his pride and telling Lanthimos he’d love to do the movie. “And you went, ‘Well, that’s great to know. Good-bye!’ And that was the end of the conversation,” Farrell recalls. “I did a bit of growing up in that moment.”
Lanthimos nods. It’s unclear whether he’s been listening at all.
Still, whatever happened on that set worked well enough for them to come to the Toronto International Film Festival with their second movie, the pitch-black horror comedy, The Killing of a Sacred Deer(in theaters October 20). Farrell swears he has no idea how this one came about, either. “Me and Yorgos are very … I don’t know,” he says, pretending to mumble into the peel of the banana he’s just finished eating. “He’s foolish enough to come back to the well for the second time.” Round two is much, much darker in tone than the first, which is remarkable, since Lanthimos’s Oscar-nominated script for The Lobster (with longtime writing partner Efthymis Filippou) involves a guy getting his fingers shoved into a toaster as a punishment for masturbating. Sacred Deer — which won Best Screenplay at Cannes — is a slow-burn psychological thriller, delving into the bizarre tale of Farrell as a cardiothoracic surgeon whose mentorship of a creepy teenage boy (Barry Keoghan) unleashes a terrifying, and impressively creative, plague on his wife (Nicole Kidman) and children (Raffey Cassidy and Sunny Suljic). Clue: It begins with the sudden loss of the ability to walk and then gets so much worse. “There’s this dark cloud that descends that gets darker and darker. Just really, really bleak. I mean, it’s pretty hopeless,” says Farrell, laughing so hard he’s clapping. “Way to sell it! Put that on the poster!”
“And very funny at the same time!” Lanthimos chimes in.
“Yeah, yeah, yeah, yeah,” says Farrell. “The feel-bad movie of the year! The Killing of a Sacred Deer is actually the nightmare that a character in The Lobster may have. You’d wake up relieved to be in the world of The Lobster if that was your dream.”
The two men clearly have a deep affection for each other, and Farrell knows Lanthimos well enough to go ahead and order shrimp on his watercress salad for him, plus extra black pepper, because he knows he’ll want it.
“Bon appétit,” says Lanthimos.
“Bon appétit, man,” says Farrell.
“I’ll eat while you speak.”
“That’s dangerous! I should use less words for sure.”
Sometime in the near future they’ll start on round three: an Amazon Studios limited series about the Iran-Contra affair (working title, Ollie) in which Farrell will play disgraced U.S. Marine Corps Lieutenant Colonel Oliver North. Though, “we don’t know what’s happening with that,” says Lanthimos. “It hasn’t been greenlit, but it’s an interesting project and we like working together, so …” This is the only project of theirs Lanthimos hasn’t written himself, which means they’re taking a flier on the pilot they’ve read from two young TV writers, and are still waiting for scripts. It’s a departure in the sense that Lanthimos, for once, isn’t creating a whole new world with its own set of rules (“It’s like, ‘Oh my god, something that’ll be borderline recognizable?” says Farrell), but barely a departure at all in the sense that Iran-Contra was, in its real-life facts, completely absurd.
“It’s kind of this satirization of a satire,” says Farrell. “But it made me laugh.”
“We agreed no prosthetics,” says Lanthimos. “I don’t think it’s so important to make the actors too much like the actual people involved because the story doesn’t change over time. You could find the same story in any period.”
“He agreed no prosthetics,” says Farrell, who seems a little less sure about his ability to embody an infamous former Marine without aesthetic help.
Farrell still remembers the Tuesday evening when he wandered into a theater in Philadelphia and saw Lanthimos’s 2009 Oscar-nominated Greek-language breakout, Dogtooth, which looks at the highly disturbing sexual awakening of three adult siblings raised in extreme isolation. “It really haunted me,” Farrell says. “It stayed with me so much. But I forget sometimes that I have the ability, perhaps, to reach out to a director. Then when we were doing press, I fucking hear Rachel Weisz [his Lobster co-star] talking about how she reached out to him and told him how much she wanted to work with him. Or Nicole telling me she reached out to him. I’m like, ‘Why the fuck didn’t I ever do that?’”
It turns out that Lanthimos was a little too proud to initially make his interest known, too. (Men!) The Lobster was his first English-language film, and he insists he’d thought of Farrell for the lead, but “there was a notion of what kind of films certain actors would do, and it was a very small film and we didn’t have much money.”
“The danger of perception,” says Farrell.
“Yeah, I learned after that, you know, not to listen to anyone about all these things, says Lanthimos. He made the final decision to cast him in part because he liked him from the videos of his interviews on YouTube.
“He couldn’t have went back too far or we wouldn’t be sitting here,” says Farrell — utterly cheery about his well-documented arc from Hollywood’s Next Big Thing, through getting sloshing drunk with many a reporter, and then drug rehab. I tell him I fondly remember how entertaining his interviews were back then. “Oh my god! Get your quote machine ready! Yeah, yeah, yeah, I was fun,” he says. Only Jennifer Lawrence has come close to matching him since. Farrell disagrees: “She’s got more dignity than I ever had.”
He’s also quick to point out that his eclectic streak of art-house films of late wasn’t by some grand career design: “Just the studios stopped calling,” he says, laughing. “No. Well, a little bit. But fair enough. I’ve done a couple of big, big films that cost a lot of money that didn’t quote-unquote ‘perform’ at the box office. So I get that the phone doesn’t keep ringing for those scale of films, and if anything that was an absolute blessing, that period.” He’s talking about the double whammies of Oliver Stone’s Alexander and Michael Mann’s Miami Vice, plus maybe that 2012 Total Recall reboot. “I just didn’t take ownership of the good fortune that I had that was the opportunities that were presenting themselves and I was kind of led — and I blame myself for this — down the path of this big one, this big one, this big one more often than not.” It took some time, but he figured out he just gets more satisfaction out of smaller films that take more risks and ask better questions because they’re not trying to please the largest number of people possible.
However he got here, Farrell seems to thrive in Lanthimos’s worlds, where everyone speaks in awkward rhythms, and no one does anything that would be considered normal human behavior. “When I read The Lobster, I couldn’t understand how anyone could say this shit and make it believable, in a good way,” says Farrell. My favorite, hilariously disjointed exchange in Sacred Deer — which Lanthimos enhances with ominous music, extreme camera angles, and a frame that pushes through the space ever so slowly, like a wary eye — is when a friend asks Farrell’s character how his kids are, and he replies, “Our daughter started menstruating last week.” Then Kidman’s character tells the friend that he and his wife should come over for dinner sometime. It’s as if the script were translated from Greek into English, then back to Greek, then back to English again, with all the niceties and transitions removed, and all that’s left is people blurting out the things that are flying through their heads as they’re pretending to listen to other people.
Meeting Lanthimos seems to have sparked in Farrell a creative awakening; he’s turning in some of the best work of his career, which includes his other film with Kidman this year, as the sole, pernicious male presence in Sofia Coppola’s The Beguiled, which they filmed in New Orleans immediately after leaving the Cincinnati set of Sacred Deer. “We had a hug and said, ‘See you in three weeks!’” Farrell says. “She’s easy, man. I enjoyed it. She’s brilliant as all that.”
He’s also logged time as “the douchey lawyer” opposite Denzel Washington in Dan Gilroy’s Roman J. Israel, Esq. (which, like Deer, premiered at Toronto), and as, in his words, “a douchey politician” opposite Robert Duvall in Steve McQueen’s 2018 Chicago bank-heist movie Widows. Bit of a trend? “I think I’m waking up to my inner truth,” says Farrell. “But at least I’m not getting offered many Marines and cops these days, which is nice, you know?”
After Toronto, he was headed back to London to continue working on Tim Burton’s live-action Dumbo, which he’d spent all summer flying back and forth to from the set of Widows — the first time he’s ever shot two movies simultaneously and, he says, “I don’t mean to get too melodramatic about it, but I won’t be doing that again. Greedy, I was.” He describes Burton’s Dumbo as an expansion of the Disney cartoon, centering on the crisis of Michael Keaton’s evil big-circus owner buying out the small circus Dumbo was born into, that Danny DeVito’s character runs, in order to exploit the elephants. Farrell plays a one-armed soldier named Holt who’s come back from war, having lost his wife, and is trying reconnect with his two kids who’ve been raised by the circus. “It’s very, very sweet,” he says, “and it couldn’t be any more different from Killing of a Sacred Deer if it was shot in fucking Aramaic.”
As for Lanthimos, he just finished shooting The Favourite, a racy period film set in 18th-century England that reunites him with Weisz, playing a duchess who’s in a love triangle with Queen Anne (Olivia Colman) and the duchess’s younger cousin (Emma Stone). “I’m editing now,” he tells me.
“Like, right now, as he’s pretending to listen to us,” says Farrell.
“As we speak,” says Lanthimos.
“You must take Yorgos very literally,” says Farrell, flashing his friend a smile. Lanthimos nods, and then I’m pretty sure goes back to not listening to us again.
*This article appears in the October 2, 2017, issue of New York Magazine.
*This article has been updated since its original publication.
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()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),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(3),appendLandingPageParams=require(135),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 i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.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()||auth.isMobileAppRequest())&&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;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),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(406),_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,"406":406,"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","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.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();
// ]]