I'm still on Meteor 2.14 -- is it time to upgrade? [UPDATE: Is it time to leave Windows?]

My Meteor project is on 2.14… I’ve been focussed on building new features and getting MVP.

I just upgraded to Bootstrap 5 from BS4 and OMG it took a lot of work.

I’m afraid to upgrade… what packages will break.

But every time I hit CTRL+S … it’s almost 60 seconds before Meteor comes back to reload and test a SIMPLE change.

Any advise?

Why don’t you just try? Start with small and see if it works for you. After all, you’re not supposed to commit if something does not work. And thus, you could also help pointing out certain issues, if encountered and thoroughly checked.

Because I have 3 clients signing up on my new SaaS this week…

I need stability and speed. Not more bugs to fix.

I’ve been asking here and there without an answer. I think you cannot deploy Meteor 3 to production with the actual Beta version. I am also waiting for a possibility to deploy so I can move on with a lot of stuff.

You can start to upgrade at any time.

Hey I looked around the forums here a guy said he moved a major SaaS to Meteor 3, he had to hire a TEAM of engineers to rebuild packages.

I think Meteor 3 is akin to the issues of Moodle 1.9 to Moodle 2.0 – A MAJOR overhaul.

I think I will ship with the current Meteor…

You don’t have to but you will :slight_smile: Just update your app to 2.14 and prepare for Meteor.js 3.
Reduce your package dependencies and improve your test coverage. All the important packages will be ready soon. While waiting toss some coffee to important devs.

2 Likes

This cannot be stressed enough!

I know you’ve been around for a long time, so you may remember when Meteor shifted to ES6 and started recommending not using global variables anymore, using imports, first class support for NPM, etc.

If you have refactored a major app at the time, getting rid of var and replacing with const, let, implementing arrow functions, peppering a lot of import and export everywhere and so on, well, it is more like that, but with the added risk of forgetting to prefix a function call with await

And there is also the waiting for some essential packages to be upgraded, depending on what you use, but there have been some huge strides lately. @guncebektas’s advice is sound: make sure you run on 2.14, start with small changes, limited scope (e.g. don’t jump first at changing some methods that are highly coupled), and you should be fine. My advice: leave whatever concerns accounts-* and webapp until 3.0, because many API changes are not available in early versions (but in my opinion are some of the easiest to update)

And if you can, do send some contributions, whatever you can afford, towards community devs’ evening beers :slight_smile:

HUGE UPDATE I am leaving the Windows ecosystem.

I usually develop for Moodle, which is HIGHLY recommended not to run on Windows, even though you can. Why? File system on Windows sucks for Moodle. Moodle has like a million files.

So my application for Meteor took literally 30-50 seconds to reload on Windows… I was getting ready to move to Ubuntu and format… which will take forever and I’m not ready…

So I moved my Meteor development to my Macbook Pro M1. Meteor reloads INSTANTLY.

Heck yeah, I can put off the Meteor upgrade for a while longer.

If you’re developing on Windows… STOP.

Cheers all. www.ScalarSites.com

1 Like

:smiley: Well, better later than never… :wink:

ARGHHHHH everything was working so well on the Mac. Page reload was like… instantly fast.

I have only changed code, no packages, and now I’m back to friggin 30 second load time per change.

See? 19s load time

Meteor 3 is still in beta state
So I think it’s not good idea to migrate production service to it now
I suggest you to stick with you current version - maybe applying 2.x patches
On the other hand you’ll have to migrate to 3 someday
You can prepare by writing tests or create like separate branch and maybe deploy it to smth like
new.yourservice.com using the same db (this should work, but it’s just an idea)

1 Like

While I agree this is sound advice for production, I’m tempted to believe the long load time may not have anything to do with Meteor 3.0 in itself. If anything, we noticed improved performance in our case, although I will not go into details as it may be due to a variety of reasons besides Meteor.

@SkyRooms, out of curiosity, when you said you changed the code only, did it have to do anything with the webapp package? Do you have any middleware being used by WebApp.rawHandlers? Also, would be good to keep an eye on the CLI, and see if there is a significant delay between your code change and the meteor app reloading, since what you see in the browser may be a different issue.

Last but not least, I would disable most packages, keep what is necessary for a minimal boot, then add the packages back, one-by-one. From the brief list seen in your screenshot, looks like you also use some development packages, which may be interfering with your app. I would reconsider them, especially in the case of long abandoned packages like msavin:mongol.

Its all of a sudden back to being lightning fast…

Good point on the packages… I’m a much better developer now, so I’ll start stripping down and building any custom modules to see if I can’t get my bug fixed.

I should point out that creating a brand new skeleton package on my mac was FLAWLESS. My Windows computer couldnt even generate a new package. Stay away from Windows + Meteor… IMO

1 Like

Be aware that security patches for Node 14 (which is used by Meteor 2.x) ended last year in April. The Meteor core maintainers have been extending that support in the stead of Meteor 3 being released. That extended support ENDS this April, as in you MUST update to Meteor 3 some time in the next few months to continue to get security patches for Node (Meteor 3 supports Node 20).

1 Like

Roger that, thanks. I went down the rabbit hole I don’t actually have too many packages, and a lot I can remove anyway.

UPDATE: My Meteor builder command processes in like 3 minutes! The longest part of my installer script is now ZIPPING. Incredible.

My opinion is DO NOT develop on Windows! Ubuntu or Mac is so much better for Meteor… anything really!

It’s not about Meteor. It’s about Windows :joy:

Agreed, I use WSL for my local dev to avoid Windows pain. That being said, the Meteor linker itself is the subject of a lot of targets for perf enhancement right now. Check out this Github PR for the most recent attempt: Faster and simpler linker for Meteor 3 by zodern · Pull Request #12692 · meteor/meteor · GitHub

Hey another note, Github copilot works WAY better. It can read my entire codebase in a second on Mac where as it failed on Windows.

I’m getting SO much done!