Introducing Meteor Compat Packages

Hello, we are introducing a new organization on Github to help all Meteor apps to be running on latest Meteor.

Our goal is simple but quite challenging as well, we want to provide compatibility versions of popular packages that are no longer maintained.

The word compatibility is important, we are not planning to add new features or fix bugs in all popular packages but we do want to provide a way, when possible, to keep these packages running without requiring a lot of changes in your code base.

For this we are creating a new organization on Github called Meteor Compat Packages where we are going to host the changes that we are doing.


The first compatible version was created today for useraccounts:core. As the authors are not using the packages in atmosphere anymore we are taking care of the publish part as well. When possible we are going to publish under the same package name so you don’t need to change package names everywhere in your app.

We have also created a very simple example app to show that useraccounts:core is running along side with Meteor 2.4 now.


We know a bunch of questions will emerge and also a bunch of requests and we count with our community, as always, to help us out here.

Let’s try to focus discussions and requests for new compatibility versions in our Discussions space in the Meteor main organization. The discussions space is where the Meteor core team is tracking and try to engane as much as possible to refine any ideas and requests around Meteor.

Meteor is focused in providing a good experience for users in all stages, from new users to users that are with us since the first versions.

I hope this new initiative helps people developing with Meteor for a long time and that somehow got stuck in a specific version because of non-core packages.


We don’t expect these compatibility versions to be perfect in the first try, we are going to learn together and improve this process together so be patient and respectful. Done is better than perfect.

24 Likes

@filipenevola maybe adding a new category to discussions like Compat packages so it doesn’t pollute ideas and general?

1 Like

I love the idea overall, just like the Meteor Community Packages. I do have one concern, though:

Is this something that you’ve confirmed with the authors? In some cases, it may be unwanted, as the person or a company may not want their name to be connected to a certain package (anymore).

Also, is the author still allowed to update the package afterward? What if the author decides to revive the package? Or even worse, publish a new version with some malicious code without pushing it to the repository?

I don’t think that any of these will happen, but it may. npm has its Dispute Resolution – maybe Atmosphere should also have one? It’s not the exact same problem, but it’d be nice to have it clearly stated somewhere, that “Meteor officials” may “overtake” your package.

3 Likes

Good idea. Done. Compact Packages category is created Discussions ¡ meteor/meteor ¡ GitHub

Hi, this will be used for package where the authors are not around anymore and the Meteor Community Packages don’t want to take over this specific package.

Also the author won’t be allowed to publish changes anymore.

And thank you for the feedback about Dispute Resolution, I’ve already updated Atmosphere “Publishing” page to include more info about the points discussed here.

Good idea, because most meteor training programs are outdated at both coursera and udemy, when follow, we do get some oudated packages which prevent us to progress. If something like this come i think will help some us. Also don’t you think, there should be law if package owner is not active for a period of time and such packages has been uses by people in project should be own by the meteor community?

Hey, we are getting below issues while running meteor update --release 2.4

=> Errors while initializing project:

While selecting package versions:
error: Conflict: Constraint accounts-base@1.2.4 is not satisfied by accounts-base 2.1.0.
Constraints on package “accounts-base”:

  • accounts-base@~2.1.0 ← top level
  • accounts-base@2.1.0 ← accounts-password 2.1.0
  • accounts-base@2.1.0 ← service-configuration 1.2.0 ← accounts-base 2.1.0 ← accounts-password 2.1.0
  • accounts-base@1.2.4 ← std:accounts-ui 1.3.1
  • accounts-base@1.9.0 || 2.0.0 ← alanning:roles 1.3.0
  • accounts-base@1.7.1 || 2.0.0 ← matb33:collection-hooks 1.1.0
  • accounts-base@1.7.1 || 2.0.0 ← apollo 4.1.0

Conflict: Constraint email@1.0.10 is not satisfied by email 2.2.0.
Constraints on package “email”:

  • email@2.2.0 ← top level
  • email@~2.2.0 ← top level
  • email@2.2.0 ← accounts-password 2.1.0
  • email@1.0.10 ← std:accounts-ui 1.3.1
  • email@2.0.0 ← mdg:meteor-apm-agent 3.3.0

Conflict: Constraint accounts-password@1.1.6 is not satisfied by accounts-password 2.1.0.
Constraints on package “accounts-password”:

  • accounts-password@2.1.0 ← top level
  • accounts-password@~2.1.0 ← top level
  • accounts-password@1.1.6 ← std:accounts-ui 1.3.1
  • accounts-password@2.1.0 ← nimble:restivus 0.8.13

Could you please suggest how we can upgrade the meteor to 2.4 from 1.6? This to be done asap.

HI @sinhadeepak ,
The package that is preventing you to update is std:account-ui. Try to remove it to update.
By looking the PRs of this package, I found this newer version : GitHub - e-Potek/accounts-ui: Accounts UI for React in Meteor 1.3+
I think you can replace the package :slight_smile:

Meteor useraccounts:core compat version has been updated to 1.16.1 to remove the old dependency to t9n and replace it by it’s Npm equivalent.

This removes an inner dependency to a low coffeescript version which was blocking some other package updates :slightly_smiling_face:

Thanks @filipenevola !

3 Likes

So, what do I have to do in order to replace with the new “Compat Package”? Just a Meteor update will suffice as they will continue to have the same name?