Why is aldeed:autoform@6.3.0 trying to pull in jquery@1.11.6

I am trying to move some projects to 1.9, but any project that has the latest version of aldeed:autoform stubbornly tries to downgrade jquery, and I don’t get why

While selecting package versions:
error: Conflict: Constraint jquery@1.11.6 is not satisfied by jquery 3.0.0.
Constraints on package "jquery":
* jquery@3.0.0 <- top level
* jquery@1.11.9 || 3.0.0 <- blaze 2.3.4 <- accounts-base 1.5.0 <- accounts-password 1.5.3
* jquery@1.11.9 || 3.0.0 <- blaze 2.3.4 <- aldeed:autoform 6.3.0
* jquery@1.11.6 <- aldeed:autoform 6.3.0
2 Likes

Only way I was able to fix this was by cloning aldeed:autoform and changing the version of jquery in package.js to explicitly require jquery@3.0.0

If anybody has a better idea I would love to know

1 Like

Meteor 1.8 introduced what is basically the !important of package versioning.
So in your .meteor/packages, you can add an ! to the end of a package to say, I want this version and please ignore version constraints from packages:

So in your case it would be:

jquery@3.0.0!

More info from History.md:

The .meteor/packages file supports a new syntax for overriding problematic version constraints from packages you do not control.

If a package version constraint in .meteor/packages ends with a ! character, any other (non- ! ) constraints on that package elsewhere in the application will be weakened to allow any version greater than or equal to the constraint, even if the major/minor versions do not match.

For example, using both CoffeeScript 2 and practicalmeteor:mocha used to be impossible (or at least very difficult) because of this api.versionsFrom("1.3") statement, which unfortunately constrained the coffeescript package to version 1.x. In Meteor 1.8, if you want to update coffeescript to 2.x, you can relax the practicalmeteor:mocha constraint by putting

coffeescript@2.2.1_1! # note the !

in your .meteor/packages file. The coffeescript version still needs to be at least 1.x, so that practicalmeteor:mocha can count on that minimum. However, practicalmeteor:mocha will no longer constrain the major version of coffeescript , so coffeescript@2.2.1_1 will work.

3 Likes