Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Support versioning? #2
Right now any values in the
The keys are used to tell APD which other packages your package depends on, but the associated value (where version would be normally) does nothing right now.
The question is this: should we allow devs to specify a version of an atom package they depend on, or is any version good enough? My gut tells me "OF COURSE WE SHOULD BE ABLE TO SPECIFY A VERSION", since packages change all the time, but since apm only allows one installation per package in the
Alternatively, APD could install the most up-to-date version of depended-on packages.
The short answer is no.
Being as Atom has the Service API now, a package should theoretically preserve different versions of its API over the life of the package. Your package then consumes only which version of the API you'd like to use. That being the case, even if the package updates, the package author should make attempts to ensure that old services still function properly.
Now, does this mean that things won't break? No. But if it's breaking often either you're trying to consume a really out of date API or the package you're depending on is miss managing their API and you should look for a different solution.
For that reason I would say leave off the version. As a matter of fact, It'd be nice if you supported an array of package names as well as the obj (for compatibility sake).
FWIW Omnisharp team already extended the same code to support semver : https://github.com/OmniSharp/omnisharp-atom/blob/ab347684122b53cedf620ddd3713f6ddda6c0cae/lib/omnisharp-atom/dependency-checker.ts