Sun’s out, gifts out. That’s the motto at Vulture dot-com, even if it doesn’t rhyme. Between dads, grads, poolwarmings (like a housewarming but wetter), Leo birthdays, and summertime self-care, there are any number of reasons for a thoughtful prezzie. But seriously, do you really need an occasion to buy a little treat, or is it your divine right? Once again we have rounded up the best pop-culture gifts for summer. Presents? For summer? Groundbreaking.
The official Stardew Valley cookbook leaves nothing to the imagination; it brings all the fried eggs and chocolate cake you slobbered over while playing the cozy life sim into your kitchen. Written by Stardew developer ConcernedApe and Ryan Novak, who previously contributed to the Hollow Knight Wanderer’s Journal, this sweetly illustrated cookbook from Random House is both fun fan-service and a genuinely useful cooking guide. It occasionally features introductory notes “translated from the Dwarvish” and recipe titles that don’t even look appealing on your Switch screen, like a Strange Bun with Void Mayonnaise. But all recipes, organized by season, are adjusted for real-world palates — Void Mayo, it turns out, is more of a black garlic aioli — and they’re simple enough that you won’t need to level up to enjoy them. —Ashley Bardhan
When I was 12, my local librarian taught me how to crochet, and I started a crochet club at school. All my posters were vandalized to advertise “a crotch club” and I subsequently gave up on ever learning to properly crochet again — until I received a Woobles Sanrio crochet kit. It was incredibly easy to learn to actually make something as opposed to just doing straight lines; I’ve made several Cinnamonrolls and My Melodys using the video tutorials and tools from the kits. Now that I’ve become obsessed with crafting, the next thing on my list from them is this Snoopy kit. Because why would you need to go to CVS to fight over a sold-out Puffer Snoopy when you can easily make one yourself? —Alejandra Gularte
Donuts never taste as good as they look on The Simpsons. Sad but true! Matt Groening has been appropriately lauded for the silhouette theory of character design, but all the designers deserve some credit for making cartoon food that’s appealing. This cross-body bag is perfect for summer because it’s colorful, fun, and probably acceptably small for concert venues/festivals. —Bethy Squires
The best hat for summer, dad or no. It’s the perfect “me in Greece” blue, the logo is weird (looks like a defense contractor but it is actually for Kylie Jenner’s canned vodka-soda brand), and the way the adjustable back is tucked inside the hat is sleek. Also? Very soft. —B.S.
In addition to being a professor in the Tortured Poets Department, Taylor Swift is also a crafty lady; she was seen hand embroidering in a YouTube Short. This mini-tote-bag kit inspired by Swift’s Surprise Song piano on the Eras Tour has everything you need to embroider cute flowers for a simple “if you know you know” fan merch. (It frequently sells out, but continues to be restocked on the website, so try again if you can’t get it the first time.) —A.G.
Justice for Zac Efron, who deserved an Oscar nomination for his gut-wrenching performance as professional wrestler and beloved brother Kevin Von Erich in Sean Durkin’s The Iron Claw. A24’s merch can be ludicrous, but this little version of Kevin — complete with square jaw, insane musculature, and wonderfully shiny robe! — is just detailed enough to be both goofy and adorable. A suitable Father’s Day gift for any dads still sniffling about the Von Erich curse; pair it with a printed-out picture of an Oscar statuette to really emphasize the honor Efron should have received. — Roxana Hadadi
I’m someone who can barely differentiate a birdie from a bogey, but I still found Curb Your Enthusiasm’s golf-centric episodes to be some of the most enjoyable in the series. (I’ll be thinking of Subject: Swan Killing for a long time.) This shirt, as part of Malbon’s special Curb collection, picked the perfect photo of Larry on the green in commemoration of the finale. Good sleeve length, too! I’d like to wear it everywhere while cursing out children that I don’t watchWizards of Waverly Place. —Devon Ivie
Disney+’s Star Wars series have been so inconsistent that Andor’s near-perfect first season was a shock. And so too was the announcement that Andor was getting a physical-media release, given that so often streaming series remain locked in the digital space without any ability for a consumer to actually own the product they pay for. Get your hands on this one while you can, especially in its fancy steelbook form. Perhaps a new graduate in your life would find some kind of inspiration in the series’s meaningful “Remember this: try” manifesto? —R.H.
For all the Challengers freaks you know, and the ones you’re trying to get to know (ahem): a tennis set that goes anywhere you go. Like maybe two twin beds pushed together? —R.H.
Posteritati specializes in dealing high-quality original movie posters. It offsets the furtiveness of a shadowy film like Todd Haynes’s May December for Netflix, which interrogates one’s motivations for mimicry and Julianne Moore’s fake lisp. This French poster is a perfect, scarlet-flushed encapsulation of May December’s moody deception. In it, Moore and Natalie Portman swap places in the foreground as if separated by a portal, creating an elegant artifact from one of the most impressive movies made for streaming. —A.B.
As Meredith Brooks once sang, “I’m a musician, I’m an AI truther, I’m a Canadian, I’m a mother of three of Elon Musk’s 8,000 children.” The controversial artist Grimes has, through the years, bounced in and out of a strange enlightenment — she once noted that war would be “a lot less painful” if it only happened in Fortnite — but her vibrant new merch line is one of her better ideas. The “Our Lady of Perpetual Chaos” T-shirts are made in collaboration with Not Applicable Vintage, so each one repurposes an old, but loved, piece of clothing. It’s the coolest and most comfy way to await ChatGPT’s eventual campaign for president. —A.B.
Godzilla Minus One made history in 2024, becoming the first film in the 70-year-old franchise to win an Oscar. Collectible manufacturer Super7’s Godzilla Minus One action figure may not have the cachet of that little gold bald guy, but it has something better: big, fatty lizard paws. The eight-inch figure bears majestic resemblance to the 164-foot mutant that steamrolls the world in Minus One, with an interchangeable screeching head and a moveable, barbed tail. Tokyo might not need to watch out, but the spiders concealed in your cupboard certainly should. —A.B.
Prime Video’s Fallout show is more of a warning call than an advertisement, suggesting that putting too much faith in corporate hell can only lead to face-melting doom. But, like, weren’t their post-apocalyptic outfits kind of chic? Bethesda’s impressive die-cast wearable replica of a grimy Pip-Boy, the series’ chunky version of an Apple Watch, lets you harness that tarnished glamor without your nose falling off from annoying radiation. It comes with a TV-accurate animated LCD screen and a working FM radio, so you can determine if Sabrina Carpenter would still hit post-nuclear missile. —A.B.
Ugh, life is so annoying. There are hardly ever any opportunities to tag yourself with increasingly esoteric genre markers like a #letterboxd #review. Criterion Channel, supplier of good taste and sexy DVDs, is thankfully here to change that with its genre T-shirts. In sophisticated black-and-white, these made-to-order shirts will announce your distilled self to the world in smooth Criterion font. On your way to a first date, but don’t want to seem too enthusiastic? Pull on the Mystery tee. Are you a newborn baby in Bushwick? Spit some milk up on the Indie — and look good doing it. —A.B.
Ice cream and summer. They go hand in sticky hand like music and lyrics, Thelma and Louise, Tom Schwartz and Tom Sandoval. The Chocolate Cookie Crumble Bar is a perfect treat for on-the-go indulgence. The ice cream has a hint of Madagascar vanilla, swirled with fudge. Covered in milk chocolate and chocolate cookie pieces, it’s a real “Treat Yourself” moment from crunchy start to sweet finish.
The perfect game to play with all your Peter pals has arrived. Channel your inner Parvarti and squint your way to victory by deceiving your loved ones. There’s an easy instruction video available to help you figure out how to play and get to scheming. Heads up, this game is shipping from the U.K., but it arrived about a week and a half after ordering, so the wait wasn’t too long. They also have a board game and cloaks available for the full experience (Alan Cumming not included). —A.G.
This is a gift for the Gen-Z grad in your life who’s been mumbling “that’s that me espresso” under their breath for the past month. The glass is in a clear amber color that’ll go perfectly with … tea. Okay, okay, it’s probably going to be just for coffee, but who doesn’t love a nice sip of espresso? It’s currently on pre-order and will ship on June 20. —A.G.
As a lifelong Poké girl, anything with Pikachu being cute has me crumbling to the floor. Add in an adorable merch item that actually serves a function? Oh, la la. I can already imagine my summer adventures with this cooler backpack: going to outdoor movie nights, beach days, and hanging out by the pool. It holds 24 cans, which is perfect for an all-day outing, and since it is a backpack with actually sturdy straps, it makes it a hell of a lot easier to carry around all of my Diet Coke, or whatever other potions I need to refuel. —A.G.
For your (probably) bisexual friend who loved Challengers … a shirt from the hottest fictional tennis event of the summer to wear to the beach, to the club, to your next Hinge date, to the U.S. Open, to dinner, to a live taping of SNL, to Pride, and of course, to play tennis. My favorite thing about this is that it’s not completely obvious movie merch, but those who get it will get it. And it’s a nice shade of green! —Zoe Papelis
These hats, created by writer/director Drew Pearce’s production company Point of No Return Films, offer you two options: You can communicate to onlookers that you’re a sophisticated, forward-thinking cultural consumer, or you can buy a black hat. Either way, the proceeds go to the Children’s Hospital in Los Angeles — so in that sense (and only that sense) there’s no wrong choice. —Neil Janowitz
The downfall of Etsy as a dropshipping paradise has been a continued source of disappointment for me over the past year or so. If it wasn’t for this one seller, I’d be gone from the platform entirely. A Canadian woodworker has been making my record holders for the better part of my career as a music writer — I’ve purchased an assortment of sizes and finishes for my small apartment, where they’re resting comfortably on my shelves and luxuriating in the liner notes. (I’m actually looking at one of them while I type this. Talking Heads’ Speaking in Tongues is in the coveted front position!) The only downside? Because they’re all handmade, I’ve often had to wait more than a month for delivery. But who cares. They’re worth it. —D.I.
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(4),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(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 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,"4":4,"12":12,"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();
// ]]