We may not be able to enjoy many of our favorite festive traditions this year, but we still can watch all the seasonal movies we want from the safety and comfort of home. From classics like Home Alone to new releases like Happiest Season, we’ve got you covered for a holiday movie marathon.
Love Actually (2003)
Photo: Peter Mountain/Universal/Dna/Working Title/Kobal/Shutterstock
Love it or hate it, there’s no denying this film’s place in the canon. Twee characters collide as they search for love and grapple with lost connections at Christmastime. Directed by Richard Curtis, this romcom explores the many forms love can take (and will get “God Only Knows” by the Beach Boys firmly stuck in your head).
A Charlie Brown Christmas (1965)
Photo: Walt Disney Television via Getty
Charlie and the Peanuts gang come together to celebrate Christmas in the first-ever animation based off of the famous comic strip. The group partakes in standard holiday fare, like ice skating, buying a tiny fir tree, and getting ready for Santa’s arrival. If you’re feeling a little Grinch-y, it will bring you some holiday cheer.
Nightmare Before Christmas (1993)
Photo: Touchstone/Kobal/Shutterstock
Is this a Halloween movie or a Christmas movie? It’s either, it’s both!In this Tim Burton stop-motion gem, Jack Skellington, the Pumpkin King, discovers Christmas Town and decides he wants to be in charge of a new holiday.
The Family Stone (2005)
Photo: Moviestore/Shutterstock
In this comedy-drama, a family comes together for the holidays with their significant others in tow. This film normalizes the chaos of Christmas we’ve all experienced, making it an ideal film for holiday realists. The cast includes some major stars, including Diane Keaton, Rachel McAdams, Sarah Jessica Parker, and Claire Danes.
National Lampoon’s Christmas Vacation (1989)
Photo: Warner Bros/Kobal/Shutterstock
This film revolves around the Griswold family’s Christmas and the season’s many misgivings. If you’re looking for a bit of slapstick comedy mixed with some good ol’ ’80s vibes, this one’s for you!
The Holiday (2006)
Photo: Sony Pictures/Kobal/Shutterstock
In this Nancy Meyers treat, an L.A.- film-trailer creator (Cameron Diaz) and a small-time English journalist (Kate Winslet) switch houses for two weeks over the holidays and in the process find love. Get ready to swoon over Jude Law and Jack Black in this heartwarming tale that will remind you to never settle and always be open to new connections.
It’s a Wonderful Life (1946)
Photo: Rko/Kobal/Shutterstock
For many families, this Frank Capra classic requires an annual viewing. Jimmy Stewart thinks his loved ones’ lives would be better without him; his guardian angel Clarence shows him how wrong he is. (The film, originally made in black and white, has also been remastered in color if that’s more your vibe.) This lovely tale will remind you how important your family and friends are no matter the time of year.
How the Grinch Stole Christmas (1966, 2000, 2018)
Photo: Moviestore/Shutterstock
You’ve got options on this one: the original Grinch cartoon, Jim Carrey’s hilarious live action version, and the recent animated remake with Benedict Cumberbatch voicing the title character. Take your pick or marathon the well-known tale of a grouch who finds his holiday cheer.
Rudolph the Red-Nosed Reindeer (1964)
Photo: NBCUniversal via Getty Images
In this stop motion flick, outcast reindeer Rudolph is asked to guide Santa’s sleigh on Christmas Eve when the skies get foggy. He saves the day and …goes down in history. Maybe not sophisticated enough for kids today, but a nostalgic watch for lots of grown-up kids.
Frosty the Snowman (1969)
Photo: Rankin-Bass Prods/Kobal/Shutterstock
In this family film, a group of kids bring a fun-loving snowman to life. You’re probably singing the title song in your head right now.
Elf (2003)
Photo: Alan Markfield/New Line Prods/Kobal/Shutterstock
This one will have everyone in stitches. Will Ferrell plays an elf named Buddy who discovers he is actually a human. He travels to NYC to find his real dad. It goes great.
Polar Express (2004)
Photo: Castle Rock/Shangri-La/Kobal/Shutterstock
A group of kids board an express train headed straight for the North Pole. If you can get past the uncanny valley,this enchanting adaptation of Chris Van Allsburg’s tale is perfect for anyone trying to embracing their inner child and not losing sight of holiday magic.
Four Christmases (2008)
Photo: New Line/Kobal/Shutterstock
A couple (Reese Witherspoon and Vince Vaughn) typically goes on vacation every Christmas, but with flights canceled they are forced to spend the holiday with their families. The day is not an easy one, as they have a total of four houses they have to visit.
Home Alone (1990) and Home Alone: Lost in New York (1992)
Photo: Moviestore/Shutterstock
In these two flicks, McCauley Culkin plays a kid who is accidentally left alone on Christmas … twice. The shenanigans are nothing short of iconic and will remind you that the holidays really are all about family. (Or maybe family, with a sprinkle of chaos.)
A Christmas Story (1983)
Photo: Mgm/Ua/Kobal/Shutterstock
This one’s easy to catch — TBStraditionallyplays it for 24 hoursonChristmas day. It follows a young boy named Ralphie in the weeks leading up to Christmas, as he tries to guarantee he’ll get an Official Red Ryder Carbine-Action Two Hundred Shot Range Model Air Rifle for Christmas. This wholesome pick is great for family movie night.
Last Holiday (2006)
Photo: Paramount/Kobal/Shutterstock
Queen Latifah plays a woman who is misdiagnosed with a terminal illness and decides to go all-out for her last holiday. You’ll want to make the most out of your own holiday season after watching.
The Muppet Christmas Carol (1992)
Photo: Jim Henson Productions/Kobal/Shutterstock
This Jim Henson creation is based on Dickens’s A Christmas Carol. The fun take on the classic tale features your favorite Muppet characters: Kermit the Frog, Mrs. Piggy, and Gonzo.
Miracle on 34th Street (1947 and 1994)
Photo: 20th Century Fox/Kobal/Shutterstock
In this oldie, a man claims to be the real Santa Claus, leading to a mental health examination. Meanwhile, a young girl struggles to believe in Father Christmas. Will the truth get people to believe? After watching the 1947 original and the 1994 adaptation, you’ll be addressing your letter to the North Pole.
The Santa Clause (1994)
Photo: Disney/Kobal/Shutterstock
In this Disney throwback, a disengaged dad turns into Santa Clause and in the process reconnects with his son. This family flick features the comical stylings of Tim Allen along with some charming Christmas magic.
Little Women (1994 and 2019)
Photo: Joseph Lederer/Di Novi/Columbia/Kobal/Shutterstock
Okay, so this one isn’t about Christmas, but they definitely celebrate it in both adaptations. These films are based on the book by Louisa May Alcott and chronicle the lives of the March women, as they grapple with love, loss, and adversities. Watch both versions and argue with your friends over who makes a better Laurie: Christian Bale or Timothée Chalamet?
The Christmas Prince (2017)
Photo: Netflix
In this unexpected cult classic Netflix original, an NYC-based journalist travels to Aldovia to do a secret expose on the Royal family, but then falls in love with the prince. This flick will let you live out that fantasy you used to dream up in your head about marrying Prince Harry. Meghan Markle, you are one lucky girl.
Beauty and the Beast: The Enchanted Christmas (1992)
Photo: Buena Vista Pictures/Courtesy Everett Collection
In this Disney animation, Princess Belle has to get the Beast in the holiday spirit. Quite the difficult task! Also, have fun spending half the time trying to figure out why the beast is still a beast — he turned into a prince at the end of the original film, right???
The Kranks, who typically go pretty hard for Christmas, decide to go on a cruise instead, since their daughter isn’t coming home for the holidays. But when she decides to visit at the last minute, the Kranks must pull together their elaborate Christmas decorations and party at the last minute.
Mickey’s Christmas Carol (1983)
Photo: Walt Disney Co./Courtesy Everett Collection
More Christmas Carol — Dickens did practically invent our modernconception of the holiday, to be fair. This Disney short featuring Mickey Mouse, Minnie Mouse, and Donald Duck is charming and sweet and only 26 minutes.
Die Hard (1988)
Photo: 20th Century Fox/Kobal/Shutterstock
To appease the person who doesn’t actually want to watch a Christmas movie. In this action film, a terrorist group takes over a high rise office building in L.A. on Christmas Eve and NYPD cop Bruce Willis must step in to save the day. If you’re looking for a bit of action mixed with holiday vibes, look no further.
Eloise at Christmastime (2003)
Photo: IMDB/Disney
The menace of New York’s Plaza hotel back and she’s ready to celebrate the holidays and wreak jolly havoc. Based on Kay Thompson’s beloved children’s books, Eloise at Christmastime is ideal for kids and the those who are kids at heart.
White Christmas (1954)
Photo: Paramount/Kobal/Shutterstock
In this 1954 Christmas extravaganza, a group of singers are preparing for a holiday performance in Vermont. If movie musicals are your thing, this flick featuring Bing Crosby is the right pick.
Meet Me in Saint Louis (1944)
Photo: Moviestore/Shutterstock
This 1944 movie-musical featuring Judy Garland chronicles a year in the lives of four sisters in St. Louis. So, it cycles through all four seasons, but is most famous for its Christmas scene, with Judy Garland’s rendition of “Have Yourself A Merry Little Christmas.” Filled with dancing, music, and vibrant costumes, this one is sure to leave a smile on your face.
Last Christmas (2019)
Photo: Jonathan Prime/Universal/Kobal/Shutterstock
Henry Golding. That’s all. That’s enough. In this 2019 Christmas rom-com, a Scrooge-y woman who works as an elf at a Christmas shop meets a charming young man who shows her how magical the season can be.
The Princess Switch (2018)
Photo: Gabriel Hennessey Netflix/Kobal/Shutterstock
In this Netflix original, Vanessa Hudgens plays a princess and a teacher who switch places during the holiday season. Both characters end up falling in love, but will Christmas magic be there to save them when they reveal the truth? This modern romance and it’s sequel are totally corny but in a good way!
Happiest Season (2020)
Photo: Hulu
In this Hulu original, Abby (Kristen Stewart) is going home with her girlfriend Harper (Mackenzie Davis) for the holidays. Abby’s plans to propose are derailed when she discovers Harper hasn’t come out to her family.
Black Christmas (1974)
Photo: Moviestore/Shutterstock
Tacking on a curveball at the end here for horror-lovers. Yes, it’s a slasher about sorority girls being terrorized by an intruder during winter break. It’s also genuinely unnerving and totally seminal (it originated “the call is coming from inside the house”). Plus the Last Girl is a badass.
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();
// ]]