Does npm allow you to publish earlier versions of a package? The only documentation I could find was on npm’s site:
[npm-publish] Fails if the package name and version combination already exists in the specified registry.
Once a package is published with a given name and version, that specific name and version combination can never be used again…
So by these specs, could I theoretically publish v3.2.0-beta before publishing v3.1.0, as long as none of those name–version combinations already exist? (I assume the answer is “yes,” but you never know if the author left out what they considered obvious: that version numbers should only increase.)
This is the reason I ask. My current latest version is v3.1.0-beta, and I’ve been doing work on my development branch ever since that release. But now I’m at a point where v3.2 is feature-locked, that is, no new features are to be added. So I feel like it’s time to go ahead and publish v3.2.0-beta and start testing for bugs. However, v3.1.0 (stable) hasn’t been published yet, and I don’t want to wait until that release to publish my beta of v3.2.
So essentially, am I free to publish v3.2.0-beta now, even though v3.1 is still in beta, and then next week, would I still be able to publish v3.1.0 even though it is has a lower version number? Or will npm report an error if I attempt to do so?
Can you point to any examples of packages that have done this? And which version does the latest tag point to: the most recent, or the most precedent (having the highest precedence)?