As someone who seriously considered replacing our usage of Meteor for one of the “modern” stacks (Next, Nuxt, SvelteKit, etc), I basically gave up and stuck with Meteor (well, and Hono - I’ll get back to that).
I think the main differentiators are that a lot of things are provided to you almost out of the box, apart from writing the frontend part. And to be honest, that’s something that used to be more achievable when Blaze was the de facto solution for Meteor frontends.
Auth is a big one. Setting up Auth with Meteor is a lot easier than with other solutions. Lucia Auth might be technically superior, but it’s evolved quite rapidly and I honestly need to review all of said changes to know how it works now. Meteor auth, for better or worse, still works roughly the same ways, with its SHA’d and bcrypted passwords and its localstorage saved tokens Other frameworks can otherwise be downright hostile towards setting up a darn auth solution, like it’s one of the most vital parts of your application but the framework avoids the topic, or has some weirdness with cookies and SSR+Hydration. Those frameworks are still good, but they’re focusing on different problems, often optimising frontend delivery and performance. Meteor’s happy to let you deliver an SPA and assume your SEO is being addressed some other way.
Pub/sub is another. TanStack Query is pretty good, but Meteor pub/sub and minimongo really covers a lot of use cases at once. Yes, Oplog trailing is not ideal for performance, and it gets complicated in production because you might want to bring in Redis Oplog and now you have two databases to provision and pay for. But, the pieces are all there for you, and not quite as hard to find as they would be if they were just strewn across NPM by maintainers who don’t even know each other exist.
Meteor’s check library was basically Zod before Zod was cool, and now Zod’s much more advanced than Check plus Simpl(e)Schema(2) because of the sheer community effort to evolve it, but again, that’s another component provided in an otherwise chaotic JS ecosystem.
The only other stack I would recommend that you can pretty much start with right out of the gate for things like MVPs (that might live longer than you expect) would be Adonis, as long as you commit to using the server rendered pages + something like HTMX.
Adonis basically took inspiration from Laravel and went “you know what? Let’s implement everything ourselves that you might need for an app”.
Or, do a hodgepodge app with Hono and all the cool stuff, and just add what you need as you need it. Or maybe embrace (extend extinguish ) Microsoft’s ASP framework, it’s more complicated but it more or less comes with everything.
Speaking of Hono, that’s a major one we’re adopting simply because it’s like a modernised Express that can be adapted for serverless, Node, CloudFlare etc. And the creator & other contributors seem really dedicated to building out an ecosystem for it, eg with Zod and OpenAPI integration. It’s ambitious but pragmatic and like Meteor I like the idea of everything being thought out so I don’t have to reinvent the wheel, which is not so valuable to the company