How can i easily discover and update upstream versions of packages (less, coffeescript, etc.)?


#1

it’s come to my attention through much pain that the versions of libraries included in their Meteor packages are not necessarily their current versions… sometimes with quite significant differences.

by digging through ~/.meteor/packages/ it seems that the version of LESS installed via

meteor add less

is 1.7.4, released June 27, 2014. the current version is you get from

npm install less

is 2.5.0, released a few weeks ago. i’ve also noticed this issue with CoffeeScript (Meteor appears to use 1.7.1, released January 29, 2014, where as the current version is 1.9.2).

i understand that there is likely some work in adapting new releases for Meteor, but how can i easily discover which upstream version the Meteor package is based off? and how would one go about updating them? i can’t even find a link to the Meteor package sources on their atmosphere pages.

a lot of the tech here is rather bleeding edge, and it’s really difficult to be working against docs and command line tools that significantly differ from the versions being used in Meteor (i ran into this with LESS / Bootstrap… my LESS parses fine in the 2.5.0 compiler but throws a missing '}' at a line that doesn’t exist when trying to boot Meteor).

thanks in advance, Neil.


#2

I don’t think there will be an easy way to do what you want outside of the package. I am basing this off of the way that the core team gets the node mongo version (shown below) which only works in the package because of Npm.depends().

Code from npm-mongo package to get version:

NpmModuleMongodbVersion = Npm.require('mongodb/package.json').version;

#3

thanks for the answer. i don’t have time right now, but i’ll look into that further when i get a minute. i would like to at least be able to get the versions that Meteor is using so i can try and reference the relevant docs and source for those versions of the libraries.